[NestJS] NestJS, 한 번 빠지면 벗어날 수 없는 마성의 늪(3) : NestJS를 이해하기 위한 First Class Function, Closure 그리고 Decorator
·
Learning-Log/Computer Science
NestJS를 이해하려면, Decorator를 알아야하고, Decorator를 알기 위해서는 Closure 개념과 비교하면 좋다. 근데 Closure 개념과 Decorator를 위해서는 First Class Function 이라는 개념에 대해 짚고 가는 것이 먼저이다. 따라서 이번 포스팅에서는 First Class Function, Closure, Decorator를 알아보려고 한다. 참고로 Decorator는 아직 ES의 정식 기능이 아니며, ECMA TC39의 실험적 기능이다. 하지만 Nest 등 최신 프레임워크 중에서는 Decorator를 지원하는 경우가 있고, Babel도 Decorator를 지원하고 있다. 이 이면에는 비밀이 있는데, Decorator는 새로운 문법이 아니라는 점이다! 사실 De..
[NestJS] NestJS, 한 번 빠지면 벗어날 수 없는 마성의 늪(2) : NestJS 시작하기 & Express 프로젝트를 Nest로 마이그레이션 하는 경우
·
Learning-Log/Computer Science
1. NestJS 시작하기 $ npm i -g @nestjs/cli cli 버전으로 설치하는 이유는 cli 버전을 통해 nest가 지원하는 '프로젝트 초기화' 기능을 활용하기 위함이다. 다시 말해, @nestjs/cli를 설치한다고 해서 nest의 실질적인 패키지가 다운로드 되지는 않는다. 이는 위 코드를 입력한 뒤 성공적으로 설치가 끝나더라도 package.json 파일상에서는 그 무엇도 변하지 않았다는 점을 통해서 확인할 수 있다. 참고로 -g는 global의 약자이다. 그렇다면 이제 진짜 nest를 다운받아보자. 아래의 코드를 입력하면, nest가 지원하는 '프로젝트 초기화' 기능이 작동하여, nest를 통해서 서버를 빌드하는데 있어 필요한 모든 기본적인 툴과 세팅이 제공된다. 가령, @nestjs..
[NestJS] NestJS, 한 번 빠지면 벗어날 수 없는 마성의 늪(1) : 소개
·
Learning-Log/Computer Science
NestJS란, MIT 라이센스 하에서 공개된 Node.js 기반의 프레임워크이다. NestJS는 Javascript계의 django이자, spring 이라고 볼 수 있다. 아래는 공식 홈페이지에 소개된 Nest의 문제 의식 및 철학 In recent years, thanks to Node.js, JavaScript has become the “lingua franca” of the web for both front and backend applications. This has given rise to awesome projects like Angular, React and Vue, which improve developer productivity and enable the creation of fast..