반응형
이 강좌에서는 Node.js에 대한 기본적인 지식들을 살펴보겠습니다.
Node.js란?
Node.js는 구글 크롬의 자바 스크립트 엔진 (V8 Engine)에 기반해 만들어진 서버 사이드 플랫폼입니다.
자바 스크립트를 활용하여 작성하며 Non-blocking I/O와 단일 스레드 이벤트 루프를 통한 높은 처리 성능을 가지고 있습니다. 또한 내장 HTTP 서버 라이브러리를 포함하고 있어 웹 서버에서 아파치 등의 별도의 소프트웨어 없이 동작이 가능하며 이를 통해 웹 서버의 동작에 있어 더 많은 통제가 가능하게 됩니다.
입문자들의 오해
Node는 웹 서버가 아닙니다.
Node 자체로는 아무것도 하지 않으며 아파치 웹 서버처럼
HTML 파일 경로를 지정해주고 서버를 열고 그러한 설저이 없습니다.
대신에 Node는 HTTP 서버를 직접 작성해야합니다.
Node.js는 코드를 실행할 수 있는 하나의 방법인 JavaScript 런타임일 뿐입니다.
Node.js의 특징
- 비동기 I/O처리, 이벤트 위주 : Node.js 라이브러리 API는 모두 Non-blocking, 즉 멈추지 않는 비동기식입니다. Node.js 기반 서버는 API가 실행되었을 때 데이터를 반환할 때까지 기다릴지 않고 다음 API를 진행합니다. 이전에 실행했던 API가 결과 값을 반환하게 되면 NodeJS의 이벤트 알림 매커니즘을 통해 결과 값을 받아옵니다.
- 빠른 속도 : 구글 크롬의 V8 자바 스크립트 엔진을 사용하여 빠른 코드 실행을 제공하게됩니다.
- 단일 쓰레드, 뛰어난 확장성 : Node.js는 이벤트 루프와 함께 단일 쓰레드 모델을 사용합니다. 이벤트 매커니즘은 서버가 멈추지 않고 반응하도록 해주어 서버의 확장성을 키워줍니다. 반면에 일반적인 웹 서버는 요청을 처리하기 위하여 제한된 쓰레드를 생성합니다. Node.js는 쓰레드 한개만을 사용하고 Apache 같은 웹서버보다 훨씬 많은 요청을 처리할 수 있습니다.
- 노 버퍼링 : Node.js 어플리케이션에는 데이터 버퍼링이 없으며 데이터를 Chunk로 출력합니다.
- 라이센스 : Node.js는 MIT License가 적용되어 있습니다.
Node.js는 어디에 쓰이고 있나?
Node.js는 eBay, Microsoft, Yahoo 등 많은 곳에서 사용되고 있습니다.
Node.js를 어디에 쓸까?
- 입/출력이 잦은 어플리케이션
- 데이터 스트리밍 어플리케이션
- 데이터를 실시간으로 다루는 어플리케이션
- JSON API 기반 어플리케이션
- 싱글 페이지 어플리케이션
Node.js를 쓰면 좋지 않은 곳?
CPU의 사용률이 높은 어플리케이션일 경우 Node.js의 사용을 권장하지 않습니다.
여기까지 Node.JS에 대하여 알아보았습니다.
감사합니다.
해당 포스트는 위키 백과와
https://velopert.com/133를 참고로하여 포스팅하였습니다.
반응형
'- Programming > - Node.JS' 카테고리의 다른 글
★ 2. Node.js 강좌 2편 (0) | 2017.02.22 |
---|