Django darslari (Mukhammad irmatov) @djangodarslari Channel on Telegram

Django darslari (Mukhammad irmatov)

@djangodarslari


Kanalda python, django va backendga aloqador mavzularda postlar bo’ladi.
Author: Software Engineer at SageGrader(Australia)
Aloqa uchun: @mukhammad_irmatov

Youtube sahifa:
https://www.youtube.com/channel/UCo-bKPTGuDtjJf9JzjvtgNw/featured

Django darslari (Mukhammad irmatov) (Uzbek)

Salom, sevgan do'stlar! Sizni yangi Telegram kanalimizga taklif qilamiz - "Django darslari (Mukhammad irmatov)". Bu kanalda sizga python, django va backendga aloqador mavzularda foydali postlar tajriba va bilim olish imkoniyatini beradi. Mukhammad Irmatov bu kanalning muallifi va uning postlari bilimli va amaliy bo'ladi, chunki u Avstraliyada SageGrader kompaniyasida dasturchi sifatida faoliyat ko'rsatadi. Barcha savollaringiz, takliflaringiz va fikrlaringiz uchun @mukhammad_irmatov bilan aloqaga chiqishingiz mumkin. Ayni paytda, Mukhammad Irmatovning YouTube sahifasiga o'tib, qiziqarli va foydali videolarini ko'rish imkoniyatiga ega bo'lasiz. Ushbu kanal orqali dasturlash sohasida yangi bilim va mahoratga erishishingiz mumkin. Umid qilamiz, sizga foydali va qiziqarli ma'lumotlar taqdim etishimiz siz uchun foydali bo'ladi. Telegram kanalimizga obuna bo'ling va bilimingizni yanada oshiring!

Django darslari (Mukhammad irmatov)

17 Nov, 08:43


Bir do’stimiz AI asosidagi mikro SaaS startupiga Bosh operatsion direktor (COO) qidiryapti. Bu juda ham zo'r imkoniyat.🔥 Eng muhimi ulush (equity) taqdim etiladi! 🤩

Talablar:
Ulush (equity) taqsimlanadi!
To'liq ish vaqti
Ingliz va rus tillarini yaxshi bilish
Kuchli sotuv va rahbarlik ko'nikmalari
AI va SaaS sohalarida tajriba afzallik hisoblanadi

Saas - Software as a Service.

Agar siz yoki tanishlaringiz qiziqsa, DM orqali murojaat qiling! 🚀

DM 👉 @muhammadali_salohiddinov

Django darslari (Mukhammad irmatov)

17 Nov, 08:42


A friend of mine is hiring a Chief Operating Officer (COO) for their AI-based micro SaaS startup. It’s a rare chance to lead and scale a cutting-edge company – with equity included! 🤩

Key requirements:
Equity is shared!
Full-time commitment
Fluent in English & Russian
Strong sales and leadership skills
Experience with AI and SaaS is a big plus

Saas - Software as a Service.

If you or someone you know is interested, DM me for more details! 🚀

DM 👉 @muhammadali_salohiddinov

Django darslari (Mukhammad irmatov)

27 Aug, 15:04


Yakshanba kuni Piskom tog’ining yonbag’rida joylashgan Ispay qishlog’i va sharsharasiga qilgan sayohatimizdan ba’zi suratlarni sizlar bilan bo’lishmoqchiman.

Dasturchi sifatida eng ko’p vaqtimizni kompyuter qarshisida o’tkazamiz, bu o’z navbatida sog’ligimizga salbiy ta’sir qilishi mumkin. Piyoda sayr qilish, ayniqsa, tog’li hududlarga sayohat qilish ham ruhiy, ham jismoniy holatni yaxshilaydi.

Faqat kod yozish va buglarni to’g’irlash bilan band bo’lgan miyamiz toza havo da tiniqlashadi, charchoqlar chiqib ketadi, ko’z ham kompyuter ekranidan uzoqlashib, ancha dam oladi.

Sayohat qiling, salomat bo’ling 🌲

