Node.JS
- 확장성 있는 네트워크 애플리케이션 개발에 사용되는 소프트웨어 플랫폼
- Javascript 활용(V8 자바스크립트 엔진)
- Non-blocking I/O와 단일 스레드 이벤트 루프를 통한 높은 처리 성능
- 서버 측에서 실행
- 쌍방향 테스트를 위해 REPL 환경 포함
- HTTP 서버를 직접 작성해야 함(일부 라이브러리의 도움을 받으며)
- 특징
- 비동기 I/O 처리 / 이벤트 위주 : Node.js 라이브러리의 모든 API는 비동기식(Node.js 기반 서버는 API가 실행 되었을 때, 데이터를 반환할 때까지 기다리지 않고 다음 API 실행, 이전에 실행했던 API가 결과값을 반환할 시, NodeJS의 이벤트 알림 메커니즘을 통해 결과 값 제공)
- 빠른 속도 : 구글 크롬의 V8 자바스크립트 엔진을 사용하여 빠른 코드 실행 제공
- 단일 쓰레드 / 뛰어난 확장성 : Node.js는 이벤트 루프와 함께 단일 쓰레드 모델 사용, 이벤트 메커니즘은 서버가 멈추지 않고 반응하도록 해주어 서버의 확장성 키움
- 노 버퍼링 : Node.js 어플리케이션엔 데이터 버퍼링이 없고, 데이터를 chunk로 출력
- 라이센스 : Node.js는 MIT License 적용 - 분야
- 입출력이 잦은 어플리케이션
- 데이터스트리밍 어플리케이션
- 데이터를 실시간으로 다루는 어플리케이션
- JSON API 기반 어플리케이션
- 싱글페이지 어플리케이션
(CPU 사용률이 높은 어플리케이션에선 권장하지 않음)
'Programming > [Node.js]' 카테고리의 다른 글
[Node.js] yarn 설치 및 webpack 설치 (0) | 2022.02.04 |
---|---|
[Node.Js] Node.Js - Gulp & BrowserSync (0) | 2019.06.13 |