uz
Feedback
Programming ∀

Programming ∀

Kanalga Telegram’da o‘tish

Ushbu kanalda IT va Dasturlashga aloqador mavzularda subyektiv fikrlarimni bayon qilaman.

Ko'proq ko'rsatish
1 217
Obunachilar
Ma'lumot yo'q24 soatlar
-87 kun
-3530 kun
Postlar arxiv
Nodejsdagi builtin profile ishlamayabti. App run bo'lib prosto qotib qoladi 🫠 Nodejs shunchaki random yechimlar bla.
Nodejsdagi builtin profile ishlamayabti. App run bo'lib prosto qotib qoladi 🫠 Nodejs shunchaki random yechimlar bla.

Dasturlash haqida umuman tassavur qilmagan inson 2 kunda nima qila olishi juda qiziq :) Bu sohada umuman izlanib ham ko'rmay
Dasturlash haqida umuman tassavur qilmagan inson 2 kunda nima qila olishi juda qiziq :) Bu sohada umuman izlanib ham ko'rmay 2 kunda backend va frontend farqini aytib bersa katta gap deyishingiz mumkin. Ammo 99.99% odam qilolmaydi desak ham 0% emasku qisqasi umid bor. Safimiz kengayyabti 😁

Backendagi muammolarni bazilarini til misolida ham aytdim. Yana bir muammolardan biri esa architecturial problems. Bunga misol clean architecture approaches etc... Yani biz business uchun code yozyabmiz deymiz-ku ammo kegin system problemlarga kelganda anchagina muammolarga duch kelamiz. Malan DB uchun repository degan layer o'ylab topamiz. Ammo bizda brokerlar ham mavjud, ho'sh endi nima qilamiz ? Brokerlardagi pub/sub functionality ham repository bo'ladimi ? Bazi projectlarda esa DI qilishni sevishadi uning uchun ham ortiqcha code yani package ishlatishadi, nodejsda ham bunaqa momentlar judayam ko'p aynan shunaqa narsalardan ham qanaqadir ma'no ko'rmayman. Bizga auto DI kerak emas type levelda aniq qilib manual DI maqul deb bilaman. Masalan bazi funksiyalar faqat ma'lum tiplar bilan ishlay oladigan funksiyalarni qabul qilishi mumkin, sodda va oson DI va dependency inversionga ham mos keladi. Hullas o'zim aytadigan bazi gaplarimga hulosalarimga qanday kelib qolganim haqida qisqaroq aytishga xarakat qildim 🙂

