
āļāļēāļĢāđāļŦāđāļŠāļīāļāļāļīāđāđāļĨāļ° RBAC
āļāļēāļĢāļāļ§āļāļāļļāļĄāļāļēāļĢāđāļāđāļēāļāļķāļāļāļēāļĄāļāļāļāļēāļ, custom guard, decorator, āļŠāļīāļāļāļīāđ, āļāļ§āļēāļĄāđāļāđāļāđāļāđāļēāļāļāļāļāļĢāļąāļāļĒāļēāļāļĢ
1RBAC (Role-Based Access Control) āļāļ·āļāļāļ°āđāļĢ?
RBAC (Role-Based Access Control) āļāļ·āļāļāļ°āđāļĢ?
āļāļģāļāļāļ
RBAC āļāļ·āļāļĢāļ°āļāļāļāļ§āļāļāļļāļĄāļāļēāļĢāđāļāđāļēāļāļķāļāļāļĩāđāđāļŦāđāļŠāļīāļāļāļīāđāđāļāđāļāļđāđāđāļāđāļāļēāļĄāļāļāļāļēāļāļāļāļāļāļ§āļāđāļāļē āđāļāļāļāļĩāđāļāļ°āļāļąāļāļāļēāļĢāļŠāļīāļāļāļīāđāđāļĒāļāļāļąāļāļŠāļģāļŦāļĢāļąāļāļāļđāđāđāļāđāđāļāđāļĨāļ°āļĢāļēāļĒ RBAC āļāļ°āļāļąāļāļāļĨāļļāđāļĄāļŠāļīāļāļāļīāđāđāļ§āđāđāļāļāļāļāļēāļ (āđāļāđāļ ADMIN, USER, MANAGER) āđāļĨāļ°āļāļģāļŦāļāļāļāļāļāļēāļāđāļŦāļĨāđāļēāļāļĩāđāđāļŦāđāļāļąāļāļāļđāđāđāļāđ āļāļķāđāļāļāđāļ§āļĒāđāļŦāđāļāļēāļĢāļāļąāļāļāļēāļĢāļāļēāļĢāđāļāđāļēāļāļķāļāđāļāđāļāļāļāļĨāļīāđāļāļāļąāļāļāđāļēāļĒāļāļķāđāļ āđāļāļĒāļĄāļĩāļāļĢāļ°āđāļĒāļāļāđāļāļĒāđāļēāļāļĒāļīāđāļāđāļ NestJS āđāļĄāļ·āđāļāđāļāđāļĢāđāļ§āļĄāļāļąāļ custom guard āđāļĨāļ° decorator āļāļāļ metadata
2āļāļ§āļēāļĄāđāļāļāļāđāļēāļāļĢāļ°āļŦāļ§āđāļēāļāļāļēāļĢāļĒāļ·āļāļĒāļąāļāļāļąāļ§āļāļ (authentication) āđāļĨāļ°āļāļēāļĢāđāļŦāđāļŠāļīāļāļāļīāđ (authorization) āļāļ·āļāļāļ°āđāļĢ?
āļāļ§āļēāļĄāđāļāļāļāđāļēāļāļĢāļ°āļŦāļ§āđāļēāļāļāļēāļĢāļĒāļ·āļāļĒāļąāļāļāļąāļ§āļāļ (authentication) āđāļĨāļ°āļāļēāļĢāđāļŦāđāļŠāļīāļāļāļīāđ (authorization) āļāļ·āļāļāļ°āđāļĢ?
āļāļģāļāļāļ
āļāļēāļĢāļĒāļ·āļāļĒāļąāļāļāļąāļ§āļāļāļāļ°āļāļĢāļ§āļāļŠāļāļāļāļąāļ§āļāļāļāļāļāļāļđāđāđāļāđ (āļāļļāļāļāļ·āļāđāļāļĢ?) āđāļāļĒāļāļąāđāļ§āđāļāļāđāļēāļāļāļēāļĢāļĨāđāļāļāļāļīāļ/āļĢāļŦāļąāļŠāļāđāļēāļ āļŦāļĢāļ·āļ JWT token āļŠāđāļ§āļāļāļēāļĢāđāļŦāđāļŠāļīāļāļāļīāđāļāļ°āļāļĢāļ§āļāļŠāļāļāļŠāļīāļāļāļīāđāļāļāļāļāļđāđāđāļāđ (āļāļļāļāļāļģāļāļ°āđāļĢāđāļāđāļāđāļēāļ?) āđāļāļĒāļāļ§āļāļāļļāļĄāļāļēāļĢāđāļāđāļēāļāļķāļāļāļĢāļąāļāļĒāļēāļāļĢāļāļēāļĄāļāļāļāļēāļāļŦāļĢāļ·āļāļŠāļīāļāļāļīāđ āđāļ NestJS āļāļēāļĢāļĒāļ·āļāļĒāļąāļāļāļąāļ§āļāļāļĄāļąāļāđāļāđ JwtAuthGuard āļāļāļ°āļāļĩāđāļāļēāļĢāđāļŦāđāļŠāļīāļāļāļīāđāđāļāđ custom guard āđāļāđāļ RolesGuard āđāļāļ·āđāļāļāļĢāļ§āļāļŠāļāļāļŠāļīāļāļāļīāđāļāļēāļĢāđāļāđāļēāļāļķāļ
3decorator āļāļāļ NestJS āļāļąāļ§āđāļāļāļĩāđāđāļāđāļŠāļĢāđāļēāļ custom guard āđāļāđ?
decorator āļāļāļ NestJS āļāļąāļ§āđāļāļāļĩāđāđāļāđāļŠāļĢāđāļēāļ custom guard āđāļāđ?
āļāļģāļāļāļ
āđāļāļāļēāļĢāļŠāļĢāđāļēāļ custom guard āđāļ NestJS āđāļŦāđāļŠāļĢāđāļēāļāļāļĨāļēāļŠāļāļĩāđāļāļāđāļāđāļāļāđāļ§āļĒ @Injectable() āļāļķāđāļāđāļāđāļāļēāļ interface CanActivate interface āļāļĩāđāļāļģāļŦāļāļāđāļŦāđāļĄāļĩāđāļĄāļāļāļ canActivate(context: ExecutionContext) āļāļĩāđāļāļ·āļāļāđāļēāđāļāđāļ boolean āļŦāļĢāļ·āļ Promise āļāļēāļāļāļąāđāļ guard āļŠāļēāļĄāļēāļĢāļāļāļģāđāļāđāļāđāļāļąāļ route āđāļāđāļāđāļ§āļĒ @UseGuards() āļŠāļāļēāļāļąāļāļĒāļāļĢāļĢāļĄāļāļĩāđāļāđāļ§āļĒāđāļŦāđāļŠāļēāļĄāļēāļĢāļ inject dependency (service, repository) āđāļāđāļēāđāļāđāļ guard āđāļāļ·āđāļāļāļģāļāļēāļĢāļāļĢāļ§āļāļŠāļāļāļāļĩāđāļāļąāļāļāđāļāļāđāļāđ
āđāļ RBAC 'permission' (āļŠāļīāļāļāļīāđ) āļŦāļĄāļēāļĒāļāļķāļāļāļ°āđāļĢ?
āļāļ°āđāļāļ guard āđāļāđāļēāļāļąāļ controller āđāļ NestJS āđāļāđāļāļĒāđāļēāļāđāļĢ?
+17 āļāļģāļāļēāļĄāļŠāļąāļĄāļ āļēāļĐāļāđ
āļŦāļąāļ§āļāđāļāļŠāļąāļĄāļ āļēāļĐāļāđ Node.js / NestJS āļāļ·āđāļāđ
āļāļ·āđāļāļāļēāļ Node.js
Core API āļāļāļ Node.js
āļāļēāļĢāđāļāļĩāļĒāļāđāļāļĢāđāļāļĢāļĄāđāļāļāļāļ°āļāļīāļāđāļāļĢāļāļąāļŠ
āļāļ·āđāļāļāļēāļ Express.js
āļāļ·āđāļāļāļēāļ NestJS
āļāļēāļĢāļāļāļāđāļāļ REST API
āļāļēāļĢāļāļĢāļ§āļāļŠāļāļāļāļ§āļēāļĄāļāļđāļāļāđāļāļāđāļĨāļ° DTO
āđāļāļāļŠāļēāļĢ API āđāļĨāļ° Contract
āļāļēāļĢāļāļąāļāļāļēāļĢāļāđāļāļāļīāļāļāļĨāļēāļ
āļāļēāļĢāļāļāļŠāļāļāļŦāļāđāļ§āļĒ (Unit Testing)
āļāļēāļĢāļāļąāļāļāļēāļĢāļēāļāļāļēāļ
Module āđāļĨāļ° DI āļāļāļ NestJS
āļāļēāļĢāļāļģāļŦāļāļāļāđāļēāđāļĨāļ°āļāļēāļĢāļāļąāļāļāļēāļĢāļŠāļ āļēāļāđāļ§āļāļĨāđāļāļĄ
āļāļēāļĢāļĒāļ·āļāļĒāļąāļāļāļąāļ§āļāļāļāđāļ§āļĒ JWT
āļāļēāļāļāđāļāļĄāļđāļĨāļāđāļ§āļĒ TypeORM
Prisma ORM
Middleware āđāļĨāļ° Interceptor
āļāļēāļĢāļāļąāļāđāļŦāļĨāļāđāļāļĨāđ
WebSockets
GraphQL āļāļąāļ NestJS
āļāļēāļĢāļāļāļŠāļāļāđāļāļ End-to-End
āļāļēāļĢāđāļāļāļāđāļ§āļĒ Redis
āļāļīāļ§āļāđāļ§āļĒ Bull
DevOps, Logging āđāļĨāļ° CI/CD
Docker āđāļĨāļ° Containerization
āđāļĄāđāļāļĢāđāļāļāļĢāđāļ§āļīāļŠ
āđāļāļ§āļāļēāļāļāļāļīāļāļąāļāļīāļāļĩāđāļāļĩāļāļĩāđāļŠāļļāļāļāđāļēāļāļāļ§āļēāļĄāļāļĨāļāļāļ āļąāļĒ
āļāļĢāļ°āļŠāļīāļāļāļīāļ āļēāļāđāļĨāļ°āļāļēāļĢ Deploy āļāļ Cloud
āđāļāļĩāđāļĒāļ§āļāļēāļ Node.js / NestJS āļŠāļģāļŦāļĢāļąāļāļāļēāļĢāļŠāļąāļĄāļ āļēāļĐāļāđāļāļĢāļąāđāļāļāļąāļāđāļ
āđāļāđāļēāļāļķāļāļāļģāļāļēāļĄāļāļąāđāļāļŦāļĄāļ flashcards āđāļāļāļāļāļŠāļāļāđāļāļāļāļīāļ āđāļāļāļāļķāļāļŦāļąāļ code review āđāļĨāļ°āļāļąāļ§āļāļģāļĨāļāļāļŠāļąāļĄāļ āļēāļĐāļāđ
āđāļĢāļīāđāļĄāđāļāđāļāļĢāļĩ