TypeScript API·PostgreSQL·OAuth·큐·WebSocket·EKS
DispatchHub로 DTO, 트랜잭션, outbox, 실시간 상태와 EKS 운영을 단계적으로 익힌다.
상태: 출간 후보 웹교정쇄 · 11.1.29 빌드·자동 QA 통과 · 실배포 감수 대기 · 48개 장

확인일 2026-08-14, NestJS 11.1.x(예제 11.1.29), CLI 11.0.21, Node 24를 고정한다. DispatchHub는 방문 점검 요청을 기사에게 배정하고 상태를 실시간 전달한다. DTO, OAuth, PostgreSQL transaction, outbox·queue, WebSocket, EKS, 도메인·CDN까지 만든다.
목차
- 1장. NestJS가 해결하는 구조
- 2장. 요청이 지나가는 순서
- 3장. Module 경계
- 4장. DispatchHub 도메인
- 5장. DTO와 ValidationPipe
- 6장. Controller와 오류 계약
- 7장. Provider와 DI
- 8장. PostgreSQL transaction
- 9장. 인증과 OAuth/OIDC
- 10장. Queue와 Outbox
- 11장. WebSocket 실시간 상태
- 12장. 외부 지도·알림 API
- 13장. 보안 기본값
- 14장. 테스트
- 15장. 동일 DispatchHub 화면
- 16장. Configuration과 secret
- 17장. 로그·Metric·Trace
- 18장. 성능과 Event Loop
- 19장. Container build
- 20장. EKS 배포
- 21장. 도메인·TLS·CDN
- 22장. CI/CD와 롤백
- 23장. 운영 runbook
- 24장. 10일 런칭 과정
- 25장. 저작권과 출간 검수
- 26장. Node와 package graph를 재현한다
- 27장. NestJS 11과 Express 5 라우팅을 점검한다
- 28장. Dispatch 상태 기계를 코드로 고정한다
- 29장. DTO는 외부 계약이고 TypeScript는 아니다
- 30장. Provider lifetime과 종료 순서를 이해한다
- 31장. PostgreSQL transaction으로 한 번만 배정한다
- 32장. Idempotency-Key의 생애를 설계한다
- 33장. Outbox와 Queue의 책임을 나눈다
- 34장. WebSocket은 빠른 알림이고 원장이 아니다
- 35장. OAuth와 업무 인가를 공격자 관점에서 시험한다
- 36장. 외부 지도와 알림에 비용·시간 예산을 건다
- 37장. 예외·로그·Trace를 한 사건 번호로 잇는다
- 38장. Testcontainers와 계약 테스트를 층별로 쓴다
- 39장. Event Loop와 Pool을 함께 측정한다
- 40장. Container와 graceful shutdown을 실제로 시험한다
- 41장. EKS에서 API와 Worker를 따로 운영한다
- 42장. Migration과 Event Version의 배포 순서를 정한다
- 43장. 도메인·TLS·CDN을 한 번에 리허설한다
- 44장. 장애 훈련 — Queue lag가 계속 증가한다
- 45장. 장애 훈련 — WebSocket에는 완료, DB에는 배정 중이다
- 46장. 장애 훈련 — JWT 새 키만 실패한다
- 47장. 12일 완주 프로젝트
- 48장. 최종 실기와 상업판 판정