Davronbek | SWE 🪐 – Telegram
Davronbek | SWE 🪐
730 subscribers
620 photos
97 videos
66 files
469 links
SWE: (Python | Go)

- Loyihalardagi xatoliklar va ularni xal qilishdagi ba'zi tavsiyalarni yozib boraman.

Don't be shy, say hi 👋 | @firdavs_dev | https://davronbek.dev
Download Telegram
Forwarded from Jakhongir Rakhmonov - IT
Bu narsani har bir backend dasturchisi bilishi shart

Backendni jiddiy o‘rganaman degan dasturchi albatta Distributed System lar haqida o‘rganishi kerak. Chunki minglab, millionlab foydalanuvchilar ishlatadigan sistemalar distributed bo‘lmasdan ilojisi yo‘q.

Distributed System lar bir nechta qismlardan, bir nechta ma’lumotlar bazasidan tashkil topgan bo‘ladi va ushbu qismlar bir biri bilan network orqali gaplashishadi. Bunday holatda esa har doim ham hamma narsa siz kutgandek ishlayvermaydi. Qandaydir muammolar bo‘lib turishi aniq, ayniqsa network bilan. Biror serverda internet sekin ishlashi mumkin, qandaydir DNS muammo bo‘lishi mumkin, packet loss bo‘lishi mumkin va hokazo. Xullas bunday muammo bo‘lishi aniq, 100%.

Shunday holatlarga sizning tizimingiz tayyor bo‘lishi kerak. Oldindan shunday network muammo bo‘lsa nima qilamiz deb o‘ylab qo‘yish kerak.

Bunda bizga CAP nazariyasi yordam beradi. Unga ko‘ra sistemalarda uch xil xususiyat bor:

- [C] Consistency - Ma’lumotlar bazasidan sistemaning barcha qismlari nimadir o‘qimoqchi bo‘lganida eskirib qolgan ma’lumotni olmaydi, eng oxirgi yozilgan ma’lumotlarni oladilar.

- [A] Availability - Tizim har doim ishlab turadi.

- [P] Partition tolerance - Network bilan muammo bo‘lganda ham tizim kutilgandek ishlaydi.

Tepada aytib o‘tdikki network bilan muammolar har doim bo‘ladi va ushbu nazariyaga ko‘ra siz faqatgina yoki Consistency ni yoki Availability ni tanlashga majbursiz. Ikkalasini birdaniga tanlay olmaysiz. Ya’ni sizda har doim P bo‘ladi, siz C yoki A ni tanlashingiz shart.

Masalan sizda Master database va uning replikasi bor. Foydalanuvchilar Masterga yozadi, ma’lumotlarning nusxalari replikaga boradi va replikadan foydalanadiganlar eng oxirgi (ya’ni consistent) ma’lumotlarni o‘qiy oladilar.

Deylik qandaydir network muammo bo‘ldi va master bilan replika orasida bog‘lanish uzildi.

Endi sizda ikkita yo‘l bor:

Birinchisi - consistency ni prioritetga qo‘yish, ya’ni CP. Master ishlayveradi, replicaga kelayotgan requestlar esa "Database unavailable" degan xatoni oladi.

Ikkinchisi - availability ni prioritetga qo‘yish, yani AP. Master ham replica ham ishlayveradi. Lekin bir biriga yozilgan ma’lumotlarni jo‘natishmaydi. Consistency yo‘qoladi. Foydalanuvchilar eskirib qolgan ma’lumotlarni ko‘rishi mumkin.

Qaysi birini tanlash esa holatga bog‘liq.

Masalan siz Netflix quryapsiz. Agar foydalanuvchilar sal-pal eskirib qolgan ma’lumotlarni ko‘rsa qo‘rqinchli emas Netflix uchun. Shuning uchun ham bu sistemani AP qilish kerak, availability ni prioritetga qo‘yish kerak.

Yana bir misol. Deylik siz biror avialiniyaning sistemasini quryapsiz. Unda parvozlarni qidirish funksiyasi mavjud. Bu holatda ham AP qilgan, ya’ni availabilityni muhib deb topish to‘g‘ri. Chunki foydalanuvchilar sal-pal eskirib qolgan narxlarni ko‘rsa ham unchalik qo‘rqinchli emas. Amma umuman qidira olishmasa - qo‘rqinchli.

