👀 Node.js란?
- 구글 크롬의 자바스크립트 엔진(V8 Engine)에 기반해 만들어진 Javscript 런타임
- 이벤트 기반, 비동기 I/O 모델을 사용해 가볍고 효율적
- npm 패키지는 세계에서 가장 큰 오픈 소스 라이브러리
👉 npm이란?
- Node Package Manager의 약어
- Javascript로 개발된 각종 모듈의 설치, 업데이트, 구성, 제거 과정을 자동화하여 관리해주는 기능을 함
🧐 Node.js 특징
👉 1. 자바스크립트 언어 사용
👉 2. Single Thread
- Single Thread 는 주어진 일을 하나씩 밖에 처리하지 못한다.
- 에러가 발생하여 처리하지 못하면 중단하기 때문에, 에러처리가 중요.
- 참고하기 좋은 글 > 싱글스레드와 멀티스레드의 차이
👉 3. 비동기 I/O 방식
- 작업을 요청한 후 응답을 기다리지 않고 다른 활동을 한다.
- 장점 : 요청에 따른 결과가 반환되는 시간동안 다른 작업을 수행할 수 있다.
- 단점 : 동기식보다 설계가 복잡하다.