Node.JS
- Chrome V8 JavaScript 엔진으로 빌드된 JavaScript 런타임
- V8 엔진은 구글에서 만든것으로 브라우저가 없이도 자바스크립트를 동작할 수 있도록 만드 것 (즉 자바스크립트를 실행할 수 있는 환경을 의미)
Node.js 를 사용하는 이유 및 특징
- 논 블로킹(Non-blocking) I/O, 싱글 스레드 (Single Thread), 이벤트 루프(Event Loop)의 특성이 있음
- 블로킹 = 프로그램 내부에서 함수 호출시 작업을 마칠때까지 대기
- 논 블로킹 = 함수가 실행되는 중에도 다른 작업을 동시에 할 수 있음
- 싱글 스레드만 사용할 수 있음 (장점이자 단점)
- 이벤트 루프 = Javascript가 가지고있는 싱글스레드의 약점을 극복하기 위해 효율적으로 작업을 처리할 수 있는 특성임
이벤트루프 참고자료