블록체인6기 주병현 RSS 태그 관리 글쓰기 방명록
2023-03-07 17:59:27

Nest 소개

Nest는 Nest에서 작성된 소스 코드를 Express 또는 Fastify에서 실행할 수 있는 JavaScript 소스 코드로 컴파일하는 역할을 하는 Node.js 기반 프레임워크입니다.

Node.js의 역사

Node.js는 2009년에 출시되었으며 JavaScript를 프런트엔드 언어로 인식하는 데 변화를 가져왔습니다. 이를 통해 개발자는 JavaScript를 사용하여 서버를 실행할 수 있으므로 프론트엔드와 백엔드 모두에서 동일한 언어를 사용할 수 있다는 큰 이점을 제공합니다. 구글이 만든 자바스크립트 엔진인 V8의 성능은 '자바스크립트가 느리다'는 인식을 바꿔놓았다.

패키지 관리 시스템(NPM)

Node.js에는 개발자가 자신의 라이브러리를 등록하고 공개하거나 비공개로 등록할 수 있는 패키지 관리 시스템인 NPM(Node Package Manager)이 있습니다. 2022년 3월 현재 등록된 패키지 수는 190만 개에 육박합니다. NPM은 이제 Microsoft가 Github를 인수한 후 효과적으로 주도하고 있습니다.

Nest에서 NPM 사용

  • Nest는 Node.js를 기반으로 하므로 개발자는 NPM을 그대로 사용할 수 있습니다. 개발에 라이브러리가 필요한 경우 NPM CLI를 사용하여 설치할 수 있습니다. Nest도 NPM에 등록되어 NPM으로 설치할 수 있습니다. Nest 관련 패키지를 확인하려면 npmjs.com에서 @nestjs를 검색하십시오.

Node.js의 특징

  • Node.js는 non-blocking I/O 이벤트 기반 비동기 방식을 사용하여 단일 스레드에서 작동합니다.
  • Node.js는 백그라운드에서 작업을 처리하기 위해 스레드 풀을 구성하지만 개발자가 직접 관리하지 않습니다.
  • Node.js는 들어오는 작업을 비동기적으로 처리하고 처리된 결과를 이벤트로 반환합니다.

Node.js의 장점과 단점

  • 이점
      • 대규모 네트워크 애플리케이션 개발에 적합
      • 개발자가 단일 스레드에서 실행 중인 것처럼 코드를 쉽게 작성할 수 있음
  • 단점
      • 하나의 스레드가 실패하면 전체 애플리케이션이 실패할 위험이 있습니다.
      • 컴파일러 언어의 처리 속도에 비해 성능이 떨어짐
      • 이벤트 기반 비동기 방식으로 복잡한 기능을 구현하면 콜백 지옥이 발생할 수 있습니다.

Node.js에서 비동기 프로그래밍의 진화

  • ECMAScript 2015(ES6)에 Promise가 도입되어 코드의 가독성과 표현력이 향상되었습니다.
  • ECMAScript 2017에 추가된 async/await 기능을 사용하면 비동기 작업을 마치 동기 작업인 것처럼 처리하는 코드를 작성할 수 있습니다.

 

 

참고사이트

 

'Nest.js' 카테고리의 다른 글

Nest.js : 완전한 개발자 가이드 #1  (1) 2023.03.08
웹 프레임워크(Nest.js)  (0) 2023.03.07
Nest.js 설치 표준  (0) 2023.03.07
Nest.js vs Express.js(Nest.js)  (0) 2023.03.07
Nest.js란?  (0) 2023.03.07