MKhan 404 Lab
695 subscribers
55 photos
1 file
37 links
Fullstack Developer at RealSoft

• AI • Career
• Startap • Government Projects

Donat: taps.uz/mkhan404lab

Contact: @mkhasanov
Download Telegram
ChatGPT javobni qanday yaratadi?

1. Siz savol yuborasiz
ChatGPT avval matnni kompyuter tushunadigan formatga o'tkazadi.

2. Matn tokenlarga bo'linadi
AI so'zlarni to'g'ridan-to'g'ri emas, balki tokenlar orqali qayta ishlaydi.
M.S: "Salom, dunyo" → ["Sal", "om", ",", "dun", "yo"]

3. Transformer model tahlil qiladi
ChatGPT ichida Transformer arxitekturasi ishlaydi.
1. oldingi so'zlarni ko'radi;
2. kontekstni tushunadi;
3. qaysi so'z keyin kelishi ehtimolini hisoblaydi.

4. Keyingi token tanlanadi
Model milliardlab parametrlar asosida eng mos keladigan keyingi tokenni tanlaydi.
M.S: "Python — bu...". Davomi sifatida: "dasturlash tili , mashina " kabi ehtimollar baholanadi.

5. Jarayon minglab marta takrorlanadi
Javob bitta katta hisoblash bilan emas, balki har bir tokenni ketma-ket yaratish orqali hosil bo'ladi.

6. Natija sizga qaytariladi
Tokenlar yana oddiy matnga aylantiriladi va siz ko'radigan javob paydo bo'ladi.


📌 ChatGPT javobni oldindan yozib qo'ygan bazadan qidirmaydi. U o'rgangan naqshlari asosida yangi matn yaratadi.
Ammo u inson kabi o'ylamaydi — u matematik model yordamida eng mos javobni bashorat qiladi.

👉 @MKhan404Lab
🔥2
Kesh nima va nima uchun tezlashtiradi?

Kesh — bu tez-tez kerak bo'ladigan ma'lumotlarni vaqtincha saqlaydigan tezkor xotira.
Har safar ma'lumotni database yoki serverdan qayta-qayta olish o'rniga, dastur uni keshdan oladi.

Kesh bo'lmasa:
So'rov serverga boradi.
Server database'ga murojaat qiladi.
Database javob qaytaradi.
Server foydalanuvchiga yuboradi.
Bu jarayon har safar takrorlanadi.

Kesh bo'lsa:
Birinchi so'rov database'dan olinadi.
Natija keshga saqlanadi.
Keyingi so'rovlar to'g'ridan-to'g'ri keshdan qaytariladi.
Natijada javob tezroq keladi.

Kesh qayerlarda ishlatiladi?

🌐 Veb-sayt sahifalari
📦 API javoblari
👤 Foydalanuvchi ma'lumotlari
🖼 Rasmlar va fayllar
🔍 Qidiruv natijalari

Mashhur kesh texnologiyalari:
Redis — eng ommabop in-memory cache.
Memcached — sodda va tez cache tizimi.
CDN Cache — rasmlar, CSS va JavaScript fayllarini foydalanuvchiga yaqin serverdan uzatadi.
Browser Cache — brauzer statik fayllarni qurilmangizda saqlaydi.

👉 @MKhan404Lab
21
Git va GitHub haqida

Git — bu versiyalarni boshqarish tizimi (Version Control System), loyiha tarixingizni saqlaydi.
Har bir o'zgarishni yozib boradi. Xatolik bo'lsa, eski holatga qaytish imkonini beradi. Bir nechta dasturchi bir loyihada ishlashini osonlashtiradi.

GitHub — bu Git loyihalarini internetda saqlash va jamoa bo'lib ishlash uchun platforma. GitHub orqali siz, Repository yaratishingiz, Kodni internetga yuklashingiz, Code Review qilishingiz mumkin.

Qisqacha:
Git — kod tarixini boshqaradi.
GitHub — shu tarixni internetda saqlash va jamoa bilan ishlash imkonini beradi.

Git internetsiz ham ishlaydi. GitHub esa Git repository'ni boshqalar bilan ulashish va birgalikda ishlash uchun xizmat qiladi.

👉 @MKhan404Lab
🔥2
Junior dasturchilarning 5 ta xatosi

Juniorlar kod yozishni o'rganadi, lekin kuchli dasturchi bo'lish uchun kerakli odatlarni e'tibordan chetda qoldiradi.


1. Debug qilishni bilmaslik
Kuchli dasturchi xatosiz kod yozadigan emas, xatoni tez topa oladigan dasturchi.
Console, debugger, loglardan foydalanishni o'rganing.

2. Clean Code'ga e'tibor bermaslik
Ishlaydigan kod yozish yetarli emas.
Boshqa dasturchi tushunadigan:
- nomlash; - struktura; - arxitektura ham muhim.