Script tillarni va dinamik tiplarni sevuchilar borib borib code analyserlarga ishlari tushadi. Paradox shundaki ularni ideologiyasi bo'yicha mos kelmagan narsalar bor aynan o'sha code analyserlarda. Masalan linterlarda global variable declaration o'chiriladi. Agar yozsa CI yiqiladi. Bazilar linterlar bilan object mutationlarni ham o'chiradi. Bir projectda eslint setup qilgunimcha ancha vaqtim ketgan edi, shu o'rinda sonarQube degan static analyser ham ishlatganman. Ha static analyserlar security issuelar ham topib beradi lekin boshqa narsalarniyam check qiladi. Qisqasi bularni hammasini tog'irlab chiqgunimcha ancha vaqtim ketgani esimda. Analyserlardan qaytgan issuelarni fix qilishga esa yana ancha vaqt ketgan. Mavjud bo'lgan airbnb yoki google kabi standartlarning imkoniyatlari kamlik qilgani uchun project uchun maxsus rulelar qilingan. U payitlar compiler tillarni bilmaganim uchun ham ancha sarson bo'lganman. Aynan o'sha projectda mutationlar shunaqangi ko'p bo'lganki biror muammo qayerda chiqayotganini topish uchun adashib qolar edingiz. Debuggerda har bir steplarni ko'rib chiqish kerak bo'lar edi. Oradan vaqtlar o'tib Elixir bilan tanishdim, elixirda juda ko'p suggessionlar bor edi, kichik code examplelarda ham o'zim qilib ko'rgan todo appchada ham ancha yaxshi tasurotlar qolgan edi. Kegin Rust bilan tanishdim, boshida yoqmagan qanaqadir g'alati pattern matching va nolayveradigan compiler 🫠 Birnecha kun siqilib bularni ideasini tushunganman, rust typesystem yaxshi va qattiq qaraydi juda ko'p narsalarga. Aqilli compiler sizni ancha narsalardan qutqarib qoladi. Elixirda tiplar rust kabi bo'lmagani uchun ham tiplar ideyasini unchalik tushunmasdan rust o'rganar edim. Ammo kegin mazza bo'ldi, rustda biror jiddiyroq narsa qilmadim ham lekin immutability va typesystemning qanchalik yoqimli ekanini tushundim. Agar biror narsa qilayotgan bo'lsam manda savollar ko'payib ketadi, qisqasi perfectionism bor. Ko'pchilik bunga qarshi kurashadi over engineering deydi yana boshqa narsalar. Ammo manda unaqa emas qanday bo'lsam shunday bo'lishga va o'zimni qabul qilishga o'rganganman. Agar biror narsa yoqmasa tandiq qilishga agar aqlim yetsa o'zgartirish kiritishga urinaman. Bunday narsa bazida insonlarga yoqmasligini esa yaqin 2-3 yilda tushunib yetdim. Insonlarning katta qatlami ko'p narsa oson bo'lishini istaydilar ammo vaqtlari va energiyalarini turli force majorlarga to'laydilar. Bunday uslub esa insonlar biror narsaga mantiqiy ta'rif berolmasa ham hamma qilgani uchun qilib ketaverishga o'rgatib qo'yadi. Mani holatimda bunaqa narsaga ko'nikish imkonsiz, agar biror narsa nega qilinayotganini tushunmasam qilishni istamayman. Insonlar xato qiladilar va hamma joyda xato, kamchiliklar bo'ladi. Buni tushungan holatda eng kam xato va kamchilikga erishish mumkin, ideallikning obyektiv modeli esa yo'q. Lekin birqancha parametrlar asosidagi o'lchovlar mavjud deb bilaman. Huddi shu o'lchovlar va parametlar biro nimani belgilash, hulosaga kelishda effektivlikni oshiradi. Aynan shunday dunyoqarash va fikrlash bilan Functional Programming ideyalari manga ko'proq mos kelganini tushunganman. Manga ikki domain qiziq bo'lgan. 1. Serverda ishlaydigan dasturlar uchun muhit. 2. Serverda ishlaydigan dasturiy ta'minot qurish. Ikki masala ham juda ko'p muammolarga ega. Masalan 1-masalada xozir Kubernetes texnalogiyasi standartga aylanib qolgan. Ammo kubernetes mutable infrastructure. Soddaroq misol aytadigan bo'lsak containerlar g'oyasi juda zo'r ko'ringani bilan yetarlidan ko'p muammolari bor. Misol uchun containerlar uchun memory prediction qilish algorithmlari ko'pincha ishlamay qoladi. Aslida runtime uchun bunday mexanizm ham tog'ri. Lekin Layerlar sabab bu masalada anchagina ortiqcha ishlar amalga oshirish kerak bo'ladi... Shu sabab ham juda ko'p muhitlarda docker ko'p memory istemol qivoradi.

Repost from UzGeeks Community
Assalom alaykum!!! UzGeeks'da Python kuni! 📆 24-avgust, shanba kuni Toshkent shahri Raqamli texnologiyalar vazirligi binosid
Assalom alaykum!!! UzGeeks'da Python kuni! 📆 24-avgust, shanba kuni Toshkent shahri Raqamli texnologiyalar vazirligi binosida "UzGeeks August2024 Python Day Meetup" bo'lib o'tadi. 📚 Meetup quyidagi bo'limlardan tashkil topgan: 1️⃣ "Queue va stack pythonda qanday ishlaydi?" - Xojarbu Xaitmetova (Software Engineer, Epam) 2️⃣ "CPython qanday ishlaydi?" - Bobosher Musurmonov (Senior Software Engineer, Epam) 3️⃣ "Odoo bilan birga yuklasamiz! Low Code, No Code..." - Erkin Isoyev (UIC Group, Aurora+) 4️⃣ "Python da sun’iy intellekt bilan ishlash" - Ayubxon Ibrohimzoda (Python backend o'qituvchi, Ustudy IT Akademiya) 🕰 Meetup odatiy ravishda bepul bo'lib, soat 14:00 da boshlanadi, unda qatnashish uchun UzGeeks saytida ro'yxatdan o'tish kerak. Manzil: Toshkent shahar, Mirzo Ulug'bek tumani, Muminov ko’chasi, 4A(Raqamli texnologiyalar vazirligi binosida) Hamkorlar: O'zbekiston Respublikasi Raqamli texnologiyalar vazirligi Raqamli ta'limni rivojlantirish markazi Thinkland 🌐 UzGeeks.uz

Bobosherga savol berishga Cpythoni o’rganish ham kerak hali 😎

Banklar ko’zimga doyim qonuniy scam bo’lib ko’rinaveradida negadir 🥲

Birqancha tanishlarim fitness uchun steroidlarni qabul qilib bazi organlarni buzib qo'ygan yoki garmonal buzilishlarga uchragan. Huddi shunday zararlarni bazilar ozish yoki semirish amaliyotlarida ham sinab ko'rgan. Biz jismoniy zararni sezamiz, organizm biror otkaz signalini berishi orqali org'riqni his etamiz. Ammo xozirgi zamondagi turli propaganda qurbonlari manaviy zararlarni sezishmaydi, tog'rirog'i hechkim sezmaydi. Propaganda oqibatda miyyaga quyilayotgan yengil manaviy ozuqani yuqorida aytilgan turli gormon va steroidlarga o'xshataman. Ikkisi ham jismonan ham aqlan bizni xarob qiladi. Ammo axmoqlashishdan inson o'ziga hechnima sezilmaydi sababi bilimsizlik birinchi inson ko'zini ko'r, qulog'ini kar qilib qo'yadi.

Lekin yana bir haqiqat :) abstractionga ishonib harnima qolayotgan tupoy engineer va faqat businessni o’yaydiganlar insonlar har yili yangi device olyabti :)

