본문 바로가기

Programming/[Node.js]

[Node.js] Node.JS

  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