Dasturlashni noldan, o'zbek tilida o'rgan

JavaScript'dan tortib backend, frontend va DevOps'gacha โ€” to'liq o'quv dasturi o'zbek tilida, batafsil tushuntirishlar va brauzerda ishlaydigan interaktiv misollar bilan. Jami 226 ta dars.

Birinchi darsdan boshlash โ†’

To'liq mundarija

Web dasturlashning to'liq yo'l xaritasi. Har bir dars amaliy misollar bilan.

1-qism: JavaScript tili

Kirish

JavaScript asoslari

05

Salom, dunyo!

JavaScript kodini HTML sahifaga qanday ulash: script tegi, src atributi va tashqi fayllar.

06

Kod tuzilishi

Instruksiyalar, nuqta-vergul (;) qo'yish qoidalari, avtomatik qo'yilish tuzoqlari va izohlar.

07

Zamonaviy rejim, "use strict"

"use strict" direktivasi nima, u nimani o'zgartiradi va zamonaviy kodda uning avtomatikligi.

08

O'zgaruvchilar

let, const va var; o'zgaruvchi yaratish, nomlash qoidalari, camelCase va const ma'nosi.

09

Ma'lumot turlari

JavaScript'ning 8 ta ma'lumot turi va typeof operatori.

10

Turlarni o'zgartirish

String, Number va Boolean konvertatsiyasi hamda qanday qiymatlar 0, false yoki NaN bo'lishi.

11

Asosiy operatorlar, matematika

Matematik amallar, unar operatorlar, ustuvorlik, += kabi qisqartmalar va string+son xatti-harakati.

12

Taqqoslashlar

Taqqoslash operatorlari, == va === farqi, matnlarni leksikografik taqqoslash, null/undefined tuzoqlari.

13

Shartli operatorlar: if, ?

if/else if/else konstruksiyasi, shartning boolean'ga o'girilishi va ternar operator ? :.

14

Mantiqiy operatorlar

|| && ! operatorlari, qisqa tutashuv (short-circuit) va ularning qiymat qaytarish xususiyati.

15

Nullish birlashtiruvchi operator ??

?? operatori nima, uning || dan farqi (0 va bo'sh matn holatlari) va ustuvorligi.

16

Sikllar: while va for

Bir xil amallarni ko'p marta takrorlash uchun sikllar โ€” while, do..while va for.

17

switch konstruksiyasi

Bir o'zgaruvchini bir nechta qiymat bilan solishtirish uchun switch/case/default.

18

Funksiyalar

Kodni takrorlamaslik uchun asosiy vosita โ€” funksiya e'loni, parametrlar, return.

19

Funksiya ifodalari

Funksiya โ€” bu qiymat. Function Expression, Function Declaration va callback funksiyalar.

20

Strelka funksiyalari, asoslari

() => sintaksisi โ€” funksiyalarni yozishning qisqa va qulay usuli.

Kod sifati

Obyektlar: asoslar

Ma'lumot turlari

34

Primitivlar metodlari

Primitiv qiymatlar (satr, son, mantiqiy) ustida ham metod chaqirish mumkin. Bu qanday ishlaydi va "obyekt o'ramchasi" nima?

35

Sonlar

Sonlarni yozish usullari, sanoq tizimlari, yaxlitlash, aniqlik muammolari va Math obyekti bilan ishlash.

36

Satrlar

Matn ma'lumotlari: tirnoq turlari, shablon satrlar, maxsus belgilar, uzunlik, belgilarga murojaat va satr metodlari.

37

Massivlar

Tartiblangan ma'lumotlar to'plami: yaratish, indekslar, uzunlik, qo'shish/o'chirish metodlari va aylanish (loop).

38

Massiv metodlari

Massivlarni boshqarish uchun eng muhim metodlar: qo'shish/o'chirish, qidirish, saralash, transformatsiya va reduce.

39

Iteratsiyalanuvchi obyektlar (iterable)

for..of qanday ishlaydi, Symbol.iterator, o'z iterable obyektingni yaratish, Array.from.

40

Map va Set

Map โ€” istalgan kalitli assotsiativ to'plam; Set โ€” unikal qiymatlar to'plami. Obyektdan farqi va iteratsiya.

41

WeakMap va WeakSet

Kuchsiz havolalar, faqat obyekt kalitlar, iteratsiya yo'qligi va amaliy qo'llanishi (kesh, qo'shimcha ma'lumot).

42

Object.keys, values, entries

Obyekt kalitlari, qiymatlari va juftliklarini massiv sifatida olish; ular ustida aylanish va qayta yig'ish.

43

Destrukturizatsiya

Massiv va obyektlarni alohida o'zgaruvchilarga qulay tarzda ajratib olish.

44

Sana va vaqt (Date)

Date obyekti bilan sana yasash, komponentlarini olish, timestamp va sanalar ayirmasini hisoblash.

45

JSON metodlari, toJSON

Obyektni JSON satriga aylantirish (stringify) va qayta o'qish (parse); replacer, bo'shliq, reviver va toJSON.

Funksiyalar bilan chuqur ishlash

Obyekt xossalari konfiguratsiyasi

Prototiplar, meros

Klasslar

Xatoliklarni boshqarish

Promise, async/await

Generatorlar, ilg'or iteratsiya

Modullar

Qo'shimcha mavzular

2-qism: Brauzer โ€” hujjat, hodisalar, interfeyslar

Hujjat (DOM)

92

Brauzer muhiti va spetsifikatsiyalar

JavaScript qanday muhitlarda ishlaydi, brauzerdagi global obyekt window, DOM, BOM va document nima, host muhitlari va rasmiy spetsifikatsiyalar.

93

DOM daraxti

HTML hujjat qanday qilib teglar daraxtiga aylanadi, element va matn tugunlari, avtomatik xatolarni tuzatish, tugun turlari va DevTools'da ko'rish.

94

DOM bo'ylab harakatlanish

documentElement, body, head; bolalar (childNodes, firstChild, lastChild), qo'shnilar va ota tugunlar; faqat elementlar bo'yicha navigatsiya va jadvallar bilan ishlash.

95

Elementlarni qidirish: getElement*, querySelector*

getElementById, querySelector va querySelectorAll, getElementsByTagName/ClassName, matches, closest, contains hamda jonli va statik to'plamlar farqi.

96

Node xossalari: tur, teg va tarkib

DOM tugun sinflari ierarxiyasi, nodeType, nodeName va tagName, innerHTML va outerHTML, nodeValue/textContent hamda hidden xossasi.

97

Atributlar va xossalar

DOM xossalari va HTML atributlari orasidagi farq, getAttribute/setAttribute/hasAttribute/removeAttribute, xossa-atribut sinxronizatsiyasi hamda data-* atributlar va dataset.

98

Hujjatni o'zgartirish

Yangi elementlarni yaratish (createElement, createTextNode), ularni sahifaga qo'shish (append/prepend/before/after/replaceWith), insertAdjacentHTML, elementni o'chirish, nusxalash (cloneNode), eski usullar va DocumentFragment.

99

Uslublar va klasslar

className va classList (add/remove/toggle/contains), element.style bilan inline uslublar, cssText, getComputedStyle orqali yakuniy uslublarni o'qish va muhim uslub qoidalari.

100

Element o'lchami va skroll

offsetWidth/Height, clientWidth/Height, scrollWidth/Height, scrollTop/Left, offsetParent va getBoundingClientRect qisqacha โ€” elementning geometrik xossalari.

101

Oyna o'lchamlari va skroll

document.documentElement orqali oyna (viewport) o'lchamini olish, hujjatning to'liq o'lchami, pageYOffset/scrollY joriy skroll, scrollTo/scrollBy va scrollIntoView bilan skroll boshqarish.

102

Koordinatalar

Ikki koordinata tizimi: oynaga nisbatan (clientX/clientY) va hujjatga nisbatan (pageX/pageY), getBoundingClientRect, elementFromPoint va koordinatalar orqali elementni joylashtirish.

Hodisalarga kirish

UI hodisalari

Formalar va boshqaruv elementlari

Hujjat va resurs yuklanishi

Qo'shimcha brauzer mavzulari

3-qism: Qo'shimcha bo'limlar

Oynalar va freymlar

Ikkilik ma'lumot va fayllar

Tarmoq so'rovlari

Brauzerda ma'lumot saqlash

Muntazam ifodalar (RegExp)

4-qism: Amaliy vositalar

Git va GitHub

147

Git va GitHub nima?

Versiya nazorati (version control) nima va nega kerak; Git โ€” mahalliy VCS; GitHub โ€” bulutli platforma; ularning farqi; repozitoriy, commit va branch tushunchalari; muqobil xizmatlar (GitLab, Bitbucket).

148

Git o'rnatish va sozlash

Git'ni Windows, macOS va Linux'ga o'rnatish; git --version orqali tekshirish; birinchi sozlash โ€” git config bilan ism va elektron pochta; SSH kalit yaratish (ssh-keygen) va GitHub'ga qo'shish; git config --list.

149

Git asosiy buyruqlari

git init bilan repozitoriy yaratish; git status; git add (fayl va nuqta); git commit -m; git log va --oneline; ishchi katalog, staging va repozitoriy tushunchalari; faylni o'zgartirish oqimi; git diff bilan farqlarni ko'rish.

150

Branch va birlashtirish (merge)

Branch (shox) nima va nega kerak, git branch, git checkout, zamonaviy git switch, git checkout -b bilan yangi branch yaratish, branch'larni git merge bilan birlashtirish, merge konflikti va uni hal qilish, keraksiz branch'ni git branch -d bilan o'chirish.

151

GitHub bilan ishlash: clone, push, pull

Remote (masofaviy ombor) tushunchasi, git remote add origin, mavjud omborni git clone bilan nusxalash, git push -u origin main bilan kodni yuborish, git pull bilan yangilanishlarni olish, git fetch va git pull farqi, mahalliy va masofaviy omborlarni sinxronlash.

152

Jamoa bilan ishlash: fork va Pull Request

Fork (o'zingizga nusxa ochish) tushunchasi, Pull Request (PR) nima va uning to'liq jarayoni, issue (muammo) yaratish, kod ko'rib chiqish (code review), branch'da ishlab PR ochish oqimi, upstream bilan sinxronlash.

153

Foydali vositalar: .gitignore, undo, stash

.gitignore fayli va namunasi, allaqachon kuzatilayotgan faylni git rm --cached bilan chiqarish, o'zgarishni bekor qilish (git restore, git reset, git revert farqi), git stash bilan ishni vaqtincha yashirish, git tag qisqacha, yaxshi commit xabari yozish qoidalari.

Docker

Nginx

Linux va terminal

5-qism: Backend dasturlash

Node.js va Express

Ma'lumotlar bazalari

Web xavfsizligi va autentifikatsiya

NestJS

6-qism: Frontend asoslari

HTML

CSS

TypeScript

React

7-qism: Testlash va yetkazib berish

Testlash (Jest)

CI/CD (GitHub Actions)

Loyihani deploy qilish