Qisqasi agar boshidan yaxshi learning qilmasangiz kegin qiyinlashib ketaveradi hammasi. Ishtaha ochilib kattaroq joyda kattaroq ish qilgiz keladi ammo skill issuelar sabab uyalib yuraverasiz 🥲 Yosh o’tgan sari learning qiyinlashadi, miyya tormozlashadi. Shu sabab yoshlikda bilimni bosish kerak ))

Yana bir narsa, sizning level oshib borgani sari learning curve doirasi ham kengayaveradi. Masalan: Sizga youtubedagi video kabi streaming berildi, live emas shunchaki katta filelarni stream qilish. Nima deb o’ylaysiz instagram kabi 1 daqiqalik video filelarni stream qilish bilan large video filelarni stream qilishda qanaqa farq bor )) Eng oddiy muammolardan biri video codeclar bilan bo’ladi 🙂

https://t.me/aIfarghani/1634 Fikrimcha hamma narsada fundament mavjud. Masalan yaxshi frontendchilar barbir JSni boshqalardan ko'proq biladilar, kerak bo'lsa code qanday execute bo'lishini ham tushunadilar. Bunday fundamental bilimlar esa ularga shunchaki perfomance code yozish uchun emas kengroq qamrovda ham muammolarni hal eta olish uchun yordam beradi. Masalan nodejschiga ASM kerak emas. Ammo agar nodejsda backend yozayotgan bo'lsa unga fundamental mavzularni yaxshi bilishi kerak yoki shart bo'ladi ! Man nodejsdagi ko'p narsalarni uje esdan ham chiqarib yuborganman, huddi ishlatilmayotgan keraksiz bilimdek miyyamda yotadi. Lekin bir nuans bor, shu bilimlar biror narsani tushunishimga, ko'pchilik hal eta olmagan muammoni hal etishimga katta yordam bergan. Masalan bir loyihada memory issue yuzaga kelgan edi, requestlar juda kam bo'lsa ham 6-8GB memory sarflar edi. Rossa qidirib topolmaganmiz, oradan biroz vaqt o'tib miyya biroz tinchigan paytida perf-mem esimga tushib qolgan va shu flame graphlar bilan muammoni topganman. Nodejs 12.x versiyada timerlarda katta memory yeyishi haqida hechkim yozmagan edi, yoki man topolmaganman. Keyingi muammosi esa buffer edi, biz foydalangan X packageda barcha ma'lumotni oldin memoryga yeg'ib olib kegin ishlatar edi. Buni o'rniga esa stream bilan ishlash mumkin. Agar paytida linuxni yaxshiroq o'qimaganimda va shu perf kabi toolar bilan tanish bo'lmaganimda nima bo'lar edi ? U payitlar ishlayotgan projectlarim xozirgidan anchagina kichik hajmli. Bu gaplar ham taxminan 4-5 yil oldingi adashmasam. Huddi shunga o'xshagan narsa yana boshqa projectda bo'lgan. Nodejs projectda threadlar ishlaishgan, ammo deadlock bo'lib qolgan. Buni qilgan odam esa shunchaki multi threading haqida bitta videocha ko'rvolib bosvorgan oqibatda tupikga kirgan. Undan kegin boshqa muammo chigan, channellar bilan, threadlar main threadga signal beradi. Bunaqa payitda esa orderlar buzilib ketgan, aynan o'sha holatda IPC vs shared memory mavzusi katta yordam bergan. Qisqasi o'zingiz ishlaydigan domainda low levelgacha tushish kerak. Out of stack ham fikrlay olish kerak. Juda ko'p nodejschilar oddiy threadpool nima ekanini bilishmaydi. Oqibatda o'z muammolarini o'zlari ko'paytirib o'tiraverishadi bunaqa narsalarga juda ko'p duch kelganman. Skill issuelar sabab ko'pchilik o'ziga bahona va chegaralar qo'yib oladi. Agar siz faqat o'zingizni stack bo'yicha fikrlaydigan bo'lsangiz demak rivojlanmaysiz va ko'zingizga shu eng yaxshisi va bundan zo'ri yo'q bo'lib tuyilaveradi. Agar siz out of stack bo'lmoqchi bo'lsangiz siz uchun eng birinchi kerakli narsa bu fundamental bilimlar. Backendchimisiz ? OS qanaqa ishlashini o'rganib qo'yish sizni qachondir bo'lishi mumkin bo'lgan katta ko'ngilsizlikdan aniq qutqaradi.

