1. 강의 목표
이 강의에서는 NestJS의 기본 개념과 핵심 특징을 이해하고, NestJS가 왜 현대 백엔드 개발에 적합한지, 그리고 어떤 상황에서 유용한지를 배웁니다.
2. NestJS 개요
개념
- NestJS는 현대적인 서버사이드 애플리케이션을 구축하기 위한 프레임워크입니다.
- TypeScript로 작성되며, Angular에서 영감을 받아 모듈화, 의존성 주입(Dependency Injection), 데코레이터(Decorators) 등의 개념을 활용합니다.
역사
- 발표 연도: 2017년
- 창시자: Kamil Myśliwiec
주요 특징
- TypeScript 기반: 타입 안정성과 개발 경험을 향상시키는 TypeScript를 사용합니다.
- 모듈화: 애플리케이션을 모듈로 나누어 관리하고, 코드의 재사용성을 높입니다.
- 의존성 주입: 의존성을 관리하여 코드의 결합도를 낮추고 테스트 용이성을 높입니다.
- 미들웨어: HTTP 요청을 처리하기 위한 다양한 미들웨어를 지원합니다.
- 데코레이터: 클래스와 메서드에 메타데이터를 추가하여 코드의 가독성을 높이고 기능을 확장합니다.
3. NestJS의 핵심 구성 요소
1. 모듈 (Modules)
- 설명: NestJS 애플리케이션은 여러 모듈로 구성됩니다. 모듈은 관련된 기능을 그룹화하여 애플리케이션을 모듈화합니다.
- 예시: 사용자 관리, 주문 처리 등 특정 기능별로 모듈을 나눕니다.
2. 컨트롤러 (Controllers)