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 서버 라이브러리를 내장하고 있어요.
- 그렇기 때문에 웹 서버에서 아파치 등의 별도 소프트웨어 없이 동작이 가능해요.
'Backend > Node.js' 카테고리의 다른 글
Node.js 설치하기 (1) | 2023.01.19 |
---|