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
Live stream finished (57 minutes)
Birinchi marotaba voice chat uyushtirishim, shunga biroz kamchiliklar bo’lgan bo’lsa uzr.

Suhbat yoqqan bo’lsa, tez-tez shunday suhbatlar uyushtirib turamiz.

Suhbat audiosi yozib olindi, kechroq shu yerga tashlayman
👍76🔥4🤩4💯3🎉21
2023-03-17
Django darslari (Mukhammad irmatov)
Jakhongir Rakhmonov bilan bo’lib o’tgan voice chat audiosi.
👍42👏3
Loyiha ishga tushgach, va yuklamalar ortib, optimizatsiyaga muhtojlik sezgani sari, database ichiga sho’ng’ishga majbur bo’lib qolasiz ekan.
Isolation levellari bo’yicha mavzular ham juda qiziq ekan. Tavsiya

Hech isolation level sozlamalari ga ishingiz tushganmi?
🔥16👍4
Forwarded from Jakhongir Rakhmonov - IT
Agar siz tez-tez ish va topshiriqlar sizga kelishini kutib yashayotgan bo’lsangiz, siz yaxshi dasturchi emassiz

Yaqinda Amazondagi bir Senior dasturchi bilan gaplashganimda shu fikrni aytdi. Men haqimda emas albatta 😌 Uning aytishi bo’yicha u shu paytgacha ishlagan har bir jamoada bir kishi uchun deyarli har doim deyarli cheksiz miqdorda ish bo’lgan. Yaxshi dasturchilar bundan foydalanib qolgan va uning “impact” ya’ni tasir doirasi katta bo’lgan. Yaxshi bo’lmaganlar esa kutib vaqtini o’tqazgan. Tasir doirasi katta bo’lgan mutahasislar esa eng ko’p qadrlanadi.

Masalan siz har doim kodning yomon yozilgan qismlarini yaxshilashingiz mumkin. Siz har doim yangi testlar yozishingiz mumkin. Siz har doim testlarni tezlashtirishingiz mumkin. Siz har doim “build time” larni tezlashtirishingiz mumkin. Siz har doim CI/CD pipelinelarni tezlashtirishingiz mumkin. Siz har doim ko’p esdan chiqib qoladigan narsalar uchun “pre-commit hook“ lar qo’shishingiz mumkin. Siz har doim backlogda anchadan beri turgan kichik buglarni olib to’g’irlashingiz mumkin. Siz har doim ishlatilmayotgan kodni o’chirib tashlashingiz mumkin. Siz har doim “duplicate” kodlarni kamaytirishingiz mumkin. Siz har doim dokumentatsiya yozishingiz yoki borini yaxshilashingiz mumkin.

Qilish kerak bo’lgan muhim ishlar har doim juda ko’p bo’ladi. Agar siz vazifalar sizga o’zi PM yoki team-lead tomonidan kelishi kerak deb hisoblasangiz, siz yaxshi dasturchi emassiz va siz zo’r “impact” qilish imkoniyatlarini boy beryapsiz.

@jakhonrakhmonov
👍25🔥72
Media is too big
VIEW IN TELEGRAM
Django loyihani Railway.app ga deploy qilish

Django loyihalarni bepul joylash uchun qulay bo’lgan Heroku hostingi pullik bo’lgandan so’ng, ko’pchilik boshqa bepul serverlarni qidirishni boshlashdi.

Railway.app bepul va shu bilan birgalikda ancha qulay bo’lgan hosting.

Videoda bepul Railway.app ga qanday qilib django loyihani deploy qilish ko’rsatilgan.

P.s. Videodarslik mohirdev praktikumga yozilayotgan kursdan olindi

@djangodarslari
🔥28👍112
DRF da o’zi shundoq ham asinxron bo’lgan kodingizda, Multithreadingni ham qo’shib ishlatib ko’rganmisiz?

