목차
1. Node.js 이해
2. Node.js 설치
3. 실습 - 서버 구현
4. 실습 - Express
5. 실습 - Template Engine
0) Node.js 란 무엇인가?
1) Node.js 이해
(1) 웹 브라우저의 동작 과정

우리가 일반적으로 보게 되는 웹화면은 HTML, CSS, JavaScript 이 세가지로 이루어져있다. 부트캠프 초기때 배운 기억이 있을 것이다. 이 세가지를 브라우저를 통해서 해석이 되고 화면으로 출력이 된다. 이 과정을 렌더링이라고 한다.

근데 HTML, CSS와 JavaScript는 브라우저 내에서 해석되는 방법에 차이가 있다.
HTML, CSS는 브라우저 내에 있는 렌더링 엔진에 의해 해석이 되고, JavaScript는 브라우저 내에 있는 자바스크립트 엔진을 통해서 해석된다. 여기서 주목해야 될 것은 자바스크립트 엔진에 주목하자.
Node.js = 서버, 라고 이해하기보다 JavaScript가 동작할 수 있는 독립적인 환경이다. 근데 사실상 Node.js로 구성되는 대부분이 서버 구현에 많이 사용하기 때문에 서버라고 이해하는 것도 크게 무리가 되는 것은 아니다.
1) Node.js 이해
(2) Node.js 특징 : 구조 (Single thread, Non-blocking I/O)
Node.js의 구조에 따라 생기는 특징

Single thread
작업을 처리하는 곳이 하나라는 뜻. JavaScript 언어의 특징을 그대로 가져왔다고 볼 수 있다.
Non-blocking I/O
어떤 작업들이 연달아 있을 때, 작업들이 실행되는 순서가 요청이 들어온 순서가 아니라 먼저 끝나는 짧은 작업들이 리턴이 되는 것을 의미한다.