Lekin chipta sotib olayotganda esa CP qilish shart. Consistent bo‘lishi kerak. Ma’lumotlar aniq va so‘ngi bo‘lishi kerak. Aks holda bitta o‘rinning chiptasini bir nechta odamga sotib yuborishingiz mumkin. Bu esa - qo‘rqinchli.

@jakhonrakhmonov
👍13🔥331
This media is not supported in your browser
VIEW IN TELEGRAM
GDG DevFest shu yerda

DevFestga kelganlar izohga yozing.
5🔥1🤝1
AsyncIO - Complete Guide to Asynchronous Programming with Animations

p.s) Uyqu oldi miyaga dam berish uchun:)

(intreview'larda kerak bo'b qolar yoki loyihangiz uchun)

* [more]
* [more]
5🔥221👍1🎉1
Davronbek | SWE 🪐
AsyncIO - Complete Guide to Asynchronous Programming with Animations p.s) Uyqu oldi miyaga dam berish uchun:) (intreview'larda kerak bo'b qolar yoki loyihangiz uchun) * [more] * [more]
#surovnoma

Ko'pchilik async'ni YouTube yoki LLM orqali o'rganmoqda

Muammo shundaki ular savolga javob beradi lekin savolni to'g'ri qoyib bermaydi yani noto‘g‘ri savolga ham ishonch bilan javob beradi, kodni ishlaydigan qilib yozadi lekin to'g'ri qilib emas

* Async'da esa eng xavfli joy shu:
Ishlayapti - hali to'g'ri ishlayapti degani emas. YouTube va LLM sizga async/await kod yozishni o‘rgatishi mumkin lekin ba'zida qachon uni yozmaslik kerakligini, qanday qaror qabul qilishni o'rgatmaydi.

Siz async bilan ishlayotganda qaysi joyda kuproq qiynalgansiz?
- qachon ishlatish kerakligi
- qanday qilib togri ishlatish
- yoki qachon umuman ishlatmaslik kerakligi

Izoh 📝👇
Please open Telegram to view this post
VIEW IN TELEGRAM
6🤷‍♂2👍21
Savol so'raganlarga qisqa javob:

Python Thread'lar yomon degan gapni ko'p eshitamiz.
Aslida esa bu gap aniq, to'liq ma'lumot emas...

Thread'lar C/C++ da ishlaydi.
Python'da esa GIL va context switching sabab muammo chiqadi

AsyncIO thread'larni almashtirish uchun emas.
AsyncIO I/O muammosini boshqacha hal qilish uchun yaratilgan.

p.s) Qiziq bo'lsa long read maqola yozish rejasidaman :))


* Tavsiya, ba'zi yaxshi case'lar topishingiz mumkin - [more]
👍42🔥1🎉11
#xato #tajribalar

Eng katta xato - async'ni hamma joyda ishlatish aslida...

Menda ham production'da async ishlatib
keyin uni o'chirib tashlagan joylarim ham ko'p bo'lgan.

Async'ni qurol deb bilsak,
qachon ishlatishni bilmasak o'zimizga qarshi ishlaydigan qurol bo'ladi...

Shu sabab async ishlatishda savol shunaqa bo'lishi kerak:

WHY → WHEN → HOW
🔥732🎉1
Hozirgi kunda AI agentlardan foydalanish... 😅

AI fikrlashni tezlashtirishi kerak,
O’g’irlashi emas.

Aks holda kasbimiz nomi sekin o’zgaradi:
Software Engineer
Prompt Operator

#lazy #meme
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🤣5🔥3😁1🎉1
Hammaga salom👋
Odatda tez-tez so‘rovnoma yubormayman.

Hozir AsyncIO [python] bo'yicha maxsus kurs platformasi ustida ishlayapman.

Maqsad - faqat nazariya emas balki real production case'lar asosida o’zbek tilida video darslar tayyorlash.

Buni imkon qadar foydali qilish uchun sizning fikringiz juda muhim.

Shu sababli 2-3 daqiqa vaqt oladigan qisqa so‘rovnoma tayyorladim darajangiz qaysi joylarda qiynalayotganingiz va sizga haqiqatan nima kerakligini tushunish uchun.

👉 So'rovnoma

🎁 Bonus: so'rovnomani to'ldirgan barcha ishtirokchilar uchun keyinroq maxsus bonus ham bo'ladi.