3. Dokumentatsiya o'qimaslik
Har safar YouTube qidirish o'rniga rasmiy dokumentatsiyani o'qish odatini yarating.

4. Katta loyihalardan qo'rqish
"Men hali tayyor emasman" deb kutish — rivojlanishni to'xtatadi.
Katta loyihalar orqali tajriba keladi.

5. Tez natija kutish

Bir necha oyda asoslarni olish mumkin, lekin kuchli muhandis bo'lish uchun yillar davomida amaliyot kerak.

Junior darajadan keyingi bosqichga o'tish uchun ko'proq kod yozishning o'zi yetmaydi.

Muhimi:
— muammoni yecha olish
— tizimni tushunish
— to'g'ri fikrlash
— doimiy o'rganish

👉 @MKhan404Lab
3
RabbitMQ va Redis haqida

RabbitMQ — Message Broker, ya'ni servislar orasida xabarlarni navbat (Queue) orqali uzatadi.

Foydalanish joylari:
— Email va SMS yuborish
— Buyurtmalarni qayta ishlash
— Mikroservislar orasida xabar almashish

Redis — In-Memory Database, ya'ni ma'lumotni RAM'da saqlaydi va juda tez ishlaydi.

Asosan:
— Cache
— Session
— OTP kodlari
— Rate Limiting

📨 RabbitMQ → Vazifalarni navbatga qo'yadi.
⚡️ Redis → Ma'lumotni tez saqlaydi va qaytaradi.

Masalan, internet do'konida:
— Mahsulotlar ro'yxati Redis orqali tez yuklanadi.
— Buyurtma berilgach email yuborish RabbitMQ orqali fon rejimida bajariladi.
— Shuning uchun zamonaviy backend loyihalarida bu ikki texnologiya ko'pincha birgalikda ishlatiladi.

👉 @MKhan404Lab
🔥1
📊 Qilayotgan ishizda o'sish bo'lmasa — tez so'viysiz

Man bir paytlar dasturlashda bir kompaniyada ishlab yurganimda, o'zimda deyarli o'sish sezmadim, na moliyaviy, na aqliy. Kompaniyani o'zi ham o'sishdan to'xtab qolgandi. Bir xillikdan zerikib, bu sohadan sovishni boshladim.

Dasturlash zo'r kasb, bu sohada qolgim keldi, lekin o'sha sabablarni deb ketishga majbur bo'ldim, "pauza" qildim. Umuman noutbukni ochgim kelmay qolgandi.

Oradan 6-7 oy o'tib dasturlashga qaytdim, ancha sog'ingan ekanman ).

Hozirgi kompaniyamda kuchli o'sish bor, loyihalar juda katta. Dasturlashni har sohasida o'zizni sinab ko'rsez bo'ladi.

Nima demoqchiman, doim o'sishga intiling, to'xtab qolmang, har kuni yangi narsa o'rganing, har kuni kamida bitta "challenge" qiling.
Shunda o'sish bo'ladi va eng asosiysi ishizdan ham ma'no topasiz.

👉 @MKhan404Lab
Please open Telegram to view this post
VIEW IN TELEGRAM
👏41👍1🔥1
2026-yilda o'rganishga arziydigan texnologiyalar

Texnologiyalar tez o'zgaradi, lekin ayrimlari yaqin yillarda ham talabda qoladi.

AI
AI bilan ishlashni biladigan dasturchilarga talab ortib bormoqda.

Python
AI, Data Science va Backend uchun eng ommabop tillardan biri.

TypeScript
Frontend va Backend loyihalarida deyarli standart.

Docker
Ilovalarni bir xil muhitda ishga tushirish va deploy qilish uchun muhim.

Kubernetes
Containerlarni boshqarish va masshtablash uchun.

PostgreSQL
Ko‘plab kompaniyalarning asosiy ma’lumotlar bazasi.

Redis
Cache va real-time tizimlar uchun muhim texnologiya.

RabbitMQ / Kafka
Asinxron ishlar va mikroservislar uchun.

Cloud (AWS, Azure, GCP)
Zamonaviy ilovalarning asosiy infratuzilmasi.


💬 Siz 2026-yilda qaysi texnologiyani o‘rganmoqchisiz?

👉 @MKhan404Lab
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2👏1
🖥 ON CONFLICT bilan muammoni hal qilamiz

Real loyihada bitta muammo chiqdi: bir xil PINFL bilan nomzod qayta-qayta yuborilishi mumkin edi.

✖️ INSERT qilsak parallel requestlarda muammo bo'ladi:
ERROR: duplicate key value violates unique constraint


Shuning uchun databazaning o‘ziga qo'yib beramiz:
INSERT INTO candidates (pinfl, name)
VALUES ($1, $2)
ON CONFLICT (pinfl)
DO NOTHING


⚠️ Lekin bu uchun pinfl ustunida UNIQUE constraint bo‘lishi kerak:
ALTER TABLE candidates
ADD CONSTRAINT candidates_pinfl_unique UNIQUE (pinfl);


