줄곧 머리속에 들던 생각은 확실하게 알고 넘어가자였다. 하지만 핑계일 수도 있겠지만 수업과정을 따라가다보니 수박 겉 핥기식으로 지나간적이 많았다. 지금이 그 생각대로 하면 되는 것이다라고 생각하지만 말처럼 행동으로 옮기는 것은 쉬운일이 아닌 것을 깨닫는다ㅠ. 무엇을 배웠지라고 한줄 한줄 소개 하려고 하는데 다시 정리 할 필요가 생겼다.
먼저 NestJS를 쓰려고 했는데 NestJS는 Node.js에 기반을 둔 프레임워크이다. 그렇다면 Node.js는 무엇인가?
Node.js는 오픈 소스 Javascript 엔진인 크롬 v8에 비동기 이벤트 처리 라이브러리인 libuv(?)를 결헙한 플랫폼이라고 한다. Javascript로 브라우저 밖에서 서버를 구축하는 등의 코드를 실행할 수 있도록 해주는 런타임 환경이라고 한다. 강점은 많은 양의 인풋 아웃풋 데이터를 처리해야하는 서비스에 있어서 강점이 두드러진다고 한다.
원래 Javascript는 프론트엔드 언어이었는데 백엔트까지 작성할 수 있게 되어 서버 점유율을 높였다고 한다.
여담으로 현재 쓰고있는 node version은 16.14.2 이다.
앞에서 Node.js가 빠르게 퍼져 나갔지만 장점이자 단점이 있었는데 그것은 너무 유연하다는 것이었다. 자유 분방한 요 녀석(?)을 잡아줄 프레임워크가 필요하였고, Java - Spring, Python - django 와 같은 프레임워크의 필요성이 생겨났다고 한다. 특히나 여러 사람들과 협업하는 프로젝트에서는 개인의 구조와 스타일이 다르면 소통비용이 상당히 증가하였다.
NestJS는 TypeScript를 기반으로 구축되어있다고 한다. 또한 OOP(Object Oriented Programming), FP(Functional Programming), and FRP(Functional Reactive Programming)와 결합되어 있다고 한다.
[Node.js, 나무 위키, 2022년06월16일 접속]
https://namu.wiki/w/Node.js?from=Nodejs
[Nest.js 소개,nestybirds, 2022년06월16일 접속]
https://www.nestybirds.com/nestjs/#nestjs-%EC%86%8C%EA%B0%9C
[[JavaScript] ES6 문법 알아보기, hanamon, 2022년06월16일 접속]
https://hanamon.kr/javascript-es6-%EB%AC%B8%EB%B2%95/