일단 시작해보는 블로그

[Node.js] About NodeJS 본문

개발/Node.js

[Node.js] About NodeJS

Selina Park 2019. 8. 8. 21:20
...더보기

Node.js®는 Chrome V8 JavaScript 엔진으로 빌드된 JavaScript 런타임입니다. Node.js는 이벤트 기반, 논 블로킹 I/O 모델을 사용해 가볍고 효율적입니다. Node.js의 패키지 생태계인 npm은 세계에서 가장 큰 오픈 소스 라이브러리이기도 합니다.
(출처: https://nodejs.org/ko/)

 

Node는 웹서버다?

Node.js는 웹서버가 아니고 구현하려면 라이브러리의 도움을 받아 HTTP서버를 직접 작성해야한다.

Node.js는 그저 코드를 실행할 수 있는 하나의 방법에 불과한 그저 JavaScript 런타임일 뿐이다.

 

Node.js 의 특징

비동기 I/O 처리 / 이벤트 위주 

Node.js 라이브러리의 모든 API는 비동기식이다. 멈추지 않는다는 것.(Non-blocking)

Node.js기반 서버는 API가 실행되었을 때, 데이터를 반환할 때까지 기다리지 않고 다음 API를 실행한다.

그리고 이전에 실행했던 API가 결과값을 반환할 시, NodeJS의 이벤트 알림 베커니즘을 통해 결과값을 받아온다.

 

빠른 속도

구글 크롬의 V8 자바스크립트 엔진을 사용하여 빠른 코드 실행을 제공한다.

 

단일 쓰레드 / 뛰어난 확장성

NodeJS는 이벤트 루프와 함께 단일 쓰레드 모델을 사용한다. 이벤트 메커니즘은 서버가 멈추지 않고 반응하도록 해줘 서버의 확장성을 키워준다.

반면, 일반적인 웹서버는 (Apache) 요청을 처리하기 위하여 제한된 쓰레드를 생성한다. Node.js는 쓰레드를 한개만 사용하고 Apache 같은 웹서버보다 훨씬 많은 요청을 처리할 수 있다.

 

노 버퍼링

데이터 버퍼링이 없고, 데이터를 chunk(덩어리)로 출력한다.

 

라이센스

MIT License가 적용되어있다.

 

 

NodeJS를 어디다 쓰면 좋을까요?

  • 입출력이 잦은 어플리케이션
  • 데이터 스트리밍 어플리케이션
  • 데이터를 실시간으로 다루는 어플리케이션
  • JSON API 기반 어플리케이션
  • 싱글페이지 어플리케이션 (SPA)

단, CPU 사용률이 높은 어플리케이션에선 권장하지 않음.

 

 

 

[REFERENCE]

https://velopert.com/133

 

[Node.JS] 강좌 01편: 소개 | VELOPERT.LOG

Node.js 가 뭐지? NodeJS 는 구글 크롬의 자바스크립트 엔진 (V8 Engine) 에 기반해 만들어진 서버 사이드 플랫폼입니다. 2009년에 Ryan Dahl에 의해 개발되었으며 현시점 (2016-02-07) 최신 버전은 v5.5.0 입니다. NodeJS 공식 사이트에서 제공되는 정보는 다음과 같습니다. Node.js®는 Chrome V8 JavaScript 엔진으로 빌드된 JavaScript 런타임입니다. Node.js는 이벤트 기반, 논 블

velopert.com

 

'개발 > Node.js' 카테고리의 다른 글

[Node.js] RESTful API  (0) 2019.08.25
[Node.js] 모듈과 미들웨어 개념  (0) 2019.08.25
[NodeJS] Express.js에 대하여  (0) 2019.08.16
Comments