Node.js


Published on September 02, 2021 by Eunbi.N

Node.js npm 서버구현

확장성 네트워크 앱 개발에 사용되는 소프트웨어 플랫폼

개념

  • Chrome V8 JavaScript 엔진으로 빌드된 프로그램
  • 노드를 통해 다양한 자바스크립트를 서버에서도 실행 가능
  • 자바스크립트 엔진으로 동작, 자바스크립트 런타임(특정 언어 환경)
  • 스크립트 언어가 아닌 프로그램 환경의 개념
  • 웹서버와 같이 확장성 있는 네트워크 프로그램을 제작하기 위해 만들어짐

특징

  • 내장 HTTP 라이브러리를 포함하고 있어서 웹서버에서 별도 소프트웨어 없이 동작 가능
  • 이벤트 기반 (리스너 등록, 콜백 - 라이브러리 libuv 사용)
  • 논 블로킹 I/O (이전 작업이 완료될때까지 대기하지않고 다음작업 수행)
  • 싱글 스레드 (단일 스레드)
  • CPU 부하가 큰 작업엔 부적합
  • 갯수는 많지만 크기는 작은 데이터 작업에 적합 (채팅, 주식차트, 앱 특화)