Express kursi
Node.js uchun minimal va tez web framework. REST API, middleware va routing.
O'rta · 75 ta dars · ~4 hafta
Mavzular: Routing, Middleware, Request/Response, Template Engines, Error Handling, Static Files, REST API, Authentication, Validation, Security
Kirish va Asoslar
- Express nima? Nima uchun kerak, boshqa frameworklar bilan farqi
- O'rnatish, birinchi server, qanday ishlaydi
- Routing — GET, POST, PUT, PATCH, DELETE
- Route parametrlar — params, query, body
- Response metodlari — send, json, status, redirect, download
- Static fayllar — express.static, papka sozlash
Middleware
- Middleware nima, qanday ishlaydi, ketma-ketlik muhimligi
- Built-in Middleware — express.json, express.urlencoded
- Third-party Middleware — morgan, compression, cors
- Custom Middleware — yaratish, next(), xatolarni uzatish
- Error Middleware — 4 parametrli, 404 handler
- Router — alohida fayllarga bo'lish, modullar
Ma'lumotlar Bazasi
- PostgreSQL — pg moduli, connection pool
- PostgreSQL — CRUD, parametrli so'rovlar, SQL Injection himoyasi
- MySQL — mysql2 moduli, CRUD
- MongoDB — mongoose, schema, model, CRUD
- Redis — ioredis, cache, TTL
- Database Transaction — nima, qachon kerak, qanday yoziladi
- Connection Pool — nima uchun kerak, qanday sozlanadi
Autentifikatsiya va Xavfsizlik
- JWT — yaratish, tekshirish, access va refresh token
- bcrypt — parolni hash qilish, solishtirish
- Passport.js — local strategiya, JWT strategiya
- Google OAuth — Passport bilan
- Session — express-session, cookie-session
- Cookie — cookie-parser, httpOnly, secure, sameSite
- Helmet — xavfsizlik headerlari
- Rate Limiting — express-rate-limit, brute force himoyasi
- CORS — nima, qanday sozlanadi, credentials, whitelist
- Input Validation — zod, joi bilan so'rovni tekshirish
- SQL Injection, XSS, CSRF — qanday himoyalanish
- Environment Variables — dotenv, maxfiy ma'lumotlarni saqlash
Fayl va Media
- Multer — fayl yuklash, storage, filter, size limit
- Sharp — rasmlarni qayta ishlash, resize, compress
- Amazon S3 — fayl saqlash, upload, delete, signed URL
- Streaming — katta fayllarni stream qilish
API Arxitekturasi
- REST API — qoidalar, best practices, versiyalash
- API Response formatini standartlashtirish
- Pagination — offset va cursor based
- Filtering va Sorting — query params bilan
- API dokumentatsiya — Swagger bilan
- Webhook — qabul qilish va yuborish
Real-time
- WebSocket — ws moduli bilan, handshake, event lar
- Socket.io — o'rnatish, room, namespace, broadcast
- Socket.io — autentifikatsiya, middleware
- Server-Sent Events — bir tomonlama real-time
Email va Xabarlar
- Nodemailer — SMTP, Gmail, email yuborish
- Email template — html email, handlebars
- SMS — Twilio bilan
- Push Notification — Firebase Cloud Messaging
Testing
- Jest — o'rnatish, birinchi test, describe, it, expect
- Supertest — HTTP endpoint larni testlash
- Unit Test — service va helper funksiyalarni testlash
- Integration Test — database bilan testlash
- Mock — funksiya, modul, database mock qilish
- Test Coverage — istanbul bilan
Performance va Monitoring
- Compression — gzip, brotli (tez kunda)
- Caching strategiyalari — server cache, HTTP cache, Redis cache (tez kunda)
- Load Testing — artillery, k6 bilan (tez kunda)
- Winston va Pino — professional logging (tez kunda)
- Morgan — HTTP request logging (tez kunda)
- PM2 — production da ishlatish, cluster mode (tez kunda)
- Memory Leak — Express da topish va hal qilish (tez kunda)
Deployment
- Environment — development, staging, production sozlash (tez kunda)
- Docker — Express ni containerlashtirish, Dockerfile (tez kunda)
- Docker Compose — Express, PostgreSQL, Redis birga (tez kunda)
- Nginx — reverse proxy, load balancer, SSL (tez kunda)
- CI/CD — GitHub Actions bilan avtomatik deploy (tez kunda)
- VPS — server sozlash, deploy qilish (tez kunda)
- Monitoring — uptime, error tracking, alerting (tez kunda)
Ilg'or mavzular
- Microservices — nima, qachon kerak, Express bilan (tez kunda)
- Message Queue — RabbitMQ, Bull bilan (tez kunda)
- GraphQL — Express bilan apollo-server (tez kunda)
- gRPC — nima, REST dan farqi, Express bilan (tez kunda)
- Clean Architecture — Express loyihasini professional tuzish (tez kunda)
- Monorepo — Express loyihalarini birga boshqarish (tez kunda)