개발자의 logs
<개발공부, 개공> Nest.js란 무엇인가? 본문
개발공부 개공!
오늘은 Nest.js 에 대해 공부해보고자 한다.
NestJS는
Node.js에 기반을 둔 웹 API 프레임워크로써 Express 또는 Fastify 프레임워크를 래핑하여 동작한다.
(기본으로 설치하면 Express를 사용한다.)
Node.js는 손쉽게 사용할 수 있고 뛰어난 확장성을 가지고 있지만,
과도한 유연함으로 인해 SW의 품질이 일정하지 않고 알맞은 라이브러리를 찾기 위해 사용자가 많은 시간을 할애해야 한다
이에 반해 NestJS는 데이터베이스, ORM, 설정(Configuration), 유효성 검사 등 수많은 기능을 기본 제공하고 있다.
그러면서도 필요한 라이브러리를 쉽게 설치하여 기능을 확장할 수 있는 Node.js 장점은 그대로 가지고 있다.
NestJS는 Angular로부터 영향을 많이 받았다.
모듈/컴포넌트 기반으로 프로그램을 작성함으로써 재사용성을 높여준다. IoC(Inversion of Control, 제어역전), DI(Dependency Injection, 의존성 주입), AOP(Aspect Oriented Programming, 관점 지향 프로그래밍)와 같은 객체지향 개념을 도입하였다.
프로그래밍 언어는 타입스크립트를 기본으로 채택하고 있어 타입스크립트가 가진 타입시스템의 장점을 누릴 수 있다.
NestJS는 국내에서도 점점 인기를 얻고 있고 모두싸인과 당근마켓 등 여러 회사에서 적용되어 사용자가 늘고 있다.
요약:
노드기반 웹 API 프레임워크다.
노드의 과도한 유연함을 보완하기 위한 프레임워크다.
노드에 비해 수많은 기능을 기본 제공한다. (시간절약, 노동절약)
모듈/컴포넌트 기반으로 코드재활용에 좋다.
타입스크립트로 쓴다.
인기가 상승중이다.
'개발 공부지식 > *개발 공부*' 카테고리의 다른 글
<개발공부, 개공> OAuth 2.0 개념정리. (0) | 2022.08.28 |
---|---|
기술면접 준비 Node.js 50문 (0) | 2022.08.24 |
<개발공부, 개공> API 응답목록 200,401... (0) | 2022.07.21 |
<개발공부, 개공> Multer란 무엇인가? (0) | 2022.07.21 |
<트러블공부, 트공> 일반 유저와 소셜로그인 유저 중복검사 핸들링 문제 (0) | 2022.07.21 |
Comments