Django darslari (Mukhammad irmatov)

18 Aug, 11:06


Connection Pooling Pgbouncer nima?

Assalamu Aleykum azizlar!. Men Mukhammad Irmatov postlaridan kelib chiqib Pgbouncer haqida qisqacha ma'lumot berib o'tmoqchi edim.

Yuqoridagi postda aytib o'tilganidak Postrgesql har bir kiruvchi client request uchun connection yaratadi. Har bir connection uchun serverdan joy ajratiladi. Qarabsizki 100ta request va 100ta connection, bundan kelib chiqadiki resource to'ladi va PostgreSQL resourlar to'lguncha request larga connection ochib klientlarga javob bera oladi. Bu model Client-Server arxitekturasi deb nomlanadi, albatta sekin, effektivniy hisoblanmaydi. Shuning uchun Connection pool bizga yordam beradi. Bunga bitta misol PostgreSQL uchun albatta PgBouncer.

Pgbouncer bu Connection pool ga javob beruvchi, klient va DB o'rtasida turuvchi middleware protses hisoblanadi. Mijoz Pgbouncerga ulanadi va bir vaqtda pgbouncer DBga ulanadi. Pgbouncer o'ziga katta miqdorda connection so'rovlarni qabul qiladi va pooling yordamida bazaga bo'lgan haqiqiy connectionlarni kamaytiradi. Bunda http requestlarimiz tez ishlashni ham boshlaydi. Sababi har bir kiruvchi http request uchun yangi haqiqy connection ochilmaydi va yopilmaydi, CPU va Memorydan joy ajratilmaydi, bundan kelib chiqadiki baza requestlarni avvalgi holatiga qaraganda tezroq handling qiladi.

PgBouncerni 3 turdagi pool_mode mavjud.
Bular:
1. Session - mijoz sessiyani uzgandan so'ng connection poolga qaytarib beriladi.
2. Transaction - har bir tugatilgan transactiondan so'ng connection poolga qaytadi.
3. Statement - har bir sql so'rovdan so'ng connection poolga qaytadi.

Connection poolga qaytadi va boshqa kirib keluvchi requestlarga javob berishi mumkun bo'ladi. Ko'pgina hollarda Tranction pool_mode ishlatilish tavsiya beriladi.

Django darslari (Mukhammad irmatov)

17 Aug, 18:03


Bu odam nima xohlayotganini asl maqsadi nima ekanligini kimdir tushuntirib bera oladimi?

Yuborgan bot linkini hali start qilmadim, qilaveraymi 😅

P.S. Chat egasini ismi ko’rinmasin deb uchirib qo’ydim

Django darslari (Mukhammad irmatov)

16 Aug, 16:16


Pyramid code example

Pyramid freymvorkida GET va POST metodlarini ishlatishga misol

Django darslari (Mukhammad irmatov)

16 Aug, 16:12


Pyramid nomli Python frameworki bor, O’zbekistonda unchalik ham mashhurlikka erisholmagan bo’lsada, aslida ancha qulay va ko’p imkoniyatli freymvork hisoblanadi.

Django battery-included (hammasi ichida) freymvork bo’lsa, Pyramid minimalistik freymvork hisoblanadi. Kerakli komponentlar ehtiyojga qarab tanlanadi. Django shunday freymvorkki siz unga moslashishingiz kerak, Pyramid esa sizga moslashadi.

Misol uchun django da ma’lumotlar bazasi bilan ishlash uchun o’zini tayyor ORM bilan ishlashga majbursiz (istisnolar bor), Pyramidda istasangiz SqlAlchemy, istasangiz Pony ORM yoki boshqasini ishlataverasiz.

Python uchun veb freymvorklar juda ko’p, hammasini tagida bitta maqsad yotadi, u ham bo’lsa dasturchiga qulaylik yaratish. Barcha freymvorklarda requestlarni boshqarish, URL routing, database bilan ishlash(CRUD) kabi asosiy vazifalarni o’z ichiga olgan.

