dev._.note

Node.js 란? 본문

카테고리 없음

Node.js 란?

Laena 2023. 3. 17. 21:46

Node.js의 정의

Node.js는 확장성 있는 네트워크 애플리케이션(특히 서버 사이드) 개발에 사용되는 소프트웨어 플랫폼.
내장 HTTP 서버 라이브러리를포함하고 있어 웹 서버에서 아파치 등의 별도의 소프트웨어 없이 동작하는 것이 가능하며 이를 통해 웹 서버의 동작에 있어 더 많은 통제를 가능케 한다.
작성 언어로 자바스크립트를 활용하며 논블로킹(Non-blocking)I/O와 단일 스레드 이벤트 루프를 통한 높은 처리 성능을 가지고 있다. (libuv 라이브러리)
V8로 빌드된 이벤트 기반 자바스크립트 런타임이다. 웹 서버와 같이 확장성 있는 네트워크 프로그램 제작을 위해 고안되었다.


 

  • Node.js는 자바스크립트를 사용하는 런타임 (=환경) 입니다.
    런타임이란 프로그램을 실행할 수 있는 환경을 뜻합니다.
    특히 V8 엔진이 탑재된 크롬은 다른 자바스크립트 엔진과 속도적인 측면에 장점을 갖게 되었고, 2009년 Ryan Dahl이 노드 프로젝트를 시작하면서 본격적으로 쓰여지게 됐다고 합니다.
  • 기본적으로 javascript는 스크립트 언어라 브라우저에 의존을 하게 됩니다.
    브라우저가 없으면 실행이 불가능하다는 뜻입니다.
    하지만 Node.js는 브라우저에서 독립되어 cmd, terminal등에서 브라우저 없이 사용이 가능하다는 장점이 있습니다.
  • 기존의 웹은 자바스크립트, 서버는 자바 등으로 언어가 분리된 서버-클라이언트 구조였습니다. 하지만 Node.js를 사용한다면 웹사이트에서 자바스크립트 하나만 사용할 수 있게 됩니다.
  • 아파치등 별도 소프트웨어로 별도 연결해야했던 HTTP 서버 라이브러리를 내장하고 있기 때문에 하나의 플랫폼에서 한계없는 기능을 구현가능하게끔 합니다.

 


✨ Node.js를 사용하면 좋은 서비스

  • 리얼타임 웹
  • 커스터마이징이 필요합 웹
  • 자바스크립트 api를 사용해야 하는 웹
  • 빠른 실행과 성능이 중요합 웹

➡ 비동기 방식을 사용하는 Node.js의 특성을 잘 이용할 수 있는 서비스