★ 이 책에서 다루는 내용 ★
■ 실시간 애플리케이션 개발
■ MongoDB와 기타 반응성 데이터 소스 사용
■ 아이언 라우터(Iron Router)를 가진 애플리케이션 개발
■ 애플리케이션 배치 및 스케일링
★ 이 책의 대상 독자 ★
이 책은 독자들이 적어도 기초적인 HTML, CSS, 자바스크립트에 대한 지식을 가지고 있다고 가정한다. 객체를 다루는 방법과 이전에 콜백을 사용한 경험을 가지고 있어야 하며 (반드시 필요한 것은 아니지만) 데이터베이스가 작동하는 기초 지식을 갖추고 있는 것이 좋다. 하지만 서버 사이드 자바스크립트나 Node.js에 대한 경험은 필요하지 않다.
★ 이 책의 구성 ★
이 책은 세 가지 부분으로 구성되어 있다.
1부에서는 플랫폼에 대한 고차원적인 개요를 제공한다. 여기서는 미티어 스택의 구성 요소와 주요 개념을 소개한다. 1장에서 Node.js, MongoDB, 아소모피즘, 반응성을 소개한 후, 2장에서 첫 미티어 애플리케이션을 만들어볼 것이다.
2부에서는 반응성 애플리케이션을 위한 기초 요소를 알려준다. 각 장은 애플리케이션을 만들 때 접하는 여러 가지 요소를 개별적으로 설명한다. 3장은 템플릿으로 시작하고, 4장은 데이터를 다루는 방법과 CRUD 연산에 대해 다루며, 5장은 이 둘을 결합해 반응성 인터페이스를 구성할 때 고려해야 할 점을 설명한다. 6장에서는 사용자와 관련된 기능을 설명하면서 보안이 적용된 애플리케이션을 만드는 방법을 소개한다. 7장에서는 미티어가 디폴트로 사용하는 자동화된 데이터 발행 기전을 설명한다. 이 장에서는 미티어 발행/구도 개념과 또다른 보안 레이어를 구축하기 위해 메서드를 사용하는 방법도 소개한다. 8장에서는 인기 있는 Iron Router 라이브러리를 사용해 클라이언트와 서버에서 모두 사용되는 라우팅 기능을 설명한다. 9장에서는 아이소팩, npm 패키지, 사용자 작성 패키지 등을 사용하여 미티어의 핵심 기능을 확장하는 방법을 설명한다. 10장은 비동기식 연산을 위한 서버 쪽 메서드와 외부 API에 접근하는 방법, 파일을 업로딩하는 방법을 살펴보면서 두 번째 파트를 마무리한다.
3부에서는 한 단계 더 나아가 애플리케이션을 정확하게 빌드하고 배치하는 방법을 다룬다. 11장에서는 미티어의 빌드 시스템, 코드 디버깅, 웹과 모바일 애플리케이션으로 전환시키는 방법을 설명한다. 마지막 12장에서는 미티어 애플리케이션을 출시하기 위한 여러 가지 측면들을 살펴본다.
이 책의 마지막에는 3개의 부록이 있다. 부록 A에서는 지원되는 모든 플랫폼에 미티어를 설치하는 방법을 설명하고, 부록 B에서는 MongoDB의 구성과 고가용성을 획득하기 위한 요소를 설명한다. 이 밖에 확장을 위하여 미티어가 사용하는 방법의 중요한 기술 중 하나인 오피로그 테일링(oplog tailing)을 설정하는 방법도 설명한다. 부록 C에서는 여러 미티어 서버들의 부하를 분산하는 방법, 정적인 콘텐츠를 서빙하는 방법, SSL을 가능할 수 있도록 하는 기능 등을 구현하기 위한 엔진엑스(nginx)의 역프록시(reverse proxy) 설정 방법을 설명한다.