NodeJS란 무엇인가?
Node.js®는 Chrome V8 JavaScript 엔진으로 빌드된 JavaScript 런타임입니다.
크롬의 V8 엔진은 자바스크립트를 컴퓨터가 이해할 수 있는 머신 코드로 만들어주는 컴파일러라고 생각하면 된다. 우리는 그동안 자바스크립트를 크롬 브라우저 "내"에 있는 V8엔진 만을 써왔다.
하지만 Node.js는 이 V8 엔진을 브라우저 밖으로 가지고 나와서, 컴퓨터가 자바스크립트 파일을 실행할 수 있도록 한 자바스크립트 Run-Time(실행환경)이다. Node.js는 자바스크립트 '실행환경'인데, 즉 서버에서 자바스크립트를 실행할 수 있을뿐만 아니라 여타 다른 환경에서도 작용할 수 있다.
컴퓨터가 자바스크립트 파일을 실행시켜서, 로컬 시스템에 있는 부분까지 건드릴 수 있다는 것이 장점이다. (브라우져에서는 보안상의 이유로 로컬 시스템에 접속이 불가하다. 하지만 Node.js는 브라우져가 아닌 다른 환경에서 자바스크립트를 실행시킨다)
또한 Node.js는 서버 개발부터 서버 사이드까지 모두 아우를 수 있다. 왜냐하면 Node.js는 http 모듈이 내장되어 있기 때문에, Nginx와 같은 웹 서버 소프트웨어의 중간 다리 없이도 이를 훌륭하게 수행해낼 수 있다.
Node.js는 파일로 실행하기 이전에 REPL을 사용하여 간단하게 놀아볼 수 있다. REPL이란 (READ, EVALUATE, PRINT, LOOP)의 줄임말으로써, Prompt나 CMD를 통해 node 명령어를 입력하면 Node.js를 곧바로 이용할 수 있는 환경을 제공해준다. 하지만 해당 명령어들은 실제로 리소스로 남는 것이 아니라 한 사이클의 작업 후 ctrl+c 등으로 없애버리면 모두 소실된다.