node.js란

Node.js는 Chrome V8 JavaScript 엔진으로 빌드된 Java Script 런타임이다. 비동기 이벤트 주도 JavaScript 런타임으로써 Node.js는 확장성 있는 네트워크 애플리케이션을 만들 수 있도록 설계되었다. Node.js는 이벤트 기반, 논 블로킹 I/O모드를 사용해 가볍고 효율적이다. Node.js의 패키지 생태계인 npm은 세계에서 가장 큰 오픈 소스 라이브러리 생태계이다.

 

즉 Chrome 브라우저가 JavaScript 코드를 해석하기 위해 내장하고 있는 JavaScirpt Engine인 V8 엔진을 이용하여 브라우저에서 JavaScript를 해석하듯이 JavaScript를 동작할 수 있도록 하는 환경이다.

 

Node.js 관련 핵심키워드

 

- 크롬 V8

 크롬 V8 또는 간단히 V8은 웹 브라우저를 만드는 데 기반을 제공하는 오픈 소스 자바스크립트 엔진이다. 구글 크롬 브라우저와 안드로이드 브라우저에 탑재되어 있다.

 

- 비동기 I/O처리(Non-Blocking I/O)

하나의 쓰레드가 request를 받으면 바로 다음 처리에 요청을 보내놓고 다른 작업을 처리하다가 먼저 요청한 작업이 끝나면 이벤트를 받아서 응답을 보낸다.

동시 request가 오더라도 처리가 완료될때까지 기다리지 않아도 되기 때문에 서버 부하가 적다.

 

- NPM

npm (노드 패키지 매니저/Node Package Manager)은 자바스크립트 프로그래밍 언어를 위한 패키지 관리자이다. 자바스크립트 런타임 환경 Node.js의 기본 패키지 관리자이다. 명령 줄 클라이언트(npm), 그리고 공개 패키지와 지불 방식의 개인 패키지의 온라인 데이터베이스(npm 레지스트리)로 이루어져 있다.

 

+ Recent posts