01. 시리즈 개요/Nest를 쓰는 이유

유현준·2022년 8월 11일
0

hello! Nest

목록 보기
1/17

1. 시리즈 개요

  • 부트캠프 PM일을 병행하면서 개발공부를 하고 있다.
  • 일을 시작한지 한 달 남짓이 지나, 업무에 적응하면서 슬슬 개발 공부에 탄력을 붙이는 중이다.
  • OOP, Nest, 알고리즘/자료구조 등 다양한 공부 키워드가 있었지만, Nest를 첫 공부 대상으로 잡았다.
    => 이유는 간단했다. 최근 node.js에 기반한 BE에서 특히 Nest에 대한 관심이 커지고 있음을 느꼈기 때문이다.
  • 그래서 일을 하면서 차근차근 이번 한달동안 Nest를 공부하고, 기록할만한 내용들을 이 시리즈에 담고자 한다.

이 시리즈에는 Nest를 공부하면서 내가 느낀 Nest의 맥락/특징 을 중점적으로 서술하려고 한다.
즉, 참고문헌이나 레퍼런스를 바탕으로 더 깊게 Nest를 공부하는 것은 일단 후순위로 미뤄두겠다는 말이다.
이유는 업무/공부 병행에 따라 스스로의 템포를 조절하기 위함이다.

참고문헌이나 레퍼런스가 부족한 부분은 추후에 해당 키워드를 따로 TIL로 작성하거나, 게시물을 수정하는 형식으로 채워나가고자 한다.

2. Nest가 요새 "핫한" 이유와 특징

  • Express를 경험한 사람이라면 한 번쯤 느낄만한 것이 자유도가 높은만큼, 처음 배우기는 쉽지만, 유지/보수하기가 참 까다롭다라고 생각한다.
  • Nest는 Node.js 환경에서 구조적으로 뛰어난 방식으로 웹 어플리케이션을 구축하게끔 지원하는 프레임워크다.
    => Nest는 모듈화/캡슐화, 의존성 주입, OOP에 기반했다는 것 등의 특징을 가지고 있는데, 이는 모두 개별 코드의 역할과 책임을 분명하게 하고, 개발자로 하여금 높은 수준의 추상화와 이에 따른 높은 코드 생산성/가독성을 지원하기 위함이다.

    즉, Nest 는 Express의 단점을 보완하기 위해 나온 것으로, 확장성이 뛰어나고, 유지/보수 그리고 테스트에 용이한 웹 어플리케이션 구축을 위한 프레임워크이며, 실제 개발 과정에서 Nest를 통해 개발 편의성/생산성이 크게 높아지는 것이 증명되고 있기 때문에, Nest가 최근 크게 주목받고 있는 것이라 생각한다.

3. 정리

  • Nest가 핫한 이유
    => 구조적으로 생산성이 높은 웹어플리케이션을 Node.js 플랫폼 환경에서 구축하게 도와주는 프레임워크이기 때문
  • 그런 Nest의 특징(추후 보강 예정)
    1) 모듈/캡슐화
    => 모듈화 되어 있기 때문에, 각 기능별로 역할/책임이 분명하고, 각 모듈의 구성 요소는 은닉화 되어 있기 때문에 다른 모듈에서는 원칙적으로는 사용불가함.
    => 모듈에서 다른 모듈에서 요구되는 요소를 exports하면, 사용 가능함.
    2) controller, service에 기반한 명확한 폴더구조
    3) 공급자 개념과 의존성 주입 등 OOP 요소
    4) 데코레이션 패턴
profile
차가운에스프레소의 개발블로그입니다. (22.03. ~ 22.12.)

0개의 댓글