Tarkibga o'tish

πŸ—ΊοΈ 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.

Dasturlashning umumiy yo'l xaritasi: poydevordan uch yo'nalishga

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.

Frontend yo'nalishi ketma-ketligi

Tartib:

  1. HTML & CSS β€” sahifa strukturasi va dizayni. Box model, flexbox, grid, responsive.
  2. JavaScript β€” sahifaga jonlilik va mantiq. Bu yo'nalishning eng muhim kitobi, shoshilmang.
  3. 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.
  4. React β€” zamonaviy interfeyslar komponentlardan quriladi. Bugungi bozorda eng ko'p so'raladigan.
  5. 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.

Backend yo'nalishi ketma-ketligi

Tartib:

  1. Web asoslari β€” HTML & CSS va JavaScript ni yengil darajada (chuqur dizayn shart emas, lekin "web nima?" ni biling).
  2. Bitta server tili β€” PHP yoki Python (pastdagi maslahatga qarang).
  3. SQL & MySQL β€” ma'lumotlar bazasi. Backend'ning poydevori: har bir login, buyurtma, post shu yerda saqlanadi.
  4. 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.

Full Stack yo'nalishi ketma-ketligi

Tartib:

  1. Web poydevor β€” HTML & CSS + JavaScript.
  2. Frontend qismi β€” React β†’ Next.js (yoki Vue & Nuxt).
  3. Backend qismi β€” SQL & MySQL + PHP yoki Python.
  4. 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

  1. Bitta yo'nalish, bitta kitob. Bir vaqtda 3 ta narsani o'rganib bo'lmaydi.
  2. Tartib bilan o'qing. Har kitob oldingisiga tayanadi β€” sakrab o'tmang.
  3. Kod yozing, faqat o'qimang. Har bob misolini o'zingiz tering, mashqlarni o'zingiz yeching.
  4. Kichik loyiha quring. Har kitobdan keyin o'rganganingizdan biror narsa yasang β€” bilim shunda mustahkamlanadi.
  5. 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