Node.js Node.js는 chrome v8 javascript 엔진으로 빌드된 javascript 런타임 이라고 정의되어 있습니다. 정의를 보면 node.js는 자바스크립트 실행기가 맞습니다. 그런데 Node.js는 V8 엔진과 더불어 libuv 라는 라이브러리를 사용하여 이벤트 기반, 논 블로킹 I/O 모델을 구현하고 있다고 말합니다. 이에 대해 자세히 알아보겠습니다. 용어 정의 넘어가기 전에 용어들을 명확히 짚고 넘어가야 할 것 같습니다. > * 이벤트 기반 : 이벤트가 발생할 때 미리 지정해둔 작업을 수행하는 방식, 미리 지정해둔 작업이라 함은 콜백함수나 이벤트 리스너 등이 될 수 있다. > * 논 블로킹 I/O : 이전 작업이 완료될 때 까지 대기하지 않고 다음 작업을 바로 수행하는 것. > * 호출 스택(Call Stack) : 실제 실행할 작업들이 쌓여있는 스택 > * 백그라운드 : 타이머나 이벤트 리스너들이