Django darslari (Mukhammad irmatov)
1.47K subscribers
64 photos
15 videos
4 files
69 links
Kanalda python, django va backendga aloqador mavzularda postlar bo’ladi.
Author: Software Engineer
Aloqa uchun: @mukhammad_irmatov

Youtube sahifa:
https://www.youtube.com/channel/UCo-bKPTGuDtjJf9JzjvtgNw/featured
Download Telegram
Yakshanba kuni Qizilnura cho’qqisini(3267metr) zabt qildik
🔥7😁1
Qizilnura - tepasida doimo qor bo'ladigan, quyosh tushganda qizg'ish rangda tovlanadigan, Chotqol tizmasining eng baland(3267 metr) nuqtalaridan biri hisoblanadi. O'tgan hafta tur firmalar tarafidan aynan shu yerga sayohat e'lonini ko'rdim va ro'yhatdan o'tdim.

Yakshanba kuni soat 5:30da 15 kishilik guruh bilan Kumushkon suv xo'jaligi hududi yonidan cho'qqiga ko'tarilishni boshladik. Hozir bu hududlar O'zbekiston temiryo'llari tasarrufiga o'tkazilgani uchun, bu hududlarga maxsus ruxsatnomasiz kirish mumkin emas. Yo'lning 8-kilometrida hudud xodimlari uchun mo'ljallangan vagon konteyner turibdi, ichida esa hech kim yo'q.
🔥8👍5😁2
Yakshanba kuni Toshkent shahrida harorat 40+C bo'lgan bo'lsa, tog' tepasida esa salqin komfort havo. 2500 metr balandlikdan tepaga bahor yaqinda kirib kelgandek, hammayoq yam-yashil o'tlar bilan qoplangan, moychechakka o'xshash mayda o'tlar esa gullab turibdi.

Cho'qqiga ko'tarilishda eng qiyin qismi yo'lning oxirgi 500 metri hisoblanib, xavfli tosh-shag'al yo'llardan iborat. Diqqatni yo'qotilsa, sirpanib pastga tushib ketish hech gap emas.
Qizilnura cho'qqisidan Parkent tumani, Toshkent shahri,Oqsoqotasoy, Chotqol qo'riqxonasi va Shovvozsoy taraflar ham bemalol ko'rinib turadi, ajoyib manzara. Tepada havo harorati taxminan +5, +10 daraja iliq, ammo kuchli shamol esib turar ekan. Cho'qqi atroflarida esa hali hanuz ancha qor bor edi.

Cho'qqiga ko'tarilish ham muvaffaqiyatga erishish uchun bosib o'tiladigan yo'lga o'xshaydi. Muvaffaqiyatga erishish uchun ham bir maqsad belgilanib, o'sha maqsad yo'lida qat'iy ishonch bilan harakat qilmoq zarur. Hamma ham cho'qqigacha yetib bora olmaganidek, muvaffaqiyatgayam birdek erishavermaydi. Chunki qiyinchiliklarga chidamlilik va ruhan tayyor bo'lish ham katta rol o'ynaydi.

Qizilnura cho'qqisiga 10 soat yo'l yurib, soat 16:00 ga yaqin 3-bo'lib yetib bordim. 15 kishilik guruhdan faqatgina 7 kishigina cho'qqigacha yetib borishga muvaffaq bo'ldi. U yerga bir amallab chiqsa bo'ladi, tushish esa haqiqiy mashaqqat bo'ldi. Sababi, quyosh botishiga atigi 4 soat qolgan, kechqurun tog'larda yurish ancha xavfli. Shu sabab 2 sherik bilan, tezlikda pastga tushishni boshladik. 4 soatda tushishni mo'ljallagan edik, adashibmiz. 4 soat yurgach(20:00da), oflayn xaritaga qaraganimizda haliyam 7 km masofa bor edi.

