원래는 JAVA를 공부해보고 싶었지만 그래도 익숙한 JavaScript와 현재 프로젝트에서 배운 TypeScript와 같이 사용하기 좋은 NestJS를 먼저 배워보는게 나을거 같아 강의를 듣고 공부를 시작하게 되었다.
NestJS
는 효율적이고 확장 가능한 Node.js
서버 측 애플리케이션을 구축하기 위한 프레임 워크
입니다. 프로그레시브 JavaScript를 사용하고 TypeScript로 빌드 되고 완벽하게 지원하며 OOP(Object Oriented Programming)
, FP (Functional Programming)
및 FRP (Frunctional Reactive Programming)
요소를 사용할 수 있게 해줍니다.
내부적으로 Nest
는 Express(기본값)
와 같은 강력한 HTTP 서버 프레임워크를 사용하며 선택적으로 Fastify
사용하도록 구성할 수도 있습니다. Nest는 이러한 공통 Node.js 프레임워크 (Express / Fastify) 위에 추상화 수준을 제공하지만 API를 개발자에게 직접 노출합니다. 이를 통해 개발자는 기본 플랫폼에서 사용할 수 있는 수많은 타사 모듈을 자유롭게 사용할 수 있습니다.
🕵️ Fastify 란?
Fastify란 Node.js 환경에서 사용되는 빠르고 저렴한 HTTP 서버 프레임워크입니다. Express와 유사한 기능을 제공하면서도 더 높은 성능을 목표로 하고 있으며, 특히 비동기 작업에서 빠른 응답 속도를 자랑합니다.
주요 특징
NestJS는 기본적으로 Express를 사용하지만, Fastify를 사용하도록 구성할 수도 있어 개발자가 필요에 따라 더 높은 성능을 추구할 수 있는 옵션을 제공합니다.
Node (및 서버측 JavaScript)를 위한 훌륭한 라이브러리, 도우미 및 도구가 많이 존재하지만 이들 중 어느 것도 아키텍처의 주요 문제를 효과적으로 해결하지 못합니다.
Nest는 개발자와 팀이 고도로 테스트 가능하고 확장 가능하며 느슨하게 결합되고 유지 관리가 쉬운 애플리케이션을 만들 수 있는 즉시 사용 가능한 애플리케이션 아키텍처를 제공합니다. 이 아키텍처는 Angular에서 크게 영감을 받았습니다.
출처: JhonAhn님의 유튜브 강의 NestJS를 참고하여 작성하였습니다.