본문 바로가기

Back-End/Node.js

Node.js란?

출처 : https://ko.wikipedia.org/wiki/Node.js

Node.js란?

Node.js는 Chrome(구글의 브라우저)에 도입된 V8 엔진을 기반으로 만들어진 Javascript Runtime 환경이에요.

 

Node.js의 공식 홈페이지를 기반으로 Node.js에 대해 소개를 하자면

 

1. 확장성 있는 네트워크 애플리케이션을 만들 수 있도록 설계가 되어 있어요.

    - Node.js에서 I/O를 직접 수행하는 함수는 거의 없어요.

    - 그렇기 때문에 프로세스는 결과가 오기 전까지 블로킹되지 않아요.

    - Non-blocking 방식이 때문에 확장성 있는 시스템을 개발할 수 있어요.

 

2. Node.js는 라이브러리가 아닌 런타임 생성자로 이벤트 루프를 제공해줘요.

    - 보통 스크립트 시작 부분에서 콜백을 통해 동작을 정의해요.

    - 그리고 마지막에 블로킹을 호출해 서버를 실행시켜요

 

3. Node.js는 입력 스크립트를 실행한 후 이벤트 루프에 바로 진입해요.

    - 단일 스레드 기반으로 이벤트 루프를 실행해요.

    - 더이상 실행할 콜백이 없다면 이벤트 루프를 종료해줘요.

 

4. Node.js에서 HTTP는 일급 객체(First Class Citizen)이에요.

    - 스트리밍과 저지연을 고려해서 설계가 되어 있어요.

    - 그리고 HTTP 서버 라이브러리를 내장하고 있어요.

    - 그렇기 때문에 웹 서버에서 아파치 등의 별도 소프트웨어 없이 동작이 가능해요.

'Back-End > Node.js' 카테고리의 다른 글

Node.js 설치하기  (1) 2023.01.19