이미지 검색을 사용해 보세요
검색창 이전화면 이전화면
최근 검색어
인기 검색어

소득공제 청년패스
MEAN 스택을 사용한 모던 웹 개발 입문
풀 스택 엔지니어로 이끌어주는
박재호
에이콘출판사 2015.02.17.
베스트
IT 모바일 top100 1주
가격
28,000
10 25,200
YES포인트?
1,400원 (5%)
5만원 이상 구매 시 2천원 추가 적립
결제혜택
카드/간편결제 혜택을 확인하세요

이미 소장하고 있다면 판매해 보세요.

  •  해외배송 가능?
  •  문화비소득공제 가능

에이콘- 웹 프로페셔널 시리즈

이 상품의 태그

책소개

목차

1장. 새로운 모던 웹 아키텍처의 변화
__정적인 앱의 등장
____Ajax로 강화된 자바스크립트
____점진적인 향상
____스파게티 자바스크립트
____모바일 API
__무거운 클라이언트 세상으로
____모던 웹 아키텍처의 동작 방식
____모던 웹 아키텍처의 장점

2장. 자바스크립트가 모던 앱을 위한 좋은 선택인 이유
__AngularJS란 무엇인가
____AngularJS는 제이쿼리와 어떻게 다른가
__노드란 무엇인가
____스타트업 VS 기업
____기업 환경에서 노드
____노드의 성능
____이벤트 아키텍처
____콜백 동작 방식
____모듈과 NPM
____노드 설치
____평범한 HTTP 서버 만들기
__익스프레스란 무엇인가
____익스프레스 설치
____노드를 위한 데이터베이스
__몽고DB란 무엇인가
____문서 중심
____BSON
____자동 샤딩을 사용한 수평 확장
____스키마 부재
____몽고DB 설치
____몽고DB 사용
____다큐먼트 삽입
____다큐먼트 질의

3장. 소셜 네트워크 프로젝트 소개
__최신 글을 보여주기 위한 정적 모형 페이지 생성
__페이지를 AngularJS화 하기
__새로운 글 추가
__정리

4장. 노드 API 구축
__기본적인 종단점
__API로 글 올리기
__몽구스로 몽고DB 모델 생성
__POST 종단점에서 몽구스 모델 사용
__정리

5장. 노드와 AngularJS 통합
__$http
____프라미스란
__$http를 사용해 API로 글 읽기
__노드를 사용한 posts.html 제공
__$http를 사용해 API로 글 저장하기
__글 순서 고치기
__server.js 정리
____/api/posts 분리하기
____이름공간으로 라우터 경로 지정
____sendfile 종단점 분리
__AngularJS 정리
____정적 자산 제공
____AngularJS를 서비스로 분리하기
__정리

6장. 걸프를 사용한 빌드 자동화
__그룬트와 걸프 소개
__Gulp Hello World
__걸프를 사용한 자바스크립트 빌드
____Uglifier
____파일 변경에 따른 재빌드
____소스 지도
__걸프를 사용한 CSS 빌드
__걸프 dev 작업
____Gulp-Nodemon
__그 밖의 걸프 플러그인
__정리

7장. 노드로 인증 구현
__토큰 인증 소개
__JWT(JSON Web Token)
____익스프레스와 함께하는 JWT
____비밀번호 인증
__BCrypt 사용
__몽고DB로 인증
__정리

8장. 라우팅과 클라이언트 인증 추가
__라우팅
__로그인 폼 생성
__익스프레스 인증
__AngularJS 이벤트
__소셜 글 인증
__HTML5 pushstate
__등록
__로그아웃
__기억하기
__user 외래 키
__정리

9장. 웹소켓을 사용한 푸시 통지
__웹소켓 소개
__웹소켓 동작 방식
__웹소켓을 어디에 사용해야 하는가
__소셜 앱에서 웹소켓 구현
____ws 웹소켓에 연결
____새로운 글 통지
__AngularJS에서 웹소켓 구현
__웹소켓 아키텍처
____재접속
____보안
____다중 프로세스/다중 서버 설계
____클라이언트에서 온 이벤트 전달
__동적 웹소켓 호스트 이름
__정리

10장. 종단간 테스트 수행
__프로트랙터 설정
__자바스크립트 테스트 프레임워크
__기본적인 프로트랙터 테스트 작성
____프로트랙터 구성과 동작
____프로트랙터 내부에서 노드 시작
____프로트랙터 위치 탐지기
____navbar의 로그인 링크 누르기
____프로트랙터로 실제 글을 올리기
____프로트랙터 실행 후에 데이터베이스 삭제하기
__프로트랙터 결과 비교
__chai-as-promised
__종단간 테스트를 사용해야 할 시점
__정리

11장. 노드 서버 테스트
__완전하지 않은 단위 테스트
__노드를 위한 모카
__post 컨트롤러
__SuperTest
__기본 라우터
__SuperTest로 기반 라우터 사용
__컨트롤러 테스트에서 모델 점검
__컨트롤러에서 인증 테스트
__코드 커버리지
__npm test 명령
__JSHint
__정리

12장. AngularJS 테스트
__카르마 사용
__바우어 사용
__카르마 설정
__기본적인 카르마 서비스 테스트
__카르마를 사용한 HTTP 테스트
__카르마 컨트롤러 테스트
__스파이 테스트
__정리

13장. 허로쿠에 배포
__서비스로서 플랫폼
__허로쿠 동작 방식
__앱을 위한 12가지 요소 방법론
__애플리케이션을 허로쿠에 배포
__허로쿠에서 몽고DB 사용
__허로쿠에서 레디스
__자산 컴파일
__노드 클러스터
__정리

14장. 디지털 오션에 배포
__디지털 오션이란?
__단일 서버 대 다중 서버 아키텍처
__페도라 20
__서버 생성
__노드 설치
__몽고DB 설치
__레디스 설치
__소셜 앱 서비스하기
__systemd 아래에서 소셜 앱 서비스하기
__무중단 배포
__다중 서버 이주
____부하 분산
____중앙집중화된 데이터베이스
____사설 네트워크
__정리
__결론

저자 소개 1

포항공과대학교 컴퓨터공학과 학부와 대학원을 졸업했다. 임베디드 시스템 개발, 기업용 백업 소프트웨어 개발, 방송국 콘텐츠 수신 제한 시스템 개발 및 운영 지원, 클라우드 기반 서비스 개발에 이르기까지 다양한 실무 경험을 토대로 고성능 고가용성 시스템을 설계했다. 《클린 코드》, 《피플웨어》 등 40여 권의 책을 번역, 집필, 감수했다. 각종 기술 소식을 다루는 블로그 '컴퓨터 vs 책'(jhrogue.blogspot.com)과 개발자를 위한 유튜브 채널(youtube.com/@채널박재호)을 운영하며, 개발자들을 위한 각종 교육과 세미나도 지속적으로 진행하고 있다.

박재호의 다른 상품

관련 분류

품목정보

발행일
2015년 02월 17일
쪽수, 무게, 크기
288쪽 | 707g | 188*235*16mm
ISBN13
9788960776753

출판사 리뷰

★ 이 책에서 다루는 내용 ★

■ 자세한 설명, 풍부한 그림, 명쾌한 예제
■ MEAN 개발자로부터 얻는 통찰력 있는 우수 관례
■ 확장 가능한 고속 애플리케이션을 빠르게 만드는 방법 강조


★ 이 책의 대상 독자 ★

이 책은 웹 애플리케이션 구현의 변천사를 배우고 싶은 웹 개발자를 위한 책이다. 이 책은
독자에게 기초적인 자바스크립트 지식이 있다고 가정한다. 노드나 AngularJS에 대한 지식
은 도움이 되지만 필수 조건은 아니다.


★ 저자 서문 ★

나는 2004년부터 웹 개발자로 일해왔으며, 주요 웹 플랫폼 대다수에서 전문적인 개발을 진행해왔다. 애플리케이션 제작을 더 편하게 만들기 위한 새로운 기술 탐험을 좋아한다.
AngularJS와 같은 MVC 프레임워크로 만든 애플리케이션은 지금까지 웹 공동체에서 목격한 패러다임 변화 중에 가장 급진적이었다. 많은 프레임워크와 도구들이 나타났다 사라졌지만, 클라이언트 쪽의 MVC 애플리케이션은 근본적으로 다르다.
AngularJS와 노드를 사용해 출시한 애플리케이션의 품질에 감명을 받아왔다. AngularJS와 노드는 단순하며 어떤 경우에는 다소 소박하기도 하다. 하지만 이런 단순성에는 코드 기반을 유지하고 기능을 반복적으로 개선하기 위한 환상적인 능력이 따라온다.
MEAN 스택으로 만든 애플리케이션은 점점 인기가 높아지고 있지만, 많은 개발 팀은 여전히 서버에서 생성된 페이지와 관계형 데이터베이스에 편안함을 느낀다.
MEAN 애플리케이션을 개발한 행운을 토대로 여러 개발자들과 MEAN을 사용한 구축 지식을 공유하고 싶다.
애플리케이션 구축의 새로운 방법을 탐험하는 과정을 즐기기 바란다. 이런 주제에 대한 논의를 좋아하기에, 트위터에서 대화를 계속 나눌 수 있으면 좋겠다.

★ 옮긴이의 말 ★

자바스크립트 하면 웹브라우저부터 떠올리기 마련이다. 하지만 점점 영역을 넓혀서 요즘 자바스크립트는 임베디드 장비부터 애플리케이션 서버와 데이터베이스에 이르기까지 다양한 분야에서 맹활약 중이다. 일례로 TESSEL(http://www.tessel.io)은 자바스크립트를 구동하는 마이크로컨트롤러이며 노드 호환이 가능한 개발 환경을 갖춰 npm 패키지 형태로 다양한 디바이스 프로그래밍을 가능하게 만든다.
bonescript(http://beagleboard.org/support/bonescript)는 비글본(Beaglebone) 보드에 최적화된 Node.js 라이브러리로 아두이노(Arduino) 함수 호출 방식으로 임베디드 프로그램을 작성하게 도와준다. 풀 스택(full stack)을 기치로 내걸어 웹부터 데이터베이스까지 모든 프로그래밍을 자바스크립트로 가능하게 만들었으며, 이제 임베디드 단말까지 자바스크립트로 프로그래밍이 가능한 세상이 도래했다. 이런 변화는 개발자에게 상당히 큰 의미를 부여한다. 과거에는 임베디드 프로그램은 C, 웹 서비스/애플리케이션 개발은 PHP나 루비 등의 인터프리터 또는 기업용 환경에 적합한 자바, 웹 브라우저 프로그래밍은 자바스크립트(그리고 HTML5와 CSS), 데이터베이스 질의는 SQL 등으로 명확하게 나뉘어졌지만 이제는 모두 자바스크립트로 가능하기 때문이다. C와 비교할 수 없는 범용성을 자랑하는 자바스크립트라는 언어가 등장했으므로 프로그래밍 언어 학습에 따른 부담이 줄어들었다.
자, 그렇다면 서비스 개발자 입장에서 편재적인 자바스크립트를 사용해 웹브라우저부터 애플리케이션 서버를 거쳐 데이터베이스에 이르기까지 빠른 시간 내에 애플리케이션을 개발하려면 어떻게 해야 할까? 대답은 바로 MEAN이다. MEAN은 몽고DB(MongoDB), 익스프레스(Express), AngularJS, 노드(Node.js)의 첫 글자를 따서 만들었으며, 과거 웹 개발에 유명했던 LAMP(리눅스Linux, 아파치Apache, MySQL, PHP(또는 펄Perl))에 비견할만한 지위를 갖추고 있다. MEAN과 LAMP의 공통점은 구성 요소가 모두 오픈소스라는 점이고 차이점은 여러 가지 언어가 복잡하게 얽힌 LAMP와 달리 MEAN에서는 처음부터 끝까지 자바스크립트만 사용해서 프로그램이 가능하다는 점이다.
이 책은 (자바스크립트에 대한 기초 지식은 어느 정도 알고 있지만) MEAN 스택을 처음 접하는 사람에게 적합한 구성을 택하고 있다. 트위터 피드와 유사한 소셜 앱을 구축하려는 큰 목표를 중심으로 단계별로 글 쓰기, 글 읽기, 데이터베이스 설정, 인증과 로그인, 웹소켓으로
상호 대화성 높이기, NPM(서버 단)과 바우어(클라이언트 단) 패키지 관리 시스템을 사용한 의존성 관리, 빌드 자동화, 통합 테스트, 서버와 클라이언트 단위 테스트 방법을 설명한다. 그리고 마지막에는 PaaS와 IaaS에 배포하는 방법으로 마무리한다. 웹 브라우저 단에서 데이터베이스 단까지 전체를 다룰 뿐만 아니라, 구현부터 배포에 이르기까지 반드시 필요한 다양한 도구와 기법을 설명하고 있으므로 빠른 시간 내에 자바스크립트를 사용한 서버와 클라이언트 구현이 필요한 개발자에게 많은 도움이 될 것으로 확신한다.
이 책을 읽고 나서 MEAN에 대한 감을 잡으면 각각의 기술에 대해 세부적으로 파고들 필요가 있다. 비동기식 프로그래밍, 사건 구동 방식, MVVM(Model-View-ViewModel), 의존성 주입, 의존성 관리와 같은 복잡한 개념으로 인해 학습 곡선이 상당히 가파르기 때문이다. 다행스럽게도 최근에는 노드뿐만 아니라 AngularJS에 대한 저서와 번역서들도 많이 출간되고 있기 때문에 필요한 정보를 얻기에 어려움이 없을 것이다. 아무쪼록 MEAN 스택을 사용해 생산성을 높이고 성능과 확장성도 덤으로 얻는 좋은 성과를 얻기 바란다. 새로운 개발 세상에 온 독자 여러분을 환영한다!

리뷰/한줄평0

리뷰

첫번째 리뷰어가 되어주세요.

한줄평

첫번째 한줄평을 남겨주세요.