Ishlatib ko’rdim. Ajoyib qorishma bo’lar ekan, natija rostdan ham ancha yaxshilandi. Lekin ikkalasini birga ishlatishda ancha ehtiyotkor bo’lish kerak.

P.S. Rasmda kodni bir qismi xolos
🔥18👍6
Oltin qoida:
Hech qachon hech kimni noutbukingiz yoniga yaqinlashtirmang)

ps. macbookni ustiga anchagina suv to'kilgan o'zi qurib qoladimi yoki ustaga olib borish kerakmi :)
😁62😢19👍4
Forwarded from Jakhongir Rakhmonov - IT
Mutaxsis sifatida o’sishning eng yaxshi usuli

2019chi yildan men “Building Your Own Python Web Framework” degan kurs chiqargan edim. Uning ustida tahminan 2 oycha ishlaganman. Shu paytgacha $10000 dan ortiq daromad olib kelgan. Katta pul emas, lekin juda yoqimli pul, passiv bo'lgani uchun. Bir uhlab tursangiz cho’ntagingizda $50 paydo bo'lib qolsa kimga yoqmaydi?

Bu kurs yozishdan oldin menda frameworklar yozishda umuman tajribam bo'lmagan. Qanday uddalaganman aytaymi? Ko'chirganman. Ha, to'g'ri o'qidingiz, ko'chirganman.

O'zimga yoqqan 3-4ta frameworklarning kodini o'rganib chiqqanman. Qanday ishlashini ko'rib chiqqanman. Birinchisidan ozgina ko'chirganman, ikkinchisidan ozgina ko'chirganman va hokazo. O’zim oz-moz o'zgartirishlar kiritganman. Hammasini birlashtirib shu kursni qilganman. Natijada bilimim oshgan, qolganlarga foydali bo'lgan, cho'ntakka ham foydali bo'lgan.

Siz ham ko'chiring.

Yaxshi dastruchi bo’lmoqchimisiz, siz bilgan yaxshi dasturchi qilgan ishlarni ko’chiring. Python o’rganyapsizmi, yaxshi yozilgan Python kodini topingda, ko’chiring. Django o’rganyapsizmi, yaxshi yozilgan Django loyihani topingda, ko’chiring. PHP o’rganyapsizmi, yaxshi fermer tanishingiz qilayotgan ishlarni ko’chiring.

Yetarlicha ko’chirdingizmi? Darajangiz oshganini sezyapsizmi? Keyingi qadam: kichik o’zgartirishlar kiriting. Qilgan ishingizni u yeriga tegib ko’ring, bu yeriga tegib ko’ring. O’zgartiring. Freestyle qiling. Tutoriallardan, kitoblardan tashqariga chiqing.

Shu qadamlarni yetarlicha qilganing. Tabriklayman, sizning unvoningiz endi Senior Copy Cat Developer. Hazil albatta. Lekin darajangiz oshgani aniq.

@jakhonrakhmonov
😁30👍14🔥1
Jakhongir Rakhmonov - IT
Mutaxsis sifatida o’sishning eng yaxshi usuli 2019chi yildan men “Building Your Own Python Web Framework” degan kurs chiqargan edim. Uning ustida tahminan 2 oycha ishlaganman. Shu paytgacha $10000 dan ortiq daromad olib kelgan. Katta pul emas, lekin juda…
Ancha oldin yangi ish boshlagan paytim, DRF da yozilgan va bizni loyihaga o’xshash bo’lgani uchun eski loyihani qo’limga tutqazishdi. Kod senior dasturchi tomonidan yozilgandi, boshida tushunish rosa qiyin bo’ldi, onboarding vaqti bo’lgani uchun 2 haftacha shu loyihani o’rganib chiqdim va tabiiyki o’zim uchun juda ko’p yangi bilimlar olgandim.

