2024.03.06 TIL - Nest.js 등장!

김민석·2024년 3월 6일
0

TIL

목록 보기
46/78

웹개발의 시작은 express.js

Node.js를 처음으로 공부하는 분들은 공부를 하다가 반드시 웹 서버를 개발하는 챕터에 이르게 되는데 이때, 항상 책이나 매뉴얼에서는 Express를 공식 라이브러리처럼 다룬다.

Express.js의 장점과 단점

웹서버 개발을 할때 최소한의 코드로 빠르게 개발 가능
갖고 놀기 좋은 테스트 서버 만드는 것에 매우 최적화.

하지만 복잡한 웹 서버를 개발해야 한다면
사용하는 미들웨어가 점점 많아지면서 가장 경량으로 구현했던 테스트용 웹서버가 점점 무거워진다

Express.js로 레이어드 아키텍처 패턴을 적용한다면?!

반찬도 셀프, 물도 셀프, 프레임워크 구조 설계도 셀프

  • express는 내가 원하는 제품을 만들 수 있지만 대부분 셀프 서비스 이다.
  • 하나하나 조립하기 좋아하는 개발자들이면 크게 불편함을 느끼지는 않겠지만, 다른 환경에서 잘 준비된 웹 프레임워크를 사용하다가 Express를 사용하면 분명히 귀찮음을 느낄 것이다!

셀프 서비스는 자유롭지만 번거롭기도 하다

  • Express로 레이어드 아키텍처 패턴을 나타내기 위해서는 디렉토리 구조를 명확하게 설계해야 하며 서비스 요구사항 변경 및 기획이 추가됨에 따라서 필요한 개념들을 새롭게 추가하여야 합니다.

Nest.js의 등장

명령어 하나로 쉽고 간편하게 계층 생성!

  • Nest.js는 타입스크립트 기반의 웹 프레임워크이기 때문에 자바스크립트에 비해서 보다 엄격한 타입 체크를 함으로써 여러 예외 상황을 사전에 방지할 수 있다!
  • 레이어드 아키텍처 패턴을 구성할 때 Nest.js는 커맨드 하나로 간편하게 대부분의 구성요소를 구현할 수 있음
nest g co posts
  • 단, 4개의 단어로 컨트롤러를 가볍게 생성할 수 있습니다. g는 generate의 약어이며 co는 controller의 약어입니다.
    즉, nest로 posts라는 컨트롤러를 만들겠다! 란 뜻의 명령어입니다.
profile
화이팅 화이팅

0개의 댓글