CHAPTER 1 Node.js와 필수 요소 설치하기 1
Node.js와 NPM 설치하기 1
Node.js 스크립트 실행하기 9
Node.js 기초와 문법 10
Node.js 프로그램 디버깅하기 27
Node.js IDE와 코드 편집기 32
파일 변경 감시하기 34
정리 35
CHAPTER 2 Express.js 4를 이용한 Node.js 웹 애플리케이션 생성 37
Express.js란? 38
Express.js 동작 방식 41
Express.js 설치 42
Express.js 스캐폴딩 47
블로그 프로젝트 개요 53
Express.js 4 Hello World 예제 56
정리 66
CHAPTER 3 Mocha를 이용한 Node.js용 TDD와 BDD 67
Mocha 설치 및 사용법 이해 68
assert를 사용한 TDD 71
expect.js를 사용한 BDD 74
프로젝트: 블로그용 BDD를 처음으로 작성하기 76
정리 81
CHAPTER 4 템플릿 엔진: Jade와 Handlebars 83
Jade 문법과 특징 84
독립적 Jade 사용법 93
Handlebars 문법 97
독립적인 Handlebars 사용법 104
Express.js 4에서 Jade와 Handlebars 사용법 106
프로젝트: 블로그에 Jade 템플릿 추가하기 109
정리 119
CHAPTER 5 MongoDB와 Mongoskin을 이용한 데이터 저장 121
쉽고 적절한 MongoDB 설치 122
Mongo 서버 실행 방법 124
Mongo 콘솔을 통한 데이터 조작 125
MongoDB 셸 127
Node.js 예제를 위한 최소화된 네이티브 MongoDB 드라이버 128
주요 Mongoskin 메소드 132
프로젝트: Mongoskin을 사용하여 MongoDB에 블로그 데이터 저장 134
정리 150
CHAPTER 6 Node.js 애플리케이션에서 Session과 OAuth를 이용한 사용자 인증 및 권한 부여 151
Express.js 미들웨어를 이용한 권한 부여 152
토큰 기반 인증 153
세션 기반 인증 154
프로젝트: 블로그에 이메일과 패스워드 기반 인증 구현 155
Node.js OAuth 162
프로젝트: Everyauth를 이용하여 블로그에 Twitter OAuth 1.0 로그인 구현 166
정리 173
CHAPTER 7 Mongoose ORM 라이브러리를 사용한 Node.js 데이터 처리 175
Mongoose 설치 176
독립형 Mongoose 스크립트 내 연결 수립 176
Mongoose 스키마 179
코드 구성 유지를 위한 후크 181
커스텀 정적/객체 메소드 182
Mongoose 모델 182
포퓰레이션을 이용한 관계와 조인 185
중첩된 도큐먼트 187
가상 필드 189
스키마 타입 동작 변경 190
Express.js + Mongoose = true MVC 192
정리 204
CHAPTER 8 Express.js와 Hapi를 이용한 Node.js REST API 서버 구축 205
RESTful API 기본 206
프로젝트 종속성 208
Mocha와 Superagent를 이용한 테스트 커버리지 209
Express와 Mongoskin을 이용한 REST API 서버 구현 215
리팩토링: Hapi.js REST API 서버 222
정리 229
CHAPTER 9 웹소켓, Socket.IO, DerbyJS를 이용한 실시간 애플리케이션 231
웹소켓의 정의 231
네이티브 웹소켓과 ws 모듈을 사용한 Node.js 예제 232
Socket.IO와 Express.js 예제 236
DerbyJS, Express.js, MongoDB를 사용한 공동 온라인 에디터 예제 241
정리 251
CHAPTER 10 Node.js 애플리케이션 운영 준비 사항 253
환경 변수 254
Express.js 운영 254
Socket.IO 운영 257
오류 처리 258
오류 처리를 위한 Node.js 도메인 260
cluster 기반 멀티스레딩 264
cluster2 기반 멀티스레딩 266
이벤트 로깅과 모니터링 267
Grunt를 이용한 태스크 빌드 272
Git을 이용한 버전 관리 및 배포 276
TravisCI 클라우드에서 테스트 수행 281
정리 283
CHAPTER 11 Node.js 애플리케이션 배포 285
Heroku에 배포 285
아마존 웹 서비스에 배포 292
forever, Upstart, init.d를 사용한 Node.js 애플리케이션 지속 구동 297
Nginx를 사용한 정적 리소스 제공 302
Varnish를 이용한 캐싱 305
정리 307
CHAPTER 12 Node.js 모듈 게재와 오픈 소스 활동 309
권장 폴더 구조 310
필수 패턴 311
package.json 314
NPM 게시 314
버전 잠금 315
정리 316
《실무에 바로 적용하는 Node.js》 결론 316
추가 읽을거리 317
찾아보기 319