
āļāļĢāļ°āļŠāļīāļāļāļīāļ āļēāļāđāļĨāļ°āļāļēāļĢ Deploy āļāļ Cloud
Event loop, blocking I/O, profiling, memory leaks, āļāļēāļĢ optimize query, āļāļēāļĢāļāļĩāļāļāļąāļ, clustering, worker threads, load balancing, āļāļēāļĢ caching āđāļāļīāļāļāļĨāļĒāļļāļāļāđ (Redis + HTTP), AWS (ECS, Lambda), serverless, āļāļĨāļĒāļļāļāļāđāļāļēāļĢ deploy (blue/green, canary)
1āđāļāļ§āļāļēāļāđāļāļāļĩāđāļāđāļ§āļĒāđāļāļīāđāļĄāļāļĢāļ°āļŠāļīāļāļāļīāļ āļēāļāļāļēāļĢ deploy container NestJS āđāļ AWS ECS?
āđāļāļ§āļāļēāļāđāļāļāļĩāđāļāđāļ§āļĒāđāļāļīāđāļĄāļāļĢāļ°āļŠāļīāļāļāļīāļ āļēāļāļāļēāļĢ deploy container NestJS āđāļ AWS ECS?
āļāļģāļāļāļ
āđāļāļ·āđāļāđāļāļīāđāļĄāļāļĢāļ°āļŠāļīāļāļāļīāļ āļēāļāļāļēāļĢ deploy container NestJS āļāļ ECS: āđāļāđ multi-stage Docker builds āđāļāļ·āđāļāļĨāļāļāļāļēāļ image āļŠāļļāļāļāđāļēāļĒ (build stage + production stage āđāļāļ minimal), āđāļāđ Docker layer caching āđāļāļ·āđāļāđāļĢāđāļāļāļēāļĢ build, āđāļāđ ECR (Elastic Container Registry) āđāļ region āđāļāļĩāļĒāļ§āļāļąāļāđāļāļ·āđāļāļĨāļ latency, āļāļąāđāļāļāđāļē health checks āļāļĩāđāđāļŦāļĄāļēāļ°āļŠāļĄ, āđāļāđ Fargate āđāļāļ·āđāļāđāļŦāđāļāļēāļĢāļāļąāļāļāļēāļĢāļāđāļēāļĒāļāļķāđāļ, āļāļģāļŦāļāļ resource limits (CPU/memory) āļāļĩāđāđāļŦāļĄāļēāļ°āļŠāļĄ, āļāļģ graceful shutdown āļŠāļģāļŦāļĢāļąāļ SIGTERM āļāļīāļĄāđāļĄāļ Node.js alpine āļāļĩāđ optimize āđāļĨāđāļ§āļāļēāļāļĄāļĩāļāļāļēāļ <100MB āđāļāļĩāļĒāļāļāļąāļ >1GB āļāļĩāđāđāļĄāđāđāļāđ optimize
2āđāļāļŠāļŦāļĨāļąāļāļāļāļ event loop āđāļ Node.js āļĄāļĩāļāļ°āđāļĢāļāđāļēāļ?
āđāļāļŠāļŦāļĨāļąāļāļāļāļ event loop āđāļ Node.js āļĄāļĩāļāļ°āđāļĢāļāđāļēāļ?
āļāļģāļāļāļ
event loop āļāļāļ Node.js āļĄāļĩ 6 āđāļāļŠāļŦāļĨāļąāļ: timers (setTimeout/setInterval), pending callbacks (I/O callback āļāļĩāđāļāļđāļāđāļĨāļ·āđāļāļ), idle/prepare (āļ āļēāļĒāđāļ), poll (āļāļķāļ event I/O āđāļŦāļĄāđ), check (setImmediate) āđāļĨāļ° close callbacks āđāļāđāļĨāļ°āđāļāļŠāļĄāļĩ queue āđāļāļ FIFO āļāļāļ callback āļāļĩāđāļāļ°āļĢāļąāļ āđāļāļŠ poll āļŠāļģāļāļąāļāļāļĩāđāļŠāļļāļāđāļāļĢāļēāļ°āļāļąāļāļāļēāļĢ event I/O
3āļāļēāļĢāļāļģāļāļēāļāđāļāļāļāļĨāđāļāļ (blocking I/O) āđāļ Node.js āļŠāđāļāļāļĨāļāļĢāļ°āļāļāļāļĒāđāļēāļāđāļĢ?
āļāļēāļĢāļāļģāļāļēāļāđāļāļāļāļĨāđāļāļ (blocking I/O) āđāļ Node.js āļŠāđāļāļāļĨāļāļĢāļ°āļāļāļāļĒāđāļēāļāđāļĢ?
āļāļģāļāļāļ
āļāļēāļĢāļāļģāļāļēāļāđāļāļāļāļĨāđāļāļāđāļ Node.js āļāļ°āļāļĨāđāļāļ event loop āļāļąāđāļāļŦāļĄāļ āļāļģāđāļŦāđāļāļēāļĢāļāļģāļāļēāļāļāļ·āđāļāđ āļāļąāđāļāļŦāļĄāļāđāļĄāđāļŠāļēāļĄāļēāļĢāļāļāļĢāļ°āļĄāļ§āļĨāļāļĨāđāļāđ āļŠāļīāđāļāļāļĩāđāļāļģāđāļŦāđāļāļĢāļ°āļŠāļīāļāļāļīāļ āļēāļāļĨāļāļĨāļāļāļĒāđāļēāļāļĄāļēāļāđāļāļĢāļēāļ° Node.js āđāļāđāļāđāļāļ single-thread āļāļēāļĢāļāļģāļāļēāļāđāļāļ synchronous āđāļāđāļ fs.readFileSync, crypto.pbkdf2Sync āļŦāļĢāļ·āļ loop āļāļĩāđāļŦāļāļąāļāļāļ°āļāļĨāđāļāļ thread āļŦāļĨāļąāļ āļāļ§āļĢāđāļāđāđāļ§āļāļĢāđāļāļąāļ asynchronous āđāļŠāļĄāļ āļŦāļĢāļ·āļāļĄāļāļāļŦāļĄāļēāļĒāđāļŦāđ worker threads
āļāļ°āļĢāļ°āļāļļ memory leak āđāļāđāļāļāļāļĨāļīāđāļāļāļąāļ Node.js āļāļ production āđāļāđāļāļĒāđāļēāļāđāļĢ?
āļāļ§āļĢāđāļāđāđāļāļĢāļ·āđāļāļāļĄāļ·āļāđāļāđāļāļāļēāļĢ profiling āļāļĢāļ°āļŠāļīāļāļāļīāļ āļēāļ CPU āļāļāļāđāļāļāļāļĨāļīāđāļāļāļąāļ NestJS?
+27 āļāļģāļāļēāļĄāļŠāļąāļĄāļ āļēāļĐāļāđ
āļŦāļąāļ§āļāđāļāļŠāļąāļĄāļ āļēāļĐāļāđ Node.js / NestJS āļāļ·āđāļāđ
āļāļ·āđāļāļāļēāļ Node.js
Core API āļāļāļ Node.js
āļāļēāļĢāđāļāļĩāļĒāļāđāļāļĢāđāļāļĢāļĄāđāļāļāļāļ°āļāļīāļāđāļāļĢāļāļąāļŠ
āļāļ·āđāļāļāļēāļ Express.js
āļāļ·āđāļāļāļēāļ NestJS
āļāļēāļĢāļāļāļāđāļāļ REST API
āļāļēāļĢāļāļĢāļ§āļāļŠāļāļāļāļ§āļēāļĄāļāļđāļāļāđāļāļāđāļĨāļ° DTO
āđāļāļāļŠāļēāļĢ API āđāļĨāļ° Contract
āļāļēāļĢāļāļąāļāļāļēāļĢāļāđāļāļāļīāļāļāļĨāļēāļ
āļāļēāļĢāļāļāļŠāļāļāļŦāļāđāļ§āļĒ (Unit Testing)
āļāļēāļĢāļāļąāļāļāļēāļĢāļēāļāļāļēāļ
Module āđāļĨāļ° DI āļāļāļ NestJS
āļāļēāļĢāļāļģāļŦāļāļāļāđāļēāđāļĨāļ°āļāļēāļĢāļāļąāļāļāļēāļĢāļŠāļ āļēāļāđāļ§āļāļĨāđāļāļĄ
āļāļēāļĢāļĒāļ·āļāļĒāļąāļāļāļąāļ§āļāļāļāđāļ§āļĒ JWT
āļāļēāļĢāđāļŦāđāļŠāļīāļāļāļīāđāđāļĨāļ° RBAC
āļāļēāļāļāđāļāļĄāļđāļĨāļāđāļ§āļĒ TypeORM
Prisma ORM
Middleware āđāļĨāļ° Interceptor
āļāļēāļĢāļāļąāļāđāļŦāļĨāļāđāļāļĨāđ
WebSockets
GraphQL āļāļąāļ NestJS
āļāļēāļĢāļāļāļŠāļāļāđāļāļ End-to-End
āļāļēāļĢāđāļāļāļāđāļ§āļĒ Redis
āļāļīāļ§āļāđāļ§āļĒ Bull
DevOps, Logging āđāļĨāļ° CI/CD
Docker āđāļĨāļ° Containerization
āđāļĄāđāļāļĢāđāļāļāļĢāđāļ§āļīāļŠ
āđāļāļ§āļāļēāļāļāļāļīāļāļąāļāļīāļāļĩāđāļāļĩāļāļĩāđāļŠāļļāļāļāđāļēāļāļāļ§āļēāļĄāļāļĨāļāļāļ āļąāļĒ
āđāļāļĩāđāļĒāļ§āļāļēāļ Node.js / NestJS āļŠāļģāļŦāļĢāļąāļāļāļēāļĢāļŠāļąāļĄāļ āļēāļĐāļāđāļāļĢāļąāđāļāļāļąāļāđāļ
āđāļāđāļēāļāļķāļāļāļģāļāļēāļĄāļāļąāđāļāļŦāļĄāļ flashcards āđāļāļāļāļāļŠāļāļāđāļāļāļāļīāļ āđāļāļāļāļķāļāļŦāļąāļ code review āđāļĨāļ°āļāļąāļ§āļāļģāļĨāļāļāļŠāļąāļĄāļ āļēāļĐāļāđ
āđāļĢāļīāđāļĄāđāļāđāļāļĢāļĩ