Yo'l davomida cho'ponlarni katta kuchuklariga duch keldik. Baxtimizga cho'ponlar borligi uchun, xavfsiz o'tib oldik. Cho'ponning aytishicha, bu yerlarda kechasi yurish juda xavfli bo'lib, yon tarafimizdagi chakalakzorlarda ayiq ham, bo'ri ham, yovvoyi kuchuklar to'dasi ham istalgan payt duch kelib qolishi mumkin ekan. Yo'ldan bir necha marotaba adashib, yarim kech 23:30 da mashina oldiga yetib keldik. Ortimizdagilar esa bizdan 2 soat kech tushdi, menimcha.

Umuman olganda, bunday turlarni bir kunga mo'ljallash to'g'ri ish emas ekan, ayniqsa 15 kishilik guruh bilan juda sekin harakatlanishga to'g'ri keladi. Umumiy hisoblaganda, o'sha kuni 40 kilometrdan oshiqroq masofa bosib o'tibman. Kuni bilan kompyuter qarshisida ishlaydiganlar uchun bunday sayohatlar ayni muddao
👍20🔥6
Ofisda ishlashning ham o’ziga yarasha gashti bor.

Qayerligini topa olasizmi?
👍37🔥7🤩5🤣21
Kursni muvaffaqiyatli tugatib, tajriba oshirish uchun amaliyotni o’rni beqiyos. Hozir bepul amaliyot uyoqda tursin, 2-3 mln so’m to’lab internship qilayotganlar bor. Agar internship davomida, real loyihalar bilan kuchli dasturchilar yonida ishlasa, tabiiyki sarflangan pul o’zini karrasiga oqlaydi. Afsuski, ko’pgina “amaliyot tashkilotchilari” 20-25 ta bitiruvchilardan pul yig’ib olgach, birorta loyihani berib, ularga junior dasturchini bosh qilib qo’yayotganini eshitdim.

Hozirda Python bo’yicha qayerlarda internship(amaliyot) o’tasa bo’ladi?
👍253🔥3
Dasturlash bo’yicha ideal amaliyotni qanday tasavvur qilaman

To’g’ri tanlangan loyiha - Ideal amaliyot youtubedan ko’chirib olingan ecommerce loyiha emas, balki real va haqiqatdan ham foydali loyihalar ustida ishlash imkoniyatini beradi. Olamshumul loyiha bo’lishi shart emas, oddiy loyiha bo’lsa, kimgadir ozgina bo’lsa ham foydasi tegsin. O’rgangan bilimlaringizni amaliyotda qo’llash o’zingizga bo’lgan ishonchingizni oshiradi

O’sish imkoniyati - Amaliyotga topshirayotganda sizga yangi bilim, metodologiya va ko’nikmalar o’rganish imkoniyatini beradigan kompaniya qidiring. Yangi bilim va texnologiyalarni o’rganmasdan turib, karyeraviy o’sishni orzu ham qilmang.

Mentorship - dasturlashda o’sish uchun yaxshi mentorning o’rni beqiyos. Yo’l-yo’riq ko’rsatadigan, kodingizni review qilib, xato-kamchiliklarini aytib turadigan tajribali mentor bilan qisqa vaqtlarda yozayotgan kodlaringiz sifat jihatdan yaxshilanadi. Tajribali mentor sizni bilimingizni baholab, kamchiliklaringizni to'g'irlashga yordam beradi. O'rganishingiz kerak bo'lgan bilimlarni yo'l xaritasi bilan belgilab beradi.

Networking - Kompaniyadagi middle va senior dasturchilarni qanchalik yordam berishga tayyorligi ham juda muhim. Ular maslahati va tajribasi sizni karyeraviy o’sishingizga ijobiy ta’sir qiladi.

Full-time ish imkoniyati - amaliyotchilarga investitsiya kiritayotgan kompaniya, albatta ulardan eng yaxshilarini olib qolishga harakat qiladi. Ideal amaliyotda muvaffaqiyatli amaliyot o’taganlar kompaniyadan full time ish taklifini olishi kerak. Agar siz amaliyotga pul to’lab borayotgan bo’lsangiz, katta ehtimol bilan sizga bunday imkoniyat berilmaydi.
👍9🔥4
Mohirdev is looking for junior or strong junior python developers

