
GraphQL āļāļąāļ NestJS
Apollo Server, resolvers, schemas, queries, mutations, subscriptions, data loaders
1GraphQL āļāļ·āļāļāļ°āđāļĢ?
GraphQL āļāļ·āļāļāļ°āđāļĢ?
āļāļģāļāļāļ
GraphQL āđāļāđāļāļ āļēāļĐāļēāļŠāļģāļŦāļĢāļąāļ query API āļāļĩāđāļāļąāļāļāļēāđāļāļĒ Facebook āļāļķāđāļāļāđāļ§āļĒāđāļŦāđ client āļāļāļāđāļāļĄāļđāļĨāđāļāđāļāļĢāļāļāļēāļĄāļāļĩāđāļāđāļāļāļāļēāļĢ āļāđāļēāļāļāļēāļ REST āļāļĩāđāđāļāđāļĨāļ° endpoint āļāļ·āļāđāļāļĢāļāļŠāļĢāđāļēāļāļāļĩāđāļāļēāļĒāļāļąāļ§ GraphQL āļĄāļĩāļāļļāļāđāļāđāļēāđāļāļĩāļĒāļāļāļļāļāđāļāļĩāļĒāļ§āļāļĢāđāļāļĄ schema āļāļĩāđāļāļģāļŦāļāļāļāļāļīāļāļāļĒāđāļēāļāđāļāđāļĄāļāļ§āļ āđāļāļ§āļāļēāļāļāļĩāđāļāđāļ§āļĒāļĨāļāļāļēāļĢ over-fetching āđāļĨāļ° under-fetching āļāļāļāļāđāļāļĄāļđāļĨāļāļĢāđāļāļĄāļāļąāđāļāļāļĢāļąāļāļāļĢāļļāļāļāļĢāļ°āļŠāļīāļāļāļīāļ āļēāļāļāļāļāđāļāļāļāļĨāļīāđāļāļāļąāļ
2āļāļāļāļēāļāļŦāļĨāļąāļāļāļāļ schema GraphQL āļāļ·āļāļāļ°āđāļĢ?
āļāļāļāļēāļāļŦāļĨāļąāļāļāļāļ schema GraphQL āļāļ·āļāļāļ°āđāļĢ?
āļāļģāļāļāļ
Schema āļāļāļ GraphQL āļāļģāļŦāļāļāđāļāļĢāļāļŠāļĢāđāļēāļāļāļāļ API āļāļąāđāļāļŦāļĄāļāļāđāļ§āļĒāļāļēāļĢāļĢāļ°āļāļļāļāļāļīāļāļāđāļāļĄāļđāļĨāļāļĩāđāđāļāđāđāļāđ queries mutations āđāļĨāļ°āļāļ§āļēāļĄāļŠāļąāļĄāļāļąāļāļāđāļĢāļ°āļŦāļ§āđāļēāļ entity āļāļģāļŦāļāđāļēāļāļĩāđāđāļāđāļāļŠāļąāļāļāļēāļĢāļ°āļŦāļ§āđāļēāļ client āđāļĨāļ° server āļāđāļ§āļĒāđāļŦāđāļāļĢāļ§āļāļŠāļāļāļāļ§āļēāļĄāļāļđāļāļāđāļāļāļāļāļ query āđāļāļĒāļāļąāļāđāļāļĄāļąāļāļīāđāļĨāļ°āđāļāļīāļĄāļāđāļāļāļ§āļēāļĄāļāļąāļāđāļāļĄāļąāļāļīāđāļāđāļāļĢāļ·āđāļāļāļĄāļ·āļāļāļąāļāļāļē Schema āđāļāđ Schema Definition Language (SDL) āđāļāļ·āđāļāļāļāļīāļāļēāļĒāļāļāļīāļāđāļĨāļ°āļāļīāļĨāļāđāļāļāļāļĄāļąāļāđāļāļ declarative
3āļāļ§āļēāļĄāđāļāļāļāđāļēāļāļĢāļ°āļŦāļ§āđāļēāļ Query āđāļĨāļ° Mutation āļāļ·āļāļāļ°āđāļĢ?
āļāļ§āļēāļĄāđāļāļāļāđāļēāļāļĢāļ°āļŦāļ§āđāļēāļ Query āđāļĨāļ° Mutation āļāļ·āļāļāļ°āđāļĢ?
āļāļģāļāļāļ
Queries āđāļāđāļŠāļģāļŦāļĢāļąāļāļāđāļēāļāļāđāļāļĄāļđāļĨāđāļāļĒāđāļĄāđāđāļāļĨāļĩāđāļĒāļāļŠāļāļēāļāļ°āļāļāļāđāļāļīāļĢāđāļāđāļ§āļāļĢāđ āđāļāļāļāļ°āļāļĩāđ Mutations āđāļāđāļŠāļģāļŦāļĢāļąāļāļŠāļĢāđāļēāļ āđāļāđāđāļ āļŦāļĢāļ·āļāļĨāļāļāđāļāļĄāļđāļĨ āļāļēāļĢāđāļĒāļāđāļāļīāļāļāļ§āļēāļĄāļŦāļĄāļēāļĒāļāļĩāđāļāđāļ§āļĒāđāļŦāđāđāļāđāļēāđāļāđāļāļāļāļēāļāļāļāļāļēāļĢāļāļģāđāļāļīāļāļāļēāļĢāđāļĨāļ°āļāđāļ§āļĒāđāļŦāđāđāļāļīāļĢāđāļāđāļ§āļāļĢāđāđāļāđāļāļēāļĢāļāļĢāļąāļāđāļāđāļāđāļāļāļēāļ°āđāļāđ āļāļēāļĄāļāļĢāļĢāļĄāđāļāļĩāļĒāļĄ Queries āļŠāļēāļĄāļēāļĢāļāļāļģāļāļēāļāđāļāļāļāļāļēāļāđāļāđ āđāļāļāļāļ°āļāļĩāđ Mutations āļāļģāļāļēāļāđāļāļāļĨāļģāļāļąāļāđāļāļ·āđāļāļĢāļąāļāļāļĢāļ°āļāļąāļāļāļ§āļēāļĄāļŠāļāļāļāļĨāđāļāļāļāļāļāļāđāļāļĄāļđāļĨ
resolver āđāļ GraphQL āļāļ·āļāļāļ°āđāļĢ?
decorator āļāļāļ NestJS āļāļąāļ§āđāļāļāļĩāđāđāļāđāļāļģāļŦāļāļ Query āļāļāļ GraphQL?
+22 āļāļģāļāļēāļĄāļŠāļąāļĄāļ āļēāļĐāļāđ
āļŦāļąāļ§āļāđāļāļŠāļąāļĄāļ āļēāļĐāļāđ 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
āļāļēāļĢāļāļāļŠāļāļāđāļāļ End-to-End
āļāļēāļĢāđāļāļāļāđāļ§āļĒ Redis
āļāļīāļ§āļāđāļ§āļĒ Bull
DevOps, Logging āđāļĨāļ° CI/CD
Docker āđāļĨāļ° Containerization
āđāļĄāđāļāļĢāđāļāļāļĢāđāļ§āļīāļŠ
āđāļāļ§āļāļēāļāļāļāļīāļāļąāļāļīāļāļĩāđāļāļĩāļāļĩāđāļŠāļļāļāļāđāļēāļāļāļ§āļēāļĄāļāļĨāļāļāļ āļąāļĒ
āļāļĢāļ°āļŠāļīāļāļāļīāļ āļēāļāđāļĨāļ°āļāļēāļĢ Deploy āļāļ Cloud
āđāļāļĩāđāļĒāļ§āļāļēāļ Node.js / NestJS āļŠāļģāļŦāļĢāļąāļāļāļēāļĢāļŠāļąāļĄāļ āļēāļĐāļāđāļāļĢāļąāđāļāļāļąāļāđāļ
āđāļāđāļēāļāļķāļāļāļģāļāļēāļĄāļāļąāđāļāļŦāļĄāļ flashcards āđāļāļāļāļāļŠāļāļāđāļāļāļāļīāļ āđāļāļāļāļķāļāļŦāļąāļ code review āđāļĨāļ°āļāļąāļ§āļāļģāļĨāļāļāļŠāļąāļĄāļ āļēāļĐāļāđ
āđāļĢāļīāđāļĄāđāļāđāļāļĢāļĩ