자바스크립트/Node Js
[NodeJS] 노드란 무엇인가?
RightHot
2018. 12. 13. 00:48
노드는 런타임 가상머신(Vm)이다.
노드를 깔면 노드안에 가상머신이 있기 때문에 어느 환경에서나 자바스크립트를 사용가능하다.
원래 자바스크립트는 웹브라우저내에서 동작하지만 노드의 등장으로 웹브라우저 밖에서도 사용할 수 있게 되었다.
node 결과는 크롬의 개발자 도구의 console 창과 똑같다. 둘다 REPL(Read, Evaluate, Print, Loop) 방식을 사용하기 때문이다.
이벤트 기반 (event-driven)
호출스택과 태스크큐에 작업이 없더라도, 이벤트 리스너가 이벤트를 기다리고 있는 것
논블로킹 I/O
호출스택에서 태스크큐로 보내서 눈에 보이는 코드와 다르게 실행 순서를 바꾸는 개념
자바스크립트는 싱글쓰레드이기 때문에 동시작업이 불가능, 싱글쓰레드를 극복하기 위해 사용되는 개념
PS. 파일시스템의 경우 멀티쓰레드로 동작함