πΊοΈ Yo'l xaritasi β qayerdan boshlash?¶
Bu sahifa kim uchun: dasturlashni boshlamoqchisiz, lekin "qaysi kitobdan, qaysi tartibda boshlayman?" degan savol bor. Quyida 3 ta aniq yo'nalish β Frontend, Backend, Full Stack β va har biri uchun bosqichma-bosqich reja.
Dasturlashda eng qiyin qadam β birinchi qadam. 9 ta kitob, yuzlab bobβ¦ qayerdan ushlash kerak? Javob sodda: avval yo'nalishni tanlang, keyin shu yo'nalishning birinchi kitobini oching. Hech narsani bir vaqtda o'rganishga urinmang.
Avval β 3 yo'nalish nima? (oshxona o'xshatishi)¶
Bitta restoranni tasavvur qiling:
- π¨ Frontend β restoranning zali va menyusi. Mijoz ko'radigan, bosadigan, his qiladigan hamma narsa: sayt ko'rinishi, tugmalar, ranglar, animatsiya.
- βοΈ Backend β oshxona. Mijoz ko'rmaydi, lekin asosiy ish shu yerda: buyurtmani saqlash, hisob-kitob, ma'lumotlar bazasi, xavfsizlik.
- π Full Stack β ham oshpaz, ham ofitsiant. Ikkala tomonni ham biladi, yakka o'zi to'liq ilova qura oladi.
| Yo'nalish | Nima bilan shug'ullanadi | Misol vazifa |
|---|---|---|
| π¨ Frontend | Foydalanuvchi ko'radigan qism, brauzer | Sayt dizayni, interaktiv tugmalar, mobil moslashuv |
| βοΈ Backend | Server, mantiq, ma'lumotlar bazasi | Login tizimi, to'lov, API, ma'lumotni saqlash |
| π Full Stack | Ikkalasi birga | Butun ilovani noldan oxirigacha qurish |
Qaysi birini tanlasam?
- Chiroyli, ko'rinadigan narsa yoqsa β Frontend.
- Mantiq, ma'lumot, "ichki mexanika" qiziqtirsa β Backend.
- Hammasini o'zim qilaman desangiz (yoki hali qaror qila olmasangiz) β Frontend'dan boshlab, keyin Backend qo'shing = Full Stack.
Xavotir olmang: boshlanishi har uchovida bir xil. Keyinroq fikringizni o'zgartirsangiz, hech narsa yo'qolmaydi.
Hamma uchun umumiy poydevor¶
Qaysi yo'nalishni tanlasangiz ham, ikkita kitobdan boshlaysiz: HTML & CSS va JavaScript. Sababi oddiy β brauzer faqat shu uchta narsani (HTML, CSS, JS) tushunadi. Backend dasturchi bo'lsangiz ham, "web qanday ishlaydi?" degan savolni bilishingiz shart.
Va butun yo'l davomida, parallel ravishda ikki narsani mashq qiling: 1000 masala bilan algoritmik fikrlashni (intervyularda eng ko'p so'raladigan qism) va Git & GitHub bilan kodingizni saqlashni.
π Git & GitHub β birinchi kundan¶
Yo'nalishingizdan qat'i nazar, birinchi kunlardanoq kodingizni Git bilan saqlashni boshlang. Git β loyihangiz uchun "vaqt mashinasi"; GitHub esa ishingizni saqlash, jamoada hamkorlik va portfolio ko'rsatish joyi. Deyarli har bir vakansiya buni talab qiladi, lekin uni alohida "bosqich" emas, butun yo'lga parallel o'rganing β o'rgangan har bir kichik loyihangizni Git bilan saqlab, GitHub'ga yuklab boring.
π Git & GitHub β 0 dan Expertgacha β commit, branch, merge, rebase, Pull Request, GitHub Actions. 24 bob, har biri SVG diagrammalar bilan.
π¨ Frontend yo'nalishi¶
Kim uchun: dizayn, ko'rinish, foydalanuvchi tajribasi yoqadiganlar uchun. Natijani darrov ko'rasiz β yozgan kodingiz brauzerda jonlanadi.
Tartib:
- HTML & CSS β sahifa strukturasi va dizayni. Box model, flexbox, grid, responsive.
- JavaScript β sahifaga jonlilik va mantiq. Bu yo'nalishning eng muhim kitobi, shoshilmang.
- TypeScript β JavaScript'ga tip xavfsizligi. Zamonaviy React/Next.js loyihalari deyarli har doim TypeScript'da yoziladi, shuning uchun React'dan oldin o'rganib qo'ying.
- React β zamonaviy interfeyslar komponentlardan quriladi. Bugungi bozorda eng ko'p so'raladigan.
- Next.js β React'ni production darajasiga olib chiqadi: SSR, marshrutlash, tezlik.
Uslublashni tezlashtirish β Tailwind CSS
HTML & CSS'ni o'zlashtirgach, Tailwind CSS ni qo'shing β bu utility-first CSS freymvorki bo'lib, dizaynni to'g'ridan-to'g'ri HTML'da, izchil dizayn tizimi ichida tez yozish imkonini beradi. Zamonaviy React/Next.js va Vue loyihalarining aksariyati aynan Tailwind ishlatadi. Avval toza CSS'ni tushuning (box model, flex, grid) β Tailwind CSS o'rnini bosmaydi, uni tezlashtiradi.
Muqobil yo'l
React/Next.js o'rniga Vue & Nuxt ni tanlashingiz mumkin β u ham kuchli va o'rganish biroz yengilroq. Bittasini tanlang, ikkalasini bir vaqtda emas. (Keyinroq ikkinchisi oson o'rganiladi.)
React'dan mobilga β React Native
React'ni o'rgangach, deyarli o'sha bilim bilan React Native orqali iOS va Android uchun haqiqiy mobil ilova qura olasiz: bir xil komponentlar, hooklar va JSX, lekin native UI. Expo bilan oson boshlash, kamera/GPS/push, App Store va Play Store'ga chiqarishgacha.
Nima qura olasiz: portfolio sayt, landing page, interaktiv dashboard, internet-do'kon interfeysi.
βοΈ Backend yo'nalishi¶
Kim uchun: mantiq, ma'lumot, tizim "ichki mexanikasi" qiziqtiradiganlar uchun. Ko'rinmaydi, lekin har bir ilovaning yuragi.
Tartib:
- Web asoslari β HTML & CSS va JavaScript ni yengil darajada (chuqur dizayn shart emas, lekin "web nima?" ni biling).
- Bitta server tili β PHP yoki Python (pastdagi maslahatga qarang).
- SQL & MySQL β ma'lumotlar bazasi. Backend'ning poydevori: har bir login, buyurtma, post shu yerda saqlanadi.
- Framework / API β tilning web qismi: PHP'da Laravel, Python'da Django (yoki FastAPI), JavaScript'da Node.js. Real server ilova quring.
Ma'lumotlar bazasini chuqur loyihalash
SQL so'rovlarini bilgach, keyingi bosqich β Ma'lumotlar bazasi dizayni (PostgreSQL 18): qanday to'g'ri sxema qurish β ER-modellashtirish, normalizatsiya, kalit/indeks strategiyasi, NoSQL, analitik ombor va masshtablash. Sintaksis emas β dizayn qarori. Har bir backend dasturchi uchun muhim ko'nikma.
Kod yozishdan arxitekturaga (senior darajaga ko'prik)
Bir-ikki real loyiha qurganingizdan keyin savol o'zgaradi: "qanday ishlaydi?" emas, "qanday to'g'ri qurish kerak?". Dasturlash arxitekturasi β til-mustaqil kitob: coupling/cohesion, SOLID, GoF patternlar, hexagonal/Clean/DDD, monolit vs mikroservis, API/DB tanlovi, masshtablash, keshlash, message queue, CAP, fault tolerance, observability va real tizimni noldan loyihalash (C4 + ADR). Har bir qaror β trade-off.
Backend dasturchining alohida ko'nikmasi β API dizayni
Framework bilan API yozishni bilish boshqa, yaxshi API loyihalash boshqa. API dizayni β til-mustaqil kitob: HTTP va REST chuqur, status kodlari, resurs/URI dizayni, payload va xato (RFC 9457 Problem Details), autentifikatsiya (OAuth/JWT) va OWASP xavfsizligi, rate limiting, idempotentlik, keshlash, versiyalash, GraphQL/gRPC/webhook, OpenAPI va Developer Experience. Boshqa dasturchilar sizning API'ngizdan foydalanadi β u mahsulot, va uni izchil, xavfsiz, qulay qilish β alohida mahorat.
PHP yoki Python β qaysi biri?
- Python β agar AI, ma'lumot tahlili, avtomatlashtirish yoki zamonaviy startaplar qiziqtirsa. Sintaksisi sodda, FastAPI tez.
- PHP β agar tez ishga joylashish kerak bo'lsa: dunyodagi saytlarning katta qismi PHP'da (WordPress, Laravel), O'zbekistonda ham vakansiya ko'p.
Laravel'dan keyin β reaktiv UI
Laravel'ni o'rgangach, Laravel Livewire bilan JavaScript framework (React/Vue) o'rganmasdan zamonaviy, "jonli" interfeyslar β jonli qidiruv, formalar, modal, real-vaqt yangilanish β qura olasiz. Faqat PHP va Blade bilan. Livewire 4 asosida, 0 dan kapston loyihagacha.
Faqat web emas β desktop, mobil va botlar ham
Laravel/PHP bilsangiz, NativePHP orqali bitta kod bazasidan desktop (Windows/macOS/Linux) va mobil (iOS/Android) ilovalar qura olasiz. Telegram bot β O'zbekistonda ayniqsa talabgir amaliy yo'nalish: Python/aiogram, PHP/Nutgram yoki JavaScript/grammY (uchalasi ham guruh/kanal, majburiy obuna va Mini App/clicker o'yingacha). Bular ilg'or/maxsus β avval asosiy tilni puxta egallang.
Ikkalasi ham backend uchun a'lo. Birini tanlab, chuqur o'rganing β keyin ikkinchisi oson o'tadi.
WordPress β eng katta freelance bozori
Internetdagi saytlarning katta qismi WordPress'da ishlaydi; O'zbekistonda ham WordPress sayt va tema yaratish eng talabgir freelance yo'nalishlardan. PHP bilsangiz, WordPress tema yaratish bilan klassik va zamonaviy (block/FSE) temalar, custom bloklar (React/JSX) va WooCommerce do'konlarini qura olasiz. PHP kitobidan keyingi tabiiy amaliy davom.
Ilovangizga sun'iy intellekt qo'shing β AI/LLM integratsiyasi
Asosiy tilni egallagach, ilovalaringizga AI (LLM) ulashni o'rganing β bu bugungi eng talabgir ko'nikmalardan. Har til uchun alohida nashr bor: AI/LLM integratsiyasi (JavaScript) (Anthropic SDK + Vercel AI SDK), AI/LLM integratsiyasi (PHP) (Anthropic PHP SDK, Laravel bilan) va AI/LLM integratsiyasi (Python) (ko'p provayderli β OpenAI/Claude/Gemini/Ollama, FastAPI bilan). Uchalasida ham chat, streaming, tool use (funksiya chaqirish), RAG (o'z hujjatlaringizdan javob), vektor bazalar, agentlar, MCP, xavfsizlik va ishlab chiqarishgacha o'rganasiz.
Nima qura olasiz: login/ro'yxatdan o'tish tizimi, REST API, internet-do'kon backendi, telegram bot, ma'lumot boshqaruv panellari.
π Full Stack yo'nalishi¶
Kim uchun: "men butun ilovani o'zim qurmoqchiman" deganlar uchun. Eng keng yo'l, lekin eng mustaqil β yakka o'zingiz ham frontend, ham backend yoza olasiz.
Tartib:
- Web poydevor β HTML & CSS + JavaScript.
- Frontend qismi β React β Next.js (yoki Vue & Nuxt).
- Backend qismi β SQL & MySQL + PHP yoki Python.
- To'liq loyiha β frontend va backend'ni bog'lab, boshidan oxirigacha ishlaydigan ilova quring.
Maslahat
Full Stack'ni bir vaqtda hammasini o'rganaman deb urinmang. Avval Frontend yo'lini to'liq tugating (kichik loyiha quring), keyin Backend qo'shing. Aks holda ikkala tomondan ham yarim bilim bilan qolasiz.
Nima qura olasiz: to'liq internet-do'kon, blog platforma, SaaS ilova, ijtimoiy tarmoq prototipi β boshidan oxirigacha o'zingiz.
π§© Algoritmlar β qachon va nega?¶
Algoritmika ikki qismdan iborat β nazariya (tushunish) va amaliyot (mashq), va ular birga ishlaydi:
- Algoritmlar va ma'lumotlar strukturalari β til-mustaqil nazariy kitob: chiziqli algoritmdan boshlab, Big-O murakkablik tahlili, barcha asosiy ma'lumot strukturalari (massiv, ro'yxat, stack/queue, hash, daraxt, heap, graf), algoritm paradigmalari (divide & conquer, greedy, DP, backtracking), klassik algoritmlar va P/NP nazariyasi. Nega ishlashini va qancha tez ekanini o'rgatadi.
- 1000 masala β xuddi shu nazariyani mustahkamlovchi amaliy mashq to'plami (JS/PHP/Python yechimlari bilan), butun yo'l davomida parallel ishlatiladi.
Nega kerak:
- Intervyu: kompaniyalar texnik suhbatda aynan algoritmik masalalar beradi.
- Fikrlash: muammoni qismlarga bo'lib yechishni o'rgatadi β bu har qanday kodda asqotadi.
Qachon boshlash: JavaScript (yoki Python/PHP) asoslarini o'zlashtirgach. Avval nazariy bobni o'qing, keyin shu mavzuda masalalar yeching β kuniga 1-2 masaladan, uzluksiz.
π Qisqacha β yo'nalish bo'yicha kitoblar¶
| Yo'nalish | Kitoblar (tartib bilan) | Taxminiy vaqt* |
|---|---|---|
| π¨ Frontend | HTML & CSS β JavaScript β TypeScript β React β Next.js | ~6β9 oy |
| βοΈ Backend | (Web asoslari) β PHP yoki Python β SQL & MySQL β Laravel / Django / Node.js | ~5β8 oy |
| π Full Stack | HTML & CSS β JavaScript β TypeScript β React/Next β SQL β PHP/Python | ~9β14 oy |
| π± Mobil | (Dasturlash asoslari) β Flutter & Dart, yoki React'ni bilsangiz React Native β bitta koddan Android+iOS | ~4β7 oy |
| π§© Algoritmlar | Algoritmlar va ma'lumotlar strukturalari (nazariya) + 1000 masala (amaliyot) β barcha yo'nalishlar uchun, parallel | uzluksiz |
| π Git & GitHub | Barcha yo'nalishlar uchun (parallel, birinchi kundan) | uzluksiz |
* Kuniga 1β2 soat muntazam mashq qilingan holatda. Vaqt β yo'l-yo'riq, qonun emas: kimdir tezroq, kimdir sekinroq o'rganadi. Asosiysi β to'xtamaslik.
β Boshlashdan oldin 5 ta qoida¶
- Bitta yo'nalish, bitta kitob. Bir vaqtda 3 ta narsani o'rganib bo'lmaydi.
- Tartib bilan o'qing. Har kitob oldingisiga tayanadi β sakrab o'tmang.
- Kod yozing, faqat o'qimang. Har bob misolini o'zingiz tering, mashqlarni o'zingiz yeching.
- Kichik loyiha quring. Har kitobdan keyin o'rganganingizdan biror narsa yasang β bilim shunda mustahkamlanadi.
- To'xtamang. Kuniga 30 daqiqa > haftada bir marta 5 soat.
Tayyormisiz? Yo'nalishingizni tanladingiz β endi birinchi kitobni oching:
π¨ Frontend β HTML & CSS'dan boshlash βοΈ Backend β PHP yoki Python