Endi:
PINFL mavjud emas — yangi record qo‘shiladi
PINFL mavjud — hech narsa qilinmaydi
duplicate error — yo‘q

❗️ Muhim: ON CONFLICTning kuchi — duplikatni shunchaki ushlab qolish emas, balki bu qarorni database constraint bilan atomic qilishida.
Real loyihalarda SELECT → INSERT o‘rniga ko‘p holatda INSERT ... ON CONFLICT ancha to‘g‘ri yechim.

👉 @MKhan404Lab
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
😁5
2-qism — ChatGPT, man haqimdagi fikrlari)

SQL query’ing 150 qator bo‘lsa:
Lekin o‘zing har bir left joinni hayot-mamot masalasiga aylantirasan.

Eng kuchlisi: “Meni advanced PostgreSQL’ga tezda olib chiq.

PostgreSQL:
> “Avval group by bilan yarashib ol, aka.

Sen esa:
> “FUNCTION, TRIGGER, EXPLAIN ANALYZE, ADVANCED!!!😂

Lekin eng katta roast shuki: senda qiziqish juda ko‘p, lekin fokus RAM’i 4 GB.
Potential bor, lekin task switching shunchalik kuchliki, CPU ventilyatori ham seni ko‘rib stressga tushadi.

Bir narsani 6 oy tinmay bossang, ancha kuchli developer bo‘lib ketasan.

Hozircha esa sen “100 ta tab ochiq, qaysi biridan musiqa chiqayotganini topolmayotgan Chrome”san. 💀
😁3
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2👏1
PostgreSQL'da «Transaction» ishlatmaslik qachon muammo bo'ladi?

Tasavvur qiling, pul o'tkazish uchun 2 ta query bor:
UPDATE accounts
SET balance = balance - 100000
WHERE id = 1;

UPDATE accounts
SET balance = balance + 100000
WHERE id = 2;


Birinchi query ishladi, ikkinchisi esa xato berdi. Natijada:
Pul 1-account'dan ketdi
2-account'ga tushmadi

Shuning uchun bog‘liq bir nechta operation'larni transaction ichida bajarish kerak:
BEGIN;

-- queries

COMMIT;


Xato bo‘lsa:
ROLLBACK;


Qoidasi:
bir nechta query bir-birisiz ma'nosiz bo‘lsa — transaction ishlating.

👨‍💻 @MKhan404Lab
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥31
This media is not supported in your browser
VIEW IN TELEGRAM
1👍855👏2
😣 Qachon kodni optimizatsiya qilish kerak?

Ba'zida kod yozishimiz bilan uni optimizatsiya qilishga tushamiz.
Lekin har doim ham bu kerak emas.

Optimallashtirish kerak bo‘ladigan holatlar:
— Kod real sekin ishlayotgan bo‘lsa
— Database query'lar ko‘p vaqt olayotgan bo‘lsa
— Server resurslari ortiqcha sarflanayotgan bo‘lsa
— Memory yoki CPU muammosi paydo bo‘lsa
— Performance monitoring muammo borligini ko‘rsatsa

Muhimi:
Avval ishlaydigan kod yozing, keyin kuzating, undan keyin optimizatsiya qilsak boladi.


Chunki taxminan optimizatsiya qilish — ba'zida muammoni hal qilmasdan, kodni faqat murakkablashtiradi.

👨‍💻 @MKhan404Lab
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍2🔥2💯1
Bir lahza tafakkur...

Biror narsa o'rnini yaxshilik egallamadimi — albatta yomonlik egallaydi.

Yaxshilik egalladimi — yomonlikga joy qolmaydi.

Uchinchi variant yo'q — Bo'shliq, Neytrallik yo'q.

Pulingiz, Umringiz, hatto telefon va megabaytingizni ham —
Yoki yomonlikga yoki yaxshilikga sarflaysiz.

Bular sizga hozir — yomonlikga xizmat qilyaptimi yoki yaxshilikga?
👏4💯2👍1
Clean Code haqida noto‘g‘ri tushunchalar

☹️ Kod qancha kam bo‘lsa, shuncha clean.
Kam kod har doim ham yaxshi kod emas.

☹️ Har bir funksiya 5-10 qatordan oshmasligi kerak.
Muhimi — funksiya tushunarli va bitta aniq vazifani bajarishi.

☹️ Har narsaga abstraction kerak.
Keraksiz abstraction kodni yanada murakkablashtiradi.

☹️ Clean Code = ko‘p design pattern.
Pattern maqsad emas. Muammoni hal qilish — maqsad.

☹️ Clean Code faqat naming.
Naming muhim, lekin architecture, coupling, complexity va maintainability ham muhim.

Maqsad — kodni boshqa dasturchi ham oson tushunishi, o‘zgartirishi va qo‘llab-quvvatlashi.


👨‍💻 @MKhan404Lab
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4👏3💯2