Oldindan rahmat ) 🙌
Please open Telegram to view this post
VIEW IN TELEGRAM
10👍4🔥41
Davronbek | SWE 🪐
Hammaga salom👋 Odatda tez-tez so‘rovnoma yubormayman. Hozir AsyncIO [python] bo'yicha maxsus kurs platformasi ustida ishlayapman. Maqsad - faqat nazariya emas balki real production case'lar asosida o’zbek tilida video darslar tayyorlash. Buni imkon qadar…
So’rovnomaga qatnashga hammaga rahmat.

So’rovnomadan kurib turibdiki muammo asosan midldle dasturchilar o’rtasida ham ko’p muammolar va qiziqish bildirishganlarini.

Ko’p savol kelibdi, LLM yoki YouTube ko’rib o’rganilsa ham bo’ladiki deb:
- YouTube va LLM sizga async/await yozishni o’rgatadi.
Bu kurs esa qachon uni yozmaslik kerakligini va qanday qaror qabul qilishni o’rgatadi. LLM sizga kod yozib uni ishladi qib berishi mumkin, lekin ishladi degani doim ham to’g’ri ishlamoqdq degani emas

Yanvar oyi kurs 1 moduli tugatish reja qilinmoqda:
Module 1 — Nega Async Mavjud

(Foundations & Computer Science context)
* Blocking I/O muammosi
* Thread modeli: qayerda ishlaydi, qayerda yo‘q
* GIL va Python’dagi cheklovlar
* Event-driven arxitektura qayerdan paydo bo‘lgan
* AsyncIO nimani hal qiladi, nimani hal qilmaydi

Takliflar bo’lsa bemalol: ✏️
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6👍31🎉11
Forwarded from Dr. Algorithm
Dasturchining odatlari

O‘zbekiston dasturchilari juda qimmat!


Shu gapni eshitganmisiz? Bu gapni o‘zimizdan emas, chet davlatida turgan va dasturchi yollamoqchi bo‘lgan korxonalar aytadi. O‘ylab qarasam, rostdan ham bizda dasturchilar qimmatga aylanar ekan.

Keling shuni o‘ylab ko‘ramiz, nima uchun bizda qimmat?


1. Daraja.

O‘quv kursini tamomlagan odam o‘zini Junior dasturchi deb biladi. 2-3 yil ishlagan dasturchi esa Middle bo‘ldim deydi. 5 yilda Senior bo‘lgan odamlarni ko‘p uchratasiz.

Daraja vaqt bilan o‘lchanadimi?


Albatta, yo‘q. Chunki u o‘zining ustida ishlamagan bo‘lsa, 10 yildan keyin ham Junior bo‘lib qolaveradi.

Unda nima uchun odamlar o‘ziga daraja beradi?


Sabablaridan biri o‘zini boshqa odamga qimmatroqqa sotish. Sizni sotish bilan shug‘ullanadigan korxonalar ham shuni maqsad qilgan. Sizni kichik darajada sotib olib, katta darajada sotsa, foyda ko‘proq bo‘ladi. Siz rostdan ham Juniordan Middlega chiqdingizmi, unisi keyingi masala bo‘lib qoladi.

2. Soft skill

Bilamiz-ki, dasturchining biror texnologiyani bilishi Hard skill deyiladi. Buni bizning o‘quv kurslarimiz sochib tashlashmoqda. Bitiruvchilar rostdan ham texnologiyalarni zo‘r bilib chiqishmoqda. Ammo...

Shu intizom kabi soft skill’larni hamma joyda ham o‘rgatishmaydi.


1. Vazifaga mas’uliyat bilan yondashish.
2. Tushunmasa savol berish.
3. Majlis (call)ga vaqtida kirish.
4. Vazifaning holatini izohlarida yozish.
5. Xabarlarni shaxsiydan emas, guruhda yozish.
6. Hujjat yozish (documentation)
7. Email ishlatish. 
8. O‘ron (parol)ni Password managerda saqlash. Qog‘ozda emas.
9. Vazifalarini qilib bo‘lgan bo‘lsa, backlogdan vazifa izlash.
bu ro‘yxatni hali ko‘p davom ettirsak bo‘ladi.

3. Jamoada ishlash.

Ko‘p dasturchilarimiz "yolg‘iz bo‘ri" holatidan chiqa olishmaydi. O‘rmonda bir o‘zi ov qilishda qolib ketishadi. Korxonalarda esa, hatto kichik korxona bo‘lsa ham, jamoada ishlay oladigan odam kerak.

Buni o‘rganish uchun bizda choyxonalar bo‘lar edi. Agar Abdulla Qodiriy davridagi choyxonani olsangiz, odamlar osh ustida yig‘ilganida kitob tahlil qilishgan, biror kishi muammosini hal qilish ustida bosh qotirishgan, mahallaga biror yordam kerak bo‘lsa, qanday tashkil qilishni gaplashishgan.

"Menga nima?" - deyishmagan ekan-a?


Bu madaniyatimizda bo‘lgan. Bu jamoa bo‘lishga va jamiyat shakllanishiga yordam bergan usul. Hozirgi nomlari:
- Networking
- Small talk
- Volunteering
- Donation
deb ataymiz.

Vaholanki aynan shu narsalar bor:
+ Tanishish (tanish bilish orttirish)
+ Holidan xabar olish 
+ Hashar
+ Ehson

Manimcha, biz nimanidir xato qildik.


Bu narsalar mahallada, choyxonada o‘rganilgan. Hozir choyxonalarimiz ovqat yeyish va telefonda o‘yin o‘ynashdan iborat.

~~~

Agar oylik maosh chet ellik dasturchilarniki bilan bir xil bo‘lsa, nima uchun bizning dasturchilar qimmat dedingiz?


Bunga sababim bor. Chunki, agar darajamizni o‘zimiz tanlab olsak, intizom ustida ishlamasak va jamoada ishlashni o‘rganmagan bo‘lsak, bu chet el korxonasi uchun qimmatga tushadi degani. 

Tasavvur qiling, man $3,000 ga dasturchi ishga olmoqchiman. Sharqiy yevropadan xodim olganim yaxshimi yoki O‘zbekistondan? 

+ Bizning dasturchi kuniga 8 soat ishlamaydi, 10-12 soat ishlaydi. Yevropalik 8 soat bo‘lishi bilan ishni to‘xtatadi. 
+ Biznikilar dam olish kunlari ham ishga chiqa oladi. Ular esa dam olishi kerak. 
+ Biznikilar texnologiyani zo‘r biladi. Ular muammoni qanday yechishni.
+ Biznikilar bitta o‘zi tez kod yoza oladi. Ular jamoada yaxshi ishlaydi. 

bu ro‘yxatning qaysi tomoni biznes egasi uchun foydali. Chap tomoni unumlimi, yoki o‘ng tomon?

Aynan shu kabi tahlillarni qilgan chet ellik korxonalar bizdan kamroq dasturchi olishmoqda. 

Yechim

Biz unutib qo‘ygan amallarimizni tiklashimiz kerak. Hozir uyqudamiz.
+ Intizom - intizomni tiklashimiz kerak. Har bir kishi ishni o‘z vaqtida qilishni boshlashimiz kerak. 
+ Mas’uliyat - yolg‘onni yo‘qotsak, va’dani ustidan chiqsak, buni ham eplaymiz. 
+ Jamoa - biz jamoa bo‘lib yashaydigan millatmiz. Birga rivojlanishimiz kerak. Qo‘limizdan keladi.

#dasturlash #odatlar

30.12.2025 London
@DrAlgorithm
124👍2🔥2🤝1
Davronbek | SWE 🪐
2024-yil sarhisobi 🗒️ Alhamdulillah, bu yil shaxsiy va professional rivojlanishda muhim qadamlarning kichiklari bo’ldi deb o’ylayman: - Karyera: Go tilini o’rganib, Django va Vue.js bo’yicha tajriba oshirildi. - Life balans: Sog’lom ovqatlanish va…
Do'stlar.

2026-yilda barchangizga mustahkam sog‘liq, oilaviy tinchlik-xotirjamlik hamda rejalashtirgan barcha orzu va maqsadlaringizga yetishingizni tilab qolaman.

2025-yildagi tajribalarimiz uchun barcha bug, error va mummolarga rahmat 😉

Men bu yerda sizlar bilan dasturlashdagi o’z tajriba, xatolarim haqida ulashishda davom etaman, birgalikda o‘sishimizni hoxlayman 🚀

Hammaga rahmat va omad )
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11👍52
Please open Telegram to view this post
VIEW IN TELEGRAM
😁5👍2🔥11
But Why?

Uyqu oldi savollar🧠:

• Why is everything a file in Linux?
• Why does reading 1 byte load 4KB from disk?
• Why only 0 and 1? Why binary? (not 1, 3..)
• Why computers can’t generate true random numbers?
• Why are goroutines so cheap in Go?
• Why is malloc/free slow?
• Why is everything an object in Python?

#butWhy
🤷‍♂6🤨3🤔2🤣2🔥1