Siz ham xuddi shu vazifalarni o’z ichiga olgan freymvorkni o’zingiz Python yordamida yozishingiz mumkin. Mustaqil freymvork yozmoqchi bo’lsangiz Jakhongir Rakhmonov ni “Pythonda veb framework yozish” kursini tavsiya qilaman.

Django darslari (Mukhammad irmatov)

15 Aug, 03:28


Bugun olx.uz da tozalash(uborka) kunimi deyman, sayti ertalabdan ishlamayapti. CloudFront ni noto’g’ri sozlab qo’yganga o’xshaydi

P.S. Oxirgi vaqtlar olx da juda ko’p shunga o’xshash muammolar bo’lyapti.
Bu xatolik nimadan bo’lishi mumkin?

Django darslari (Mukhammad irmatov)

13 Aug, 07:03


Connection pooling nima?

Connection Pooling ma’lumotlar bazasiga ulanishlarni(connections) samarali boshqarish uchun ishlatiladi. Database ga yuborilgan har bir so’rov ma’lumotlar bazasida yangi connection ni ochadi va so’rov ga javob berilgach, connection yana yopiladi. Bu jarayon uzluksiz davom etadi, bu esa jarayonni sekinlashishiga olib keladi.

Connection pool esa ma’lumot bazasi bilan bog’langan va so’rov qabul qilishga tayyor bir nechta connectionlarni saqlab turadi. Ma’lumotlar bazasiga so’rov bo’lganda, yangi connection ochmasdan, tayyor connection orqali so’rovlarga javob beradi. Database ga so’rov yakunlangach, tayyor connection yana eski holatda ishlatishga tayyor holatga qaytadi.

Django 5 da yangi qo’shilgan connection pooling va eski versiyalardagi conn_max_age connection poolingni eng oddiy ko’rinishi hisoblanadi. Production uchun app va database orasida pgbouncer ni sozlash tavsiya qilinadi

Django darslari (Mukhammad irmatov)

12 Aug, 19:39


Django 5 versiyasiga vanihoyat connection pool qo’shilibdi.

Django da DB bilan amallar tugagandan keyin, connection darhol yopilar edi. Agar DB ga yangi so’rov yubormoqchi bo’lsa, yana qaytadan connection o’rnatish kerak bo’ladi. Bu esa ko’p bo’lmasada vaqt yo’qotilishiga olib keladi.

Eski versiyalarda connection pool ni conn_max_age orqali qisman amalga oshirsa bo’lar edi, aslida bu connection pool ni ta’minlamaydi, ochilgan connection ni ma’lum bir vaqt yopmay ushlab turadi. Bu usulni yomon tarafi shundaki, agar to’g’ri boshqarilmasa, va vaqtida connectionlar yopilmasa connection pool to’lib qolishiga olib keladi va bu esa DB bottlenack ga sabab bo’ladi.

Yuqoridagi barcha muammolarni django 5 versiyasida yangi qo’shilgan connection pool bilan hal qilsa bo’ladi

Django darslari (Mukhammad irmatov)

17 Jun, 15:58


Qiziq savol tug’ildi, bu talabga mos ekanligini qanday aniqlab oladi, ya’ni bu “qobiliyat” ni aniqlash uchun qandaydir kriteria (o’lchov usuli) bormi?

Siz nima deb o’ylaysiz, bunday kompaniyaga ishga kirgan maqulmi yoki aksinchami?

Django darslari (Mukhammad irmatov)

15 Jun, 19:18


Xakerchalar(yoki botlar) mockexam.uz platformasini php da qilingan deb o’ylayapti shekilli. Qandaydir zaif joyini qidiryapti anchadan beri, SQL injection ham, DDOS ham qilib ko’rishdi, hozircha security o’z joyida.

Dastur xavfsizligini ta’minlashda standartlarga amal qilinsa + Cloudflare yoqib qo’yilsa, shuni o’zi 99% hujumlarni to’xtatib qoladi.