Yangi loyihani ko’p qismlarini o’sha koddan olib ishlatgandim, vaqt o’tgani sari, o’sha kod yozish stiliga o’rganib, hozirgacha o’sha stilda yozaman.
🔥27👍2
Redis caching(keshlash)ni loyiha optimizatsiya qilishda o’rni beqiyos. Redis to’g’ri sozlansa, foydalanuvchi so’rov yuborganda, so’ralgan ma’lumotni nechadir soniyalarda emas, millisoniyalarda taqdim etsa bo’ladi. Ammo doimgidek to’g’ri sozlashni ham bilish kerak.

Caching (keshlash) ishlatayotganda juda ehtiyotkor bo’lib ishlating. Avvalo u sizga qanchalik zarur va dasturning aynan qaysi qismlariga ishlatmoqchisiz, shuni aniqlab oling. Cachingni har bir foydalanuvchiga alohida ma’lumot yuboruvchi endpointlarga qo’llash unchalik ham to’g’ri ish emas, agar to’g’ri sozlay olmasangiz foydalanuvchi so’ragan ma’lumotni emas, boshqa ma’lumotni jo’natib qo’yishingiz ham mumkin.

Barchaga umumiy bo’lgan ma’lumotlar uchun, bir muncha vaqt oladigan murakkab hisob kitobni talab qiladigan sahifalar va sekinroq javob qaytadigan tashqi API larga bog’langan qismlarga Caching ishlatish ish unumdorligini oshirib, javob qaytish vaqtini karrasiga kamaytirib beradi.

Cache Invalidation ni to’g’ri sozlang. Bu eski ma’lumotlarni keshdan o’chirib tashlash jarayoni. Caching ishlatganda, qanchadir muddatdan so’ng keshlangan ma’lumot o’chib ketishini ta’minlash uchun expiration time (yaroqlilik muddatini) belgilang. Aks holda eski ma’lumotni foydalanuvchiga yuborishingiz mumkin va eski keshlangan ma’lumotlar yig’ilib, xotiradan unumli foydalanishingizga to’sqinlik qiladi.

Expiration time ham eng ideal yechim emas, misol uchun siz har 25 daqiqada keshlangan ma’lumotni o’chirib tashlaydigan qilgansiz, lekin ma’lumotlar bazasida siz cachingda ishlatgan Model(DB table) yangilandi yoki biror bir ma’lumot o’chirib tashlandi va tabiiyki sizning kesh xotirangiz bu aks etmaydi. Buni oldini olish uchun esa Django signal dan foydalanishni tavsiya qilaman. Post_save va post_delete signallari orqali kerakli modellarni ulab, ular o’zgargan vaqtda redis cachingni o’chirib tashlaydigan funksiya yozsangiz bo’ladi.

@receiver([post_save, post_delete], sender=Products)
def
product_invalidate_cache(sender, instance, **kwargs):
cache_key = {'
product_key’: str(instance.id)}
cache_key_str = json.dumps(cache_key)
redis.delete(cache_key_str)


Caching ni to’g’ri sozlay olsangiz, sizga judayam katta foydasi tegishi aniq
👍18🔥102
Fantastik ko’nikma

Masalan, siz rus yoki ingliz tilida bemalol oʻqib, video koʻrib tushuna olsangiz kerak. Endi eʼtibor bering, qaysidir odam(lar) uchun bu deyarli kosmos. Ular, “men ham shunaqa darajada oʻrgana olarmikinman, uddalay olarmikinman”, deb muttasil oʻylab, ikkilanib, bilgichlarga havas qilib yurishadi.

Siz uchun esa bu kulgili koʻrinadi. Aytasizki, “Baraka topgur, Eshmatvoy, avvalo xotirjam boʻl, odam eplagan ishni odam qiladi. Bu natijaga chiqish uchun juda katta aql kerak emas. Keyin, har kuni, kulgili darajada oz-ozdan boʻlsa ham, arzimagan daqiqalar ajratib boʻlsa ham, mana bu ketma ketlikda shugʻullanib borsang, falon oy (yil) ichida natija boʻlmasdan ILOJI YOʻQ! Tushunayapsanmi, NATIJA MUQARRAR KELADI ! Faqat inshaAlloh deyishni unutmasang va chala tashlab ketmasang boʻlgani.”

