Node.js / NestJS

Node.js / NestJS

BACKEND

Node.js 런타임과 NestJS TypeScript-first 프레임워크를 활용한 백엔드 개발입니다. 데코레이터, 의존성 주입, 완전한 TypeScript 지원을 갖춘 모듈러 아키텍처로 높은 유지보수성을 가진 REST API, GraphQL, 엔터프라이즈급 마이크로서비스를 구축합니다.

배울 내용

모듈러 아키텍처와 데코레이터 (@Controller, @Injectable)를 갖춘 NestJS 프레임워크

고급 타입과 자동 추론을 갖춘 엄격한 TypeScript

IoC 컨테이너와 스코프를 갖춘 네이티브 의존성 주입

명확한 코드 구성을 위한 Controllers, Providers, Modules

인증을 위한 Guards, 유효성 검사를 위한 Pipes, 변환을 위한 Interceptors

마이그레이션과 복잡한 관계를 갖춘 TypeORM 또는 Prisma ORM

인증 전략 (JWT, OAuth2, local)을 위한 통합 Passport.js

code-first 또는 schema-first 접근 방식의 GraphQL

전송 계층 (TCP, Redis, gRPC, MQTT)을 활용한 마이크로서비스

포괄적인 테스트 (Jest, E2E, 단위 테스트, mocking, coverage)

마스터해야 할 핵심 주제

이 기술을 이해하고 면접에서 성공하기 위한 가장 중요한 개념

1

Node.js: Event Loop, non-blocking I/O, async/await, streams, buffers

2

NestJS 아키텍처: modules, controllers, providers, decorators

3

의존성 주입: providers, scopes (DEFAULT, REQUEST, TRANSIENT), custom providers

4

Controllers와 라우팅: @Get, @Post, @Param, @Body, @Query, route params

5

Providers와 services: 비즈니스 로직, repository pattern, service layer

6

Middleware, Guards, Interceptors, Pipes, ExceptionFilters (요청 수명 주기)

7

class-validator와 class-transformer를 활용한 유효성 검사 (DTO 유효성 검사)

8

TypeORM: entities, relations (@OneToMany, @ManyToOne), repositories, QueryBuilder

9

Prisma: schema, migrations, client, relations, transactions

10

인증: Passport.js, JWT strategy, guards, 역할 기반 접근 제어

11

설정: ConfigModule, 환경 변수, 유효성 검사

12

예외 처리: HttpException, 사용자 정의 예외, filters

13

테스트: Jest를 활용한 단위 테스트, E2E 테스트, mocking, test doubles

14

GraphQL: resolvers, schemas, mutations, subscriptions, DataLoader

15

마이크로서비스: 패턴 (request-response, event-based), transporters

16

성능: 캐싱 (Redis), 압축, rate limiting, profiling

17

로깅 (Winston, Pino), 모니터링, Docker, 배포