Node.js란?

임경섭·2023년 4월 25일
0
post-custom-banner

Node.js란?


공식사이트를 참고하면
Node.js란? Chrome V8 JavaScript엔진으로 빌드된 JavaScript 런타임이다. Node.js는 이벤트 기반, 논 블로킹 I/O모델을 사용해 가볍고 효율적입니다. Node.js의 패키지 생태계인 npm은 세계에서 가장 큰 오픈 소스 라이브러리 생태계이기도 합니다.

Node.js의 주요 특징


  1. 자바스크립트 언어 사용
  • 자바스크립트를 사용할 줄 아는 개발자들에게는 러닝커브가 낮다.
  • 또한 자바스크립트로 백엔드 로직까지 개발할 수 있다는 장점으로 점유율이 높아지고 있다.
  1. 빠른 속도
  • 구글에서 개발한 자바스크립트 엔진을 사용하기 때문에 빠른 속도를 자랑한다.
  1. 이벤트 기반 비동기 방식(Non-Blocking)
  • Node.js에서는 모든 API가 비동기 방식이므로, 호출 후 응답을 기다리지 않고 다른 API를 호출한다.
  • 이전에 호출했던 API의 응답이 오면 이벤트 루프가 확인하여 처리한다.
  1. 단일 쓰레드
  • 복잡한 비동기 I/O 응용 프로그램을 싱글 스레드 JavaScript로 작성하여 결과물의 실행 속도와 개발 편의성 측면에서 좋다는 것이 Node.js의 근간을 이루는 개념이며, CPU의 높은 연산력을 요구하는 프로그램을 Node.js로 짜면 좋지 않은 성능이 나온다.

장점

  1. 자바스크립트 언어를 동일하게 사용해서 새로운 언어를 습득하지 않고도 서버기술을 빨리 개발/응용할 수 있다.
  2. 개발이 빠르고 쉽다.
  3. Non-blocking I/O와 단일 스레드 이벤트 루프를 통한 높은 처리 성능
  4. 이벤트 기반 비동기 방식이라 서버 무리가 적다.
  5. npm을 통한 다양한 모듈 제공

단점

  1. 이벤트 기반 비동기 방식이라 서버단 로직이 복잡한 경우 콜백함수의 늪에 빠질 수 있다.
  2. 단일 스레드이기 때문에 하나의 작업 자체가 많이 걸리는 웹서비스에는 어울리지 않는다.
profile
즐겁게 코딩 ૮₍ •̀ᴥ•́ ₎ა
post-custom-banner

0개의 댓글