장바구니 담기 close

장바구니에 상품을 담았습니다.

미티어 인 액션   (데이터 기반 웹 애플리케이션 핵심 개발 도구)

미티어 인 액션 (데이터 기반 웹 애플리케이션 핵심 개발 도구)

  • 스테판 호츠하우스 , 마누엘 쇼벨
  • |
  • 에이콘출판
  • |
  • 2016-11-30 출간
  • |
  • 564페이지
  • |
  • 188 X 245 mm
  • |
  • ISBN 9788960779167
★★★★★ 평점(10/10) | 리뷰(1)
판매가

40,000원

즉시할인가

36,000

카드할인

0원(즉시할인 0%)

적립금

2,000원 적립(5%적립)

배송비

무료배송

(제주/도서산간 배송 추가비용:3,000원)

추가혜택

네이버페이 무조건 1%적립+ 추가 1%적립

수량
+ -
총주문금액
36,000

※ 스프링제본 상품은 반품/교환/환불이 불가능하므로 신중하게 선택하여 주시기 바랍니다.

출판사서평

★ 이 책에서 다루는 내용 ★

■ 실시간 애플리케이션 개발
■ 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) 설정 방법을 설명한다.  

목차

1부. 와, 별똥별이다!

1장. 웹 앱을 만드는 더 나은 방법
__1.1 미티어 소개
____1.1.1 미티어의 비하인드 스토리
____1.1.2 미티어 스택
____1.1.3 아이소모픽 프레임워크: 풀-스택 자바스크립트
____1.1.4 브라우저에서의 프로세싱: 분산된 플랫폼에서의 실행
____1.1.5 반응성 프로그래밍
__1.2 미티어는 어떻게 작동하는가?
____1.2.1 코어 프로젝트
____1.2.2 아이소빌드와 커맨드라인 툴
____1.2.3 클라이언트 코드 대 서버 코드
__1.3 장점과 단점
____1.3.1 미티어가 빛을 발하는 경우
____1.3.2 미티어의 과제
__1.4 애플리케이션 만들기
____1.4.1 새로운 프로젝트 설정하기
____1.4.2 애플리케이션 시작하기
__1.5 디폴트 프로젝트 분해하기
____1.5.1 helloWorld.css
____1.5.2 helloWorld.html
____1.5.3 helloWorld.js
__1.6 정리

2장. 냉장고: 반응성 게임
__2.1 애플리케이션 개요
__2.2 초기 설정
____2.2.1 새 프로젝트 설정
__2.3 레이아웃 작성하기
____2.3.1 스타일 설정하기
____2.3.2 템플릿 추가하기
__2.4 실시간으로 데이터베이스에 내용 추가하기
____2.4.1 데이터베이스에 아이템 저장하기
____2.4.2 데이터를 템플릿에 연결하기
____2.4.3 초기 제품군 추가하기
__2.5 냉장고 안에 아이템 넣기
____2.5.1 제이쿼리-UI를 프로젝트에 추가하기
____2.5.2 아이템의 드롭 타깃 정하기
____2.5.3 아이템들을 드래그할 수 있도록 하기
__2.6 meteor.com에 배치한 후 냉장고 앱 사용하기
__2.7 정리

2부. 3, 2, 1 ― 충돌!

3장. 템플릿 다루기
__3.1 템플릿에 대한 소개
__3.2 템플릿 다루기
____3.2.1 블레이즈(Blaze) 엔진
____3.2.2 템플릿 파일 구성하기
__3.3 동적인 HTML 템플릿 만들기
____3.3.1 이중, 삼중 중괄호 태그(표현식)
____3.3.2 인클루전 태그(파셜)
____3.3.3 블록 태그
____3.3.4 헬퍼
__3.4 이벤트 핸들링
____3.4.1 템플릿 이벤트 맵
____3.4.2 이벤트 전파
____3.4.3 브라우저 디폴트 행동 차단하기
__3.5 템플릿 생애 주기
__3.6 정리