“Kun boʻyi bittayam soʻz yodlolmagan kunlaring boʻladi. Kun boʻyi oʻrganganlaring paqqos esingdan chiqib ketgan kunlaring boʻladi. Orada biror sabab bilan haftalab tanaffus qilgan paytlaring boʻladi. Bular tabiiy hammaning boshidan oʻtadigan narsalar. Bunaqa mayda ”magʻlubiyat“larni shunchaki xotirjam, ”неизбежный“ narsalar deb qabul qilasan. Va iching to’la shubha bo’lsa ham (!), timirskilanib boʻlsayam, tanlagan rejangda davom etaverasan. Natija oʻzi emaklab boʻlsayam keladi.”
(til bilish shunchaki misol, uning oʻrniga boshqa istalgan koʻnikma yoki hunarni qoʻyib koʻrish mumkin. Yoki million dollarni.)

Lekin Eshmatvoy shuncha gapdan keyin ham ikkilanib, koʻzini pirpiratib, sizga qarab turgan boʻladi. “Bilmasam, oʻxsharmikin, shu hech ishonolmayapman-da”, deb ))
Siz shu oddiy koʻnikmaga ega boʻlish mumkinligiga ham uni hech ishontirolmagandan xunob boʻlib, “e, bore, ishonmasang ishib ket, tillaxonaga tushib ket”, deb ketvorasiz. ))

❗️ Endi siz O’zimizdan chiqqan professionallarga qaraysiz. ❗️

Xalqaro moliyaviy konsultant, top-marketolog, kosmik apparat texnologi, yuzlab filiallarga bosh menejer, ichida “yadro reaktori bor” tadbirkor, AyTi dasturchi, mohir Pedagog... va hk lar.
Siz ularga qarab, xuddi boya Eshmat hayratlangandek oʻylaysiz: “men ham shunaqa darajada boʻla olarmikinman, uddalay olarmikinman”.

Eng muhim gap: Haligi “profi”larga endi sizning bu holatingiz kulgili koʻrinadi. Xuddi boya oʻzingiz Eshmatga kulib aytgan gapni aytishadi:
“Bu natijaga chiqish uchun juda katta aql kerak emas. ...
xotirjam bo'lib, har kuni, kulguli darajada oz-ozdan boʻlsa ham oldinga yurilsa ...
Natija oʻzi emaklab boʻlsayam keladi....”

Mana shu “Fantastik ko’nikma” hisoblanadi:
Xotirjam bo’lib, oz-ozdan bo’lsa ham cho’qilab
natija muqarrar kelishiga ishonib..
natija kelmasdan iloji yo’qligiga ishonib, olg’a yurishga odatlanish

Bu yerda kalit soʻz - “YURISH” emas! Kalit soʻz - “ODATLANISH”.
(Erishiladigan natijaning koʻlami, summasi, raqamlar - bular ikkinchi-uchinchi darajali narsalar, hal qiluvchi omil - shu fantastik koʻnikmaning borligi)

©Bobur Niyozov
👍48🔥102👎1
Dasturlash sohasida muvaffaqiyatga erishmoqchi bo’lsangiz, multitasking* qilishni hoziroq to’xtatishingiz kerak. Multitasking kitoblarda yozilgani kabi foydali va ko’p ishni kamroq vaqtda bajarish imkoniyatini beruvchi ko’nikma emas.

Multitasking to’liqligicha sizning zararingiz uchun ishlaydi. Bizning miyamiz bir vaqtni o’zida bir necha vazifalarga diqqat qarata olmaydi ya’ni texnik imkoniyati yo’q. Agar shunday qilishga majburlasangiz, albatta samaradorlik pasayadi va xatoliklar ko’paya boshlaydi.

