이미 소장하고 있다면 판매해 보세요.
|
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 |
|
Node.js는 누구나 쉽게 시작할 수 있는 간편함을 지녔다. 문법적 제약이 적은 자바스크립트라는 언어의 장점과 Node.js 커뮤니티에서 만들어내는 유용한 라이브러리들이 그 확산을 주도하고 있다. 하지만 쉬운 시작과는 달리 실제 프로젝트에 Node.js를 적용하려면 많은 노력이 필요하다. 자바스크립트에 대한 높은 수준의 이해와 안정화된 오픈 소스 패키지들의 선택 및 활용 능력이 필수적이다. _x
NPM의 가장 좋은 점은 모든 의존 모듈을 로컬에 두고 있기 때문에 모듈 A가 모듈 B v1.3을 사용하고, 모듈 C가 모듈 B v2.0(v1.3에서 크게 변경된)을 사용할 경우 로컬에 A와 C 둘 다 서로 다른 버전의 모듈 B 복사본을 갖게 된다. 이러한 점은 기본적으로 전역 설치를 하는 루비와 다른 플랫폼에 비해 굉장히 우수하다. _24p Jade는 개발자가 코드를 덜 작성할 수 있게 도와주며, 거의 모든 자바스크립트 함수를 실행 가능한 놀라운 템플릿 엔진이다. 상위에서 하위 진행 처리와 하위에서 상위 진행 처리, 그리고 그 외 다른 유용한 기능들을 지원한다. Jade는 루비의 Haml처럼 공백 또는 들여쓰기를 사용하며, 들여쓰기할 때 두 칸의 공백을 사용하는 것이 규약이다. _64 Everyauth 모듈은 다중 OAuth 정책 구현을 지원하며, 몇 줄의 코드만으로 Express.js 애플리케이션에 추가할 수 있다. Everyauth는 대부분의 OAuth 서비스 프로바이더 정책을 지원하므로 서비스 프로바이더에 종속적인 정보(엔드포인트, 파라미터명 등)에 대한 조사나 구현이 필요 없다. Everyauth는 사용자 객체를 세션에 저장하고, 데이터베이스 스토리지는 정해진 패턴을 사용하여 findOrCreate 콜백 내에서 사용할 수 있다. _164p 종료 시 새로 생성된 객체의 ID를 전역 변수 id에 저장해 객체 조회, 변경, 삭제 시 사용할 수 있다. 객체 조회 관련 내용은 다음 테스트 케이스에서 살펴보도록 하자. superagent 방식은 get()과 객체 ID를 포함하는 URL 경로에 따라 변화된다. console.log를 추가할 경우 HTTP 응답의 전체 본문 내용을 확인할 수 있다. _211p 이번 절의 내용은 IaaS에만 적용되는 장점으로, 이 단계가 필요한 이유는 장애 발생 후 복구를 해내기 위해서다. 마스터-차일드로 구성된 시스템이라도 지속적인 마스터 프로세스 관리가 필요하므로 보수나 업그레이드 등 운영 과정에서도 프로세스를 중단하고 재실행시킬 방법이 필요하다. _297p ---본문 중에서 |