4장. 데이터 다루기
__4.1 미티어의 디폴트 데이터 소스
____4.1.1 무엇이 데이터 소스를 반응성으로 만드는가?
____4.1.2 반응성 데이터는 어떻게 함수와 연결되는가?
__4.2 가사돌봄이 앱 만들기
____4.2.1 템플릿 설정하기
____4.2.2 데이터베이스 연결과 컬렉션 정의
__4.3 Session 객체 다루기
____4.3.1 Session 객체
____4.3.2 선택된 드롭다운 값을 저장하기 위해 Session 사용하기
____4.3.3 Tracker.autorun을 사용하여 반응성 맥락 만들기
__4.4 MongoDB 컬렉션 다루기
____4.4.1 MongoDB에서 도큐먼트 조회하기
____4.4.2 미티어 컬렉션 다루기
____4.4.3 컬렉션 초기화하기
____4.4.4 컬렉션 조회하기
____4.4.5 템플릿에 컬렉션 데이터 표시하기
____4.4.6 컬렉션 데이터 업데이트
____4.4.7 컬렉션에 새로운 데이터 삽입
____4.4.8 컬렉션에서 데이터 삭제
__4.5 정리

5장. 완전한 반응성 편집
__5.1 반응성 편집 작업 과정
__5.2 반응성 프론트-엔드 대 DOM 조작
__5.3 로컬 컬렉션에 변화를 스테이징하기
__5.4 폼에 컬렉션 데이터 표시하기
____5.4.1 #each 루프에 배열 인덱스 정보 추가하기
__5.5 로컬 켈렉션을 사용한 반응성 업데이트
____5.5.1 houseForm 템플릿을 위한 이벤트 맵
____5.5.2 plantFieldset 템플릿을 위한 이벤트 맵
__5.6 간단한 알림 시스템 구현하기
____5.6.1 알림을 위한 템플릿 추가하기
____5.6.2 status 프로퍼티 추가하기
____5.6.3 Session 변수를 사용하여 알림을 트리거하기
__5.7 정리

6장. 사용자 관리, 인증과 권한
__6.1 사용자를 애플리케이션에 추가하기
____6.1.1 패스워드 인증 기능 추가하기
____6.1.2 등록과 패스워드 리셋
____6.1.3 이메일 설정
__6.2 OAuth를 사용한 사용자 인증
____6.2.1 OAuth에 대한 소개
____6.2.2 페이스북 인증을 통합하기
____6.2.3 다른 OAutho 서비스 제공자 통합하기
__6.3 사용자 허가 사항, 역할, 그룹 등의 관리
____6.3.1 allow/deny를 사용하여 권한 관리하기
__6.4 정리

7장. 데이터 교환
__7.1?발행과 구독
____7.1.1 publish()와 subscribe()
____7.1.2 글로벌 구독
____7.1.3 템플릿-레벨 구독
____7.1.4 구독에 파라미터 전달하기
____7.1.5 집계 데이터(aggregated data)를 클라이언트에만 존재하는 컬렉션으로 발행
____7.1.6 집계된 발행을 반응성 데이터 소스로 만들기
____7.1.7 사용자 아이디에 따라서 보이는 데이터 한정하기
__7.2 미티어 메서드
____7.1.2 insecure 패키지 삭제하기
____7.2.2 메서드를 사용하여 컬렉션에 데이터 쓰기
__7.3 정리

8장. Iron.Router를 사용한 라우팅
__8.1 웹 애플리케이션에서의 라우팅
__8.2 클라이언트-사이드 라우팅
____8.2.1 Iron.Router 추가하기
____8.2.2 첫 번째 라우트 만들기
____8.2.3 라우트에 의존하는 레이아웃 정의하기
____8.2.4 라우트에 의존하는 데이터 맥락 설정
____8.2.5 Iron.Router를 사용하여 데이터 구독
__8.3 고급 라우팅 메서드
____8.3.1 이름 붙여진 라우터와 링크 헬퍼 사용
____8.3.2 더 나은 내비게이션 링크를 위해 액티브 라우트 다루기
____8.3.3 외부 라이브러리 로딩 대기
____8.3.4 라우터를 컨트롤러로 체계화하기
____8.3.5 훅을 사용하여 라우트 프로세싱 기능 확장.
____8.3.6 Iron.Router 플러그인 만들기
__8.4 REST API를 가진 서버 사이드 라우팅
__8.5 정리

9장. 패키지 시스템
__9.1 모든 애플리케이션의 기초
__9.2 아이소팩 사용하기
____9.2.1 버전 솔버와 시맨틱 버전
____9.2.2 패키지 찾기
____9.2.3 아이소팩 추가와 삭제
____9.2.4 패키지 업데이트하기
__9.3 npm 패키지 사용
__9.4 아이소팩 만들기
____9.4.1 패키지 만들기
____9.4.2 패키지 메타데이터 선언하기
____9.4.3 패키지 기능 추가하기
____9.4.4 tinytest를 사용하여 아이소팩 테스팅하기
____9.4.5 공개하기
__9.5 정리

10장. 고급 서버 메서드
__10.1 Node.js 다시 보기
____10.1.1 동기식 코드
____10.1.2 비동기식 코드
__10.2 파이버를 사용한 비동기식 함수
____10.2.1 이벤트 루프에 멀티태스킹 기능 부여하기
____10.2.2 wrapAsync를 사용하여 파이버에 콜백 바인딩
____10.2.3 하나의 클라이언트에서 메서드 언블록킹하기
____10.2.4 bindEnvironment를 사용하여 파이버 생성하기
__10.3 외부 API통합하기
____10.3.1 http 패키지를 사용하여 RESTful 호출 실행하기
____10.3.2 API 쿼리를 위해 동기식 메서드 사용하기
____10.3.3 API 쿼리를 위해 비동기식 메서드 사용하기
__10.4 컬렉션으로 파일 업로딩하기
____10.4.1 데이터베이스에 파일 업로딩하기
__10.5 정리

3부. 크레이터 남기기!

11장. 빌딩과 디버깅
__11.1 미티어 빌드 프로세스
____11.1.1 빌드 단계
____11.1.2 --production 옵션을 사용하여 실행
____11.1.3 로드 순서
____11.1.4 패키지를 통해 빌드 단계 추가
____11.1.5 커스텀 빌드 단계 추가
__11.2 실행되는 애플리케이션에 접근하기
____11.2.1 인터랙티브 서버 셸 사용
____11.2.2 node-inspector를 사용하여 디버깅
__11.3 브라우저 애플리케이션 만들기
____11.3.1 1meteor.settings를 사용하여 애플리케이션 설정
____11.3.2 미티어 프로젝트 빌드
__11.4 모바일 애플리케이션 만들기
____11.4.1 코르도바를 사용한 하이브리드 앱
____11.4.2 모바일 플랫폼 추가
____11.4.3 모바일 플랫폼 설정
____11.4.4 모바일 기능 추가
__11.5 정리

12장. 출시
__12.1 출시 준비
____12.1.1 버전 관리자 사용
____12.1.2 벨로시티(Velocity) 프레임워크를 가지고 테스팅하기
____12.1.3 로드를 예측하고 테스팅하기
____12.1.4 서버 관리
____12.1.5 체크리스트
__12.2 설정과 배치
____12.2.1 metero.com을 이용한 간단한 배치
____12.2.2 모든 것이 준비된 호스팅: 클라우드 서비스
____12.2.3 완전한 유연성: 매뉴얼 설정
__12.3 조각들을 연결하기
____12.3.1 환경 변수
____12.3.2 미티어를 MonogoDB에 연결하기
__12.4 스케일링 전략
____12.4.1 여유가 있는 능동-수동 고가용성
____12.4.2 단일 요소로 구성된 배치
____12.4.3 여유분과 부하 분산
____12.4.4 방탄복과 같은 가용성
__12.5 정리

부록 A. 미티어 설치
__A.1 요구사항
__A.2 리눅스와 맥 OS X에 미티어 설치하기
__A.3 윈도우에 미티어 설치하기
__A.4 Vagrant를 사용하여 미티어 실행하기

부록 B. MonogoDB의 구조
__B.1 MongoDB의 구성 요소들
____B.1.1 mongod: 데이터베이스와 샤드
____B.1.2 mongos: 쿼리 라우팅
____B.1.3 mongoc: 서버들에 대한 설정
____B.1.4 레플리카 셋
__B.2 MongoDB 설정

부록 C. nginx 설정
__C.1 엔진 엑스를 사용한 부하 분산(load balancing)
____C.1.1 우분투에 nginx 설치하기
____C.1.2 데비안 7(Wheezy)에 설치하기
__C.2 부하 분산기 설정하기
____C.2.1 하나의 사이트 설정 파일 만들기
____C.2.2 미티어 서버 정의하기
____C.2.3 요청을 백엔드 서버들로 포워딩하기
____C.2.4 nginx 사이트 활성화하기
__C.3 엔진 엑스를 사용하여 정적인 콘텐츠 서빙하기
____C.3.1 CSS와 자바스크립트 파일 서빙
____C.3.2 미티어 파일들과 이미지들을 서빙하기
____C.3.3 gzip 압축 기능 추가하기
__C.4 엔진 엑스에 SSL 설치하기  

도서소개

미티어는 노드제이에스를 배경에 두면서 프런트에서 백엔드까지 모든 것을 자바스크립트 하나로 코딩할 수 있는 환경을 제공한다. 또한 반응성 프로그래밍(reactive programming)이라는 개념을 사용하기 때문에 데이터가 바뀌면 바로 자동으로 그 값이 반영되도록 설계돼 있어 기술적 프로그래밍(declarative programming)이 가능하여 적은 코드로도 많은 기능을 구현할 수 있다. 이 책은 미티어 스택의 핵심 부분, 즉 클라우드에서 각 액티브 유저로 새로운 정보를 발행하는 데이터 동기화 기술, 반응성 템플릿을 사용하여 데이터의 변화에 따라 스크린이 다시 디스플레이되게 하기, 이벤트와 폼, 미티어의 아이소모픽 유저 계정, 라우팅, 패키지, 보안 등을 모두 다루고 있다.  

교환 및 환불안내

도서교환 및 환불
  • ㆍ배송기간은 평일 기준 1~3일 정도 소요됩니다.(스프링 분철은 1일 정도 시간이 더 소요됩니다.)
  • ㆍ상품불량 및 오배송등의 이유로 반품하실 경우, 반품배송비는 무료입니다.
  • ㆍ고객님의 변심에 의한 반품,환불,교환시 택배비는 본인 부담입니다.
  • ㆍ상담원과의 상담없이 교환 및 반품으로 반송된 물품은 책임지지 않습니다.
  • ㆍ이미 발송된 상품의 취소 및 반품, 교환요청시 배송비가 발생할 수 있습니다.
  • ㆍ반품신청시 반송된 상품의 수령후 환불처리됩니다.(카드사 사정에 따라 카드취소는 시일이 3~5일이 소요될 수 있습니다.)
  • ㆍ주문하신 상품의 반품,교환은 상품수령일로 부터 7일이내에 신청하실 수 있습니다.
  • ㆍ상품이 훼손된 경우 반품 및 교환,환불이 불가능합니다.
  • ㆍ반품/교환시 고객님 귀책사유로 인해 수거가 지연될 경우에는 반품이 제한될 수 있습니다.
  • ㆍ스프링제본 상품은 교환 및 환불이 불가능 합니다.
  • ㆍ군부대(사서함) 및 해외배송은 불가능합니다.
  • ㆍ오후 3시 이후 상담원과 통화되지 않은 취소건에 대해서는 고객 반품비용이 발생할 수 있습니다.
반품안내
  • 마이페이지 > 나의상담 > 1 : 1 문의하기 게시판 또는 고객센터 1800-7327
교환/반품주소
  • 경기도 파주시 문발로 211 1층 / (주)북채널 / 전화 : 1800-7327
  • 택배안내 : CJ대한통운(1588-1255)
  • 고객님 변심으로 인한 교환 또는 반품시 왕복 배송비 5,000원을 부담하셔야 하며, 제품 불량 또는 오 배송시에는 전액을 당사에서부담 합니다.