Multitasking jarayonida, davomiy tarzda diqqatimiz bir ishdan boshqasiga o’zgarib turadi, bu esa konsentratsiyani yo’qotishga olib keladi. 2 soatda bajaradigan ishingizni 4 soatda bajarishingizga to’g’ri keladi. Multitasking qilayotgan insonlar stres darajasi yuqori bo’lib, doimiy charchoq his qiladi.

*Multitasking - bu bir vaqtni o’zida bir necha vazifalarni bajarishga urunish
🔥35👍14👏4
Forwarded from MohirDev.uz
🔔 Full Stack Python kursi bo'yicha yangiliklar

Python kursiga yangi darslar qo'shilmoqda

Yangilangan darslar muallifi hozirda Avstraliyaning SageGrader kompaniyasida dasturchi sifatida faoliyat yuritayotgan Muhammad Ermatov hisoblanadi

🔄 Qisqacha yangilanish haqida:

- 2 ta yangilangan bo'lim
- 4 ta yangi loyihalar
- 1 ta bonus bo'lim

📍18-may, soat 20:00 da youtube kanalimizda bo'lib o'tadigan jonli efirda kursdagi yangilanishlar haqida batafsil ma'lumot beriladi

💭 Bundan tashqari, efir davomida kurs bo'yicha o'zingizni qiziqtirgan savollarga ham javob olish imkoniyatiga ega bo'lasiz

Sizningcha qanday texnologiya bo'yicha bo'lim bonus sifatida qo'shiladi? Izohlarda yozib qoldiring 👇🏼
🔥17👍10
Forwarded from Vohid Karimov (Vohid Karimov)
Dasturlashga qo'l urgan, lekin nimadan boshlashni bilmaydiganlar uchun 3-5 yillik plan:

— Nerd rejimiga o'ting: kuniga kamida 6 soat dasturlash bilan band bo'ling
— Computer Science mavzularini chuqur o'rganing
— Muntazam algoritmik masalalarni yeching (codewars, leetcode, va hokazo)
— Bitta dasturlash tilini mukammal o'rganing
— Web, mobil, yoki desktop development uchun kerak bo'lgan texnologiyalarni o'rganing
— O’zingizni pet proyektlaringizni yarating
— Har kuni ko'p kod yozing
— Tez-tez interview qiling (ishingiz bo'lsa ham)
— Vaqtida uxlang, ovqatlaning, va sport bilan shug'ullaning

Qolgani (ish, daromad, va xurmat) o'zi keladi. Natija darxol ko'rinmaydi, lekin albatta keladi - haqiqiy yutuqlar vaqt talab qiladi.

Jarayondan zavq oling!
🔥50👍172
Nima deb o’ylaysiz, Python veb dasturlash uchun qanchalik mos keladi?
Backend qismida nima uchun python ni tanlash kerak(emas)?
👍3
Django darslari (Mukhammad irmatov)
Nima deb o’ylaysiz, Python veb dasturlash uchun qanchalik mos keladi? Backend qismida nima uchun python ni tanlash kerak(emas)?
Dasturlashga oid kanallarda pythonni veb dasturlash sohasi uchun o’rganish kerak yoki kerak emasligi haqida baxslar bo’lyapti. Bu bo’yicha o’zimni subyektiv fikrimni aytadigan bo’lsam, Python versatile(universal) til bo’lganligi sababli, veb uchun ham, data science va AI uchun ham birdek qulay til hisoblanadi.

Python dasturlash tilini tez emaslikda ayblash rosa urf bo’ldi. Aslida backend qismining ishlash tezligi faqatgina dasturlash tiliga bog’liq emas. Ma’lumotlar bazasiga so’rov jo’natish va uni qabul qilish ham dasturni ishlash tezligiga katta ta’siri bor. Siz oddiy API so’rovlar bilan ishlovchi servis yozmoqchi bo’lsangiz va sizda millionlab foydalanuvchilar yo’q bo’lsa, pythonda ishlaysizmi, PHP da ishlaysizmi tez yoki sekinligini sezmaysiz ham. Agar siz bir millisekund ham muhim rol o’ynaydigan loyiha ustida ishlayotgan bo’lsangiz, unda python tezroqmi yoki php mi deb bosh qotirsangiz bo’ladi (Go va Rust bularni hammasidan tezroq). Bu haqida Jakhongir Rakhmonov yaxshi maqola yozgan ekan.

Pythonni afzalligi nimada?
Python(django) yordamida qisqa vaqt ichida loyihani xavfsizlik talablariga rioya qilgan holda sifatli yaratish mumkin(o’rganish osonligi, community ko’pligi, kutubxona va packagelarga boyligi vahokazolar haqida gapirmadim). Agar sizga dastur tezligi kerak bo’lsa FastAPI ni sinab ko’rishni tavsiya qilaman. FastAPI asinxron tarzda, async va await dan foydalanganligi uchun so’rovlar bilan ishlashda juda tez va samarador hisoblanadi.

Python (django) ni o’rganib ish topa olamanmi?
Vakansiyalar ko’p, vakansiya talablariga javob bera oladigan, pichoqqa ilinadigan dasturchi kam. Bir qarashda minglab o’quvchilar pythonni o’rganishayotgani va tez orada bozor python dasturchilariga to’lib ketadigandek tasavvur uyg’otadi. Lekin o’rganayotganlarning hammasi ham kursni(mustaqil o’rganishni) oxirigicha yetkazolmaydi. Va ularni barchasi ham professional darajaga chiqa olmaydi.

Python dasturchilariga talab bormi?
Python dasturlash tiliga bizning bozorda ham talab yetarli. May oyida kattaroq loyiha uchun 1 oy davomida middle dasturchi qidirdik va topilmagach tajribasi kamroq bo’lsa ham, bilimi yaxshi bo’lgan strong junior dasturchi oldik. O’zbekistondagi bir necha IT kompaniyalardagi tanishlar bilan gaplashganimda, aksariyat loyihalarini python da qilayotganini chunki PHP dasturchilari kamayib ketganligini va AI loyihalar backend qismini ham Django va FastAPI bilan yozish qulay ekanligini aytishdi.

Qanday qilib python dasturchisi sifatida ishga kirish mumkin?
O’quv markaz va onlayn platforma materiallari bilangina cheklanib qolmang. O’zingiz mustaqil tarzda yangi bilimlar, yangi texnologiyalar o’rganishga, mustaqil tarzda katta loyihalar(ko’rganda vaauv deydigan) qilishga harakat qiling. Networking ham juda muhim. Turli xil konferensiya va seminarlarda ham ishtirok etib, do’stlar-tanishlar orttiring. Ijtimoiy tarmoqlarda ham borligingizni bildiring. Linkedin va telegramda o’z tajriba va taassurotlaringizni yozib boring. Bu ham brand awereness uchun juda foydali.

Pythonni o’rganayotganlarga qanday maslahat berardim?
— Faqatgina Python bilan cheklanmang. Mustaqil tarzda algoritmlar va ma’lumotlar tuzilmalarini o’rganib, algoritmik masalalar yechib boring.
— Djangoni o’rganyapsizmi, uni yoniga Flask yoki FastAPI ni ham qo’shing.
— SQL ni o’rganyapsizmi? uni yoniga birorta NoSQL tilini(MongoDB) ni ham qo’shing.
— Task queue uchun celery ni o’rganyapsizmi, uni yoniga Redis va RabbitMQ ni ham qo’shing.
— Deploy qilish uchun faqatgina bepul hostinglar bilan cheklanmasdan, Docker bilan servis ko’tarib, uni AWS ga deploy qilishni ham o’rganing.

Bularni o’rgansangiz, python dasturchisi sifatida bemalol ish topa olasiz.

@djangodarslari
👍51🔥14🎉2🤩2