Chang mavsumini rasman ochiq deb elon qilaman 😎

https://t.me/uzbekfintech/1011 Orasida sal tayinlirog’i uzum, express24 qimmat oladi, kech olib keladi, ovqatlar ustiga ham pul qo’yadi. Yandex oldindan molxona edi haliyam shu axvol. Yetkazib beradiganlar juda tartibsiz. Uzum biroz tayinlisi manimcha, yetkazib berishda kam xato qiladi. Narxlari ham juda yomonmas. Local servislar rivojlanishi juda zo’r, ammo express24 holatida uni qo’llash arzimaydi deb bilamam. Bugun ham 25-35daqiqalik buyurtma 70-80daqiqaga cho’zildi va kelmadi. Support ham o’lik, express24ni boshqa umuman ishlatmayman ! Asabiy bo’limaslikni hohlasangiz foydalanmang. Express24 ko’p xalta qilyabti narxda ham servisda ham juda tresh.

JSda tuple yo'q demak JSONdagi JS so'zini chopsak on qoladi. Hullas nomni kegin o'ylimiz ))

Bu mavzu juda ham qiziqtirib qo'ydi, o'rganishga arziydigan mavzu parsing. Aynan shu exprimentlar doirasida esa yana bir g'oy
Bu mavzu juda ham qiziqtirib qo'ydi, o'rganishga arziydigan mavzu parsing. Aynan shu exprimentlar doirasida esa yana bir g'oya kelib qoldi. Masalan JSONni yana bir modifed versiyasi bor GeoJSON, shundagi pointlar uchun tip qilsa bo'ladi, tipni esa tuple qilish mumkin 🙂 masalan

{
    "cordinates": (125.6 10.1)
}

Uhlamaganim bekor ketmadi. Qiziq Javascriptda shuncha yil ishlab aslida JSON nima ekani, nimalarni support qilishi, qanday sy
+1
Uhlamaganim bekor ketmadi. Qiziq Javascriptda shuncha yil ishlab aslida JSON nima ekani, nimalarni support qilishi, qanday syntaxda bo'lishi kerak ekani haqida o'qib ko'rmagan ekanman. Haskellda json parser qilyabman(copy paste albatta). Prikol shundaki man parser qilmoqchi edim. Ammo maqolada oldin parse qilinishi kerak bo'lgan narsani o'zi nima va qanday tuzilganini juda ham ajoyib tushuntirgan. Go'zallik !

Repost from shakhzod's lab
here's the thing: my teacher who first teach me css back in 2014 recently asked me can i help him to start doing backend. i agreed and today was the first meet. i didn't plan to record it at all, but since he proposed to record and agreed to share it, i'm uploading these sessions on my channel. called it backend nights the video itself is recorded from the mid of conversation. hope it'll help you or your friends. leave comment if you don't understand or have troubles understanding something. i'll be happy to help https://www.youtube.com/watch?v=fKoLAsvmUvs p.s. video is still uploading, and soon will be available