Requirements
• Solid grasp of Python programming
• Proficiency in Object-Oriented Programming (OOP) and RESTful API concepts
• Strong experience with at least one Python framework (Django Rest Framework / FastAPI / Flask)
• Experience with managing Relational Databases (PostgreSQL / MySQL)
• Previous exposure to Git and Github in a professional setting
• Fluency in both English and Uzbek

Nice to have
• Previous commercial experience
• Familiarity with Docker and Docker Compose
• Exposure to AWS or other server deployment processes

You can get
• Mentorship and valuable code reviews
• Real hands-on experience working on commercial projects
• Convenient location within the IT park

Working hours: 10:00 AM to 6:00 PM (offline)
Salary: Salary will be discussed following a one-month trial period
Address: 4A Muminov Street, Тоshkent 100100

Contact:
Send your resume to @mukhammad_irmatov
23👍14
Elektromobillarni zaryadlash bilan shug’ullanuvchi Tokbor stansiyalari 10 kundirki hamma uchun bepul xizmat ko’rsatyapti. Serverlari xakerlar hujumiga uchragach, butun bazasi ham o’chib ketgan. Bu esa kompaniya uchun bir kunda 10-15 ming dollar zarar degani.

Kompaniya egalari dasturchiga va dasturni testlaydigan xodimlarga sarflaydigan ozgina resursdan tejab qolaman deb katta yo’qotishga uchraydi.
👍543😁3👎2
I/O bound va CPU bound farqlari bormi?

Dastur ish samaradorligini tahlil qilish va oshirishda, CPU bound va I/O bound nima ekanligini bilishimiz kerak.

CPU-bound amallar nima?
Dastur ishlashida, agar amallar(tasklar) bajarilishi kompyuter protsessoriga bog’liq bo’lsa, bunday amallar CPU bound deyiladi. Bunday amallar kompyuter miyasi(protsessor - CPU) dan faol foydalangani va amallar tezligi CPU (markaziy protsessor) ga bog’liq bo’lgani uchun ham CPU bound nomini olgan.

Keling buni judayam soddalashtiramiz. Kompyuter protsessori(CPU)ni restoranda oshpaz deb tasavvur qiling. Oshpazning vazifasi - mijozlar (dastur)ga ovqat tayyorlash(Amallar bajarish - perform calculations).

Agar oshpaz judayam band bo’lsa va barcha vaqtini ovqat pishirishga sarflayotgan deb hisoblasak ya’ni qo’lidan kelganicha tez harakat qilayapti lekin mijozlar ovqatga navbat kutib qolayapti. Oshpaz mijozlarga taom yetkazib berishi sekinlashib qolgan ya’ni bottleneck holatida. Ovqat mijozlarga yetib borishi oshpazning qanchalik tez ovqat pishira olishi bilan cheklangan.

Shu vaziyatni kompyuter dasturlariga solishtiradigan bo’lsak, kompyuter protsessori o’zining maksimum samaradorligi bilan ishlayapti, turli xil hisob-kitob amallarni bajaryapti va dasturning qanchalik tezligi aynan protsessorga bog’liq bo’lishi CPU bound deb ataladi.
👏10👍7🔥1
I/O bound amallar nima?

I/O (input-output) bound shunday vaziyatki, bunda dastur tezligi protsessorni amallarni hisoblash tezligiga bog’liq bo’lmaydi. Dastur ko’p vaqtini input/output (I/O) amallari yakunlanishini kutishga sarflaydi. Misol uchun, havo harorati va namligi bilish uchun, o’zingiz turgan joy koordinatalarini tashqi API ga so’rov yubordingiz va undan keladigan javobni kutib turibsiz, shu holat I/O bound holati deyiladi.

Buni yanada soddaroq qilib, oshxona mavzusiga o’girsak ham bo’ladi. Oshxonada ovqat tayyorlayapsiz. Sizning asosiy maqsadingiz ovqat tayyorlash(task). Ovqat tayyorlash vaqtida, qozon va yog’ qizishi, piyoz qizarishi va ovqat suvi qaynab chiqishi sizga bog’liq bo’lmagan jarayonlar hisoblanadi. Siz bu vaziyatda nimadir ish bajarmaysiz, faqatgina kutishingiz kerak xolos. Bu kutishlar albatta umumiy ovqat tayyor bo’lish jarayonini sekinlashtiradi. Ayni shu holatni I/O bound holati desak bo’ladi.

Bu holatni kompyuter dasturlarida ko’radigan bo’lsak, dasturimiz fayllarni o’qish yoki yozishda, tashqi manbalarga so’rovlar yuborganda yoki ma’lumotlar bazasi bilan ishlaganda kutish holatida bo’ladi. Shu kutish holati I/O bound deyiladi.
👍25🔥2
Task CPU bound yoki I/O bound ekanligini bilish bizga nima beradi?

Dastur samaradorligini oshirishda, task CPU bound bo’lsa kuchliroq CPU ishlatish, CPU ni band qilib qo’yayotgan taskni load balancing orqali bir necha protsessorlarga taqsimlash. Agar dastur doimiy yuqori CPU nagruzkada ishlayotgan bo’lsa, horizontal scaling ni o’ylash kerak ya’ni ko’proq serverlar yoki instances lar qo’shish orqali.

Endi o’ylab ko’ring, sizda I/O bound muammosi bo’layotgan bo’lsa, siz esa CPU bound yechimlarini(faster CPU) qo’llayotgan bo’lsangiz, hech qanday o’zgarish sezmaysiz.

I/O bound uchun esa ma’lumotlar bilan ishlashni optimizatsiya qilish(database, caching, batching operations, chunking) yoki asinxron operatsiyalar orqali yaxshi natijaga erishsangiz bo’ladi.
🔥16👍5💯2
Concurrency vs Parallelism bittami?

Disclaimer — Bu ikki atamani o’zbekcha tarjimasini qidirgan edim, ikkalasini ham bir xil, parallellik deb tarjima qilib berdi. Shuning uchun asl holatida yozaman.

Concurrency va parallelism o’xshash, ikkisi ham bir necha tasklarni bir vaqtda bajarish uchun mo’ljallangan bo’lsada, ular orasida yetarlicha farqlar bor.

Sizda bajaralishi kerak bo’lgan 10 ta task va uni bajarish uchun esa 1 dona CPU bor. Concurrency barcha 10 tasklarni ma’lum bir vaqt oralig’ida, tasklarni almashtirgan holatda faqat bitta taskni bajaradi. 1 dona CPU (protsessor) 10 ta taskni almashtirgan holatda bajaradi, bu esa xuddiki 10 ta task bir vaqtda(multitasking) bajarilayotgandek illuziya beradi.

Concurrency I/O bound operatsiyalarida juda foydali hisoblanadi. Chunki qaysidir task I/O bound kutish holatida bo’lsa, context switch boshqa taskni bajarib turadi, bu esa dastur ishini tezlashtiradi.

Tasavvur qiling, siz yana oshxonadasiz, va bu safar makaron pishiryapsiz.

Sizda quyidagi tasklar bor:
1) Sabzavotlarni tozalash va to’g’rash
2) Makaronni suvda qaynatish
3) Qayla tayyorlash(piyoz, pomidor yordamida)

Agar siz sinxron tarzda ishlasangiz, bularni ketma-ketlikda bajarishingiz kerak edi. Avval sabzavotlarni tozalab, to’g’raysiz(15 minut). Keyin Makaronni suvda qaynashini kutasiz(25 minut) va oxirida esa qaylani tayyorlab(20 minut), barchasini aralashtirasiz. Sinxron tarzda siz makaron tayyorlash uchun, 1 soat vaqt sarfladingiz.

Endi shuni, Concurrency tarzida amalga oshiradigan bo’lsak, jarayon quyidagicha ko’rinish oladi:
Makaronni suvda qaynatishga qo’yib, sabzavotlarni to’graysiz(15 minut) va qayla tayyorlashni ham boshlab qo’yasiz. Ora-orada qaylani ham aralashtirasiz va yana sabzavotlarni to’g’rashda davom etasiz(Task switching). Bu esa resurs va vaqtdan unumli foydalanishga olib keladi. Kompyuter CPU si ham aynan shunday task switching tarzida ishlaydi.

**davomi bor
🔥26👍10