Skip to content

NestJS를 선택한 이유

김영현 edited this page Oct 29, 2024 · 1 revision

개요

이번 글에서는 이번 프로젝트에서 NestJS를 선택한 이유를 설명하도록 하겠습니다.

NestJS란?

NestJSNode.js에 기반을 둔 웹 API 프레임워크로써 Express 또는 Fastify 프레임워크를 래핑하여 동작합니다. 기본으로 설치하면 Express를 사용합니다.프로그래밍 언어는 타입스크립트를 기본으로 채택하고 있어 타입스크립트가 가진 타입시스템의 장점을 누릴 수 있습니다.

NestJS 프레임워크를 사용하는 이유는?

  1. TypeScript 지원
    • TypeScript를 기본으로 하여 타입 안정성을 보장합니다
    • 개발 시 오류를 조기에 발견할 수 있습니다
    • IDE의 자동 완성과 타입 추론 기능을 최대한 활용할 수 있습니다
  2. 구조화된 아키텍처
    • NestJS는 Provider, Module, Controller, Service, Middleware 등의 요소를 제공하며, 이들을 잘 조합하여 구조화된 아키텍처를 구축할 수 있습니다.
    • 구조화된 아키텍처 덕분에 개발자들이 한방향으로 협업을 하는데 용이하며, 프로젝트 규모가 커질수록 코드의 가독성과 유지보수성을 높여줍니다.
  3. 테스트 용이성
    • Jest를 기본 테스트 프레임워크로 채택하고 있습니다.
    • 단위 테스트와 E2E 테스트를 위한 도구를 기본 제공합니다.
    • 테스트 코드 작성이 쉽고 직관적입니다.
  4. 데코레이터와 의존성 주입
    • NestJS는 의존성 주입을 프레임워크 차원에서 제공하여 테스트와 코드 관리가 용이하며, 애플리케이션의 결합도를 낮추고 유지보수성을 높여줍니다.
    • 데코레이터를 통해 기능을 선언적으로 표현 가능하며 @UseInterceptors, @UseGuards 등을 통해 관심사 분리를 할 수 있습니다.

참고 자료

https://docs.nestjs.com/

https://velog.io/@zunzero/Nest.js-%EA%B3%B5%EC%8B%9D%EB%AC%B8%EC%84%9C-%EC%A0%95%EB%A6%AC

https://velog.io/@zunzero/Nest.js-%EA%B3%B5%EC%8B%9D%EB%AC%B8%EC%84%9C-%EC%A0%95%EB%A6%AC

https://wikidocs.net/book/7059

https://nicodora.github.io/nestjs/2024/03/22/NestJS%EB%A5%BC-%EC%84%A0%ED%83%9D%ED%95%9C-%EC%9D%B4%EC%9C%A0.html

MafiaCamp

📔소개
🎯프로젝트 규칙
💻프로젝트 기획
🍀기술 스택
📚그룹 회고
🌈개발 일지
🍀문제 해결 경험
🔧트러블 슈팅
Clone this wiki locally