바르고 뜨겁게
[NodeJS] 노드란 무엇인가? 본문
노드는 런타임 가상머신(Vm)이다.
노드를 깔면 노드안에 가상머신이 있기 때문에 어느 환경에서나 자바스크립트를 사용가능하다.
원래 자바스크립트는 웹브라우저내에서 동작하지만 노드의 등장으로 웹브라우저 밖에서도 사용할 수 있게 되었다.
node 결과는 크롬의 개발자 도구의 console 창과 똑같다. 둘다 REPL(Read, Evaluate, Print, Loop) 방식을 사용하기 때문이다.
이벤트 기반 (event-driven)
호출스택과 태스크큐에 작업이 없더라도, 이벤트 리스너가 이벤트를 기다리고 있는 것
논블로킹 I/O
호출스택에서 태스크큐로 보내서 눈에 보이는 코드와 다르게 실행 순서를 바꾸는 개념
자바스크립트는 싱글쓰레드이기 때문에 동시작업이 불가능, 싱글쓰레드를 극복하기 위해 사용되는 개념
PS. 파일시스템의 경우 멀티쓰레드로 동작함
'자바스크립트 > Node Js' 카테고리의 다른 글
[NodeJS] crypto 양방향 암호화(cipher) (0) | 2018.12.18 |
---|---|
[NodeJS] 모듈 (OS 모듈, path 모듈, url 모듈, querystring 모듈) (0) | 2018.12.18 |
[NodeJS] 내장객체 - global, __filename, __dirname, process, console, 타이머 (0) | 2018.12.14 |
[NodeJS] 노드 모듈 시스템 - 다른 JS 변수 참조 (0) | 2018.12.13 |
[NodeJS] 이벤트 루프 (0) | 2018.12.13 |
Comments