로그인회원가입장바구니고객센터마이페이지회사소개
kangcom
전체
Home >   >   > 

노드JS와 몽고DB로 웹 개발 시작하기

 [노드JS와 몽고DB로 유연하고 완전한 기능을 가진 웹 애플리케이션 개발 첫?]
   
지은이 미툰 사티시, 브루노 조셉 드멜로, 제이슨 크롤   |   출판사 에이콘  |   발행일 2017년 03월 31일
 
클릭하시면 큰 도서이미지를 보실 수 있습니다.
판매가 30,000원27,000원 10%
마일리지 5% 1,500원
발행일 2017-03-31
ISBN 8960779997 |  9788960779990
기타정보 번역서 | 328쪽 | 일반
예상출고일 2~3일 이내 (근무일기준)
배송비 무료배송
   
   
이 책의 원서
  Web Development with Mongodb and Nodejs Second Edition
Packt Publishing | Jason Krol
 

[ 요약 ]

노드JS와 몽고DB를 중심으로 빠르게 웹 개발을 할 수 있는 방법을 소개한다. 개발부터 테스트, 배포까지 실습하기에 가장 적합한 예제를 다루고 있어 빠른 프로토타입 개발을 원하는 독자들에게 가장 적합한 책이다. 다양한 예제를 통해 노드JS와 몽고DB 및 관련 기술을 익힐 수 있다.


[ 이 책에서 다루는 내용 ]

■ 노드JS와 몽고DB를 사용하기 위한 개발 환경 설정
■ 익스프레스JS 기반의 노드JS 웹 서버를 설정 및 작성
■ 핸들바 템플릿 엔진을 사용해 동적인 HTML 페이지 작성
■ 몽고DB와 몽구스 ODM을 사용해 데이터 영속화
■ 모카 프레임워크등과 같은 자동화된 테스트 도구를 사용해 코드 테스트
■ 헤로쿠, AWS, 마이크로소프트 애저와 같은 클라우드 환경에 배포하기
■ 한층 나은 웹 애플리케이션을 개발할 수 있도록 싱글 페이지 애플리케이션 프레임워크들을 둘러보기


[ 이 책의 대상 독자 ]

노드JS와 몽고DB를 사용해 완전한 기능을 가지는 웹 애플리케이션을 개발하고 구동하길 원하는 모든 수준의 자바스크립트 개발자를 위한 책이다.


[ 이 책의 구성 ]

1장, ‘풀스택 자바스크립트 세계에 오신 것을 환영합니다’에서는 백엔드 개발을 자바스크립트로 할 때의 장점과 노드JS에 대해 소개한다. 덧붙여, 이 책에서 개발할 애플리케이션의 전체적인 아키텍처를 설명한다.
2장, ‘일어나 달려가기’에서는 노드JS와 몽고DB를 위한 개발환경을 설정하는 방법을 설명한다. 또한 예제 앱을 구동해 모든 게 제대로 설정됐는지 검증한다.
3장, ‘노드와 몽고DB의 기초’에서는 자바스크립트, 노드JS, 몽고DB의 기초 개념을 알아본다. 노드JS와 그것을 둘러싼 다양한 개념들을 소개하고 몽고DB와 CRUD를 위한 기본 셸에 대해 알아본다.
4장, ‘익스프레스 소개’에서는 익스프레스와 다양한 컴포넌트를 알아보고, 프레임워크를 사용해 기본적인 애플리케이션을 개발할 때 어떻게 체계를 잡는지 살펴본다.
5장, ‘템플릿과 핸들바’에서는 템플릿 엔진과 핸들바의 개념을 소개한다. 또한 애플리케이션에서 템플릿 엔진으로 어떻게 핸들바를 사용하는지 보여준다.
6장, ‘컨트롤러와 뷰 모델’에서는 익스프레스의 컨트롤러와 뷰를 붙여넣은 예제 애플리케이션의 코드를 어떻게 구조화하는지 보여준다. 또한 코드를 여러 가지 모듈로 나누고 익스프레스 프레임워크를 도입해 간접적으로 MVC 개념에 대해 알려준다.
7장, ‘몽고DB로 데이터 저장’에서는 개발 중인 노드JS 애플리케이션에서 어떻게 몽고DB에 접속하는지 보여준다. 또한 몽구스(Mongoose)로 가장 잘 알려진 ODM의 개념에 대해서도 소개한다.
8장, ‘레스트풀 API 작성’에서는 레스트풀(RESTful) API를 소개하고, 애플리케이션의 레스트풀 래퍼의 중요성에 대해서도 언급한다. 그리고 애플리케이션을 어떻게 REST API 기반의 애플리케이션으로 변경하는지 알려준다.
9장, ‘코드 테스트’에서는 애플리케이션에서 테스트를 수행해야 하는 이유와 코드를 작성
할 때 테스트를 용이하게 하기 위한 유의사항을 알려준다.
10장, ‘클라우드 기반 서비스에서의 배포’에서는 개발한 노드JS와 몽고DB 애플리케이션을 배포하기 위한 여러 가지 옵션들을 알아본다. 또한 시장에서 선택 가능한 다양한 PaaS 솔루션들을 비교해본다.
11장, ‘잘 알려진 프론트엔드 프레임워크와 싱글 페이지 애플리케이션’에서는 싱글 페이지 애플리케이션에 대해 논의하고, 사용 가능하고 잘 알려진 프론트엔드 프레임워크를 분석해본다. 사용 가능한 자동화 도구나 트랜스파일러 같은 측면에서 프론트엔드 개발을 바라보게 될 것이다.
12장, ‘유명한 노드JS 웹 프레임워크’에서는 애플리케이션을 개발할 때 사용했던 익스프레스 JS 외에, 노드JS에서 사용 가능한 다양한 웹 프레임워크를 다룬다. Meteor, Sails, Koa, Hapi, Flatiron 같은 다양한 웹 프레임워크를 분석한다.


[ 지은이의 말 ]

노드JS와 몽고DB는 웹 개발을 위한 개발 스택으로 매우 빠르게 성장하고 있다. 구글의 V8 엔진을 사용하는 노드JS는 쉽게 확장 가능한 네트워크 애플리케이션을 개발하도록 돕고, 몽고DB는 확장 가능한 고성능의 오픈소스 NoSQL 데이터베이스 솔루션으로 적합하다. 이 두 가지 기술을 함께 사용하면 웹 애플리케이션을 빠르고 쉽게 클라우드에 배포할 수 있다.
이 책은 개발환경을 설정하는 데 필요한 기초 작업으로 시작한다. 여기서 메인 애플리케이션 서버를 구동하는 데 필요한 절차를 빠르게 훑어본다. 어떻게 노드JS를 몽고DB 데이터베이스와 연결해 데이터 조작을 수행하는지 알아본다.
웹 앱에서 사용하기 위한 서드파티 툴을 통합해본 다음, 개발 시간을 줄여줄 재사용 코드를 생성하기 위한 뷰 모델과 컨트롤러 사용법에 대해 알아본다. 끝으로 코드를 적절히 실행하기 위한 테스트와 웹 애플리케이션 개발을 위해 잘 알려진 프레임워크에 대해 살펴볼 것이다.
책의 끝에 다다를 때쯤 몽고DB와 노드JS의 잘 알려진 프레임워크들로 개발된 웹 애플리케이션이 완성될 것이다.

1장. 풀스택 자바스크립트 세계에 오신 것을 환영합니다!
__노드JS에 대한 간략한 소개
____V8 엔진이 가져오는 이점
____노드JS는 싱글 스레드!
____논블로킹 비동기 실행
__npm: 노드 패키지 매니저
__자바스크립트 재사용과 공유
____단순히 웹 서버를 구현하기 위한 것은 아니다!
____socket.io를 이용한 실시간 웹 애플리케이션
____네트워킹과 파일 IO
____io.js의 유래
__노드JS로 구현한 간단한 서버
____언제 노드JS를 사용할 것인가?
__NoSQL 운동
__몽고DB에 대해 간략한 설명
____몽고DB의 기능
__노드와 몽고DB의 실제 사용 사례
__이 책을 통해 얻을 수 있는 것
__요약

2장. 일어나 달려가기
__노드JS 설치
____맥 OS X
____윈도우
____리눅스
____노드JS 설치 확인
____온라인 문서들
__몽고 DB 설치
____맥 OS X에 설치하기
____윈도우 7/8에 설치하기
____리눅스에 설치하기
____몽고DB 설치 확인하기
____온라인 문서들 즐겨찾기
__첫 번째 앱 작성
____테스트 애플리케이션 작성
____의존성 모듈 가져오기
__애플리케이션 코드 추가하기
____코드 이해하기
____예제 애플리케이션 구동
____데이터베이스 확인
__요약

3장. 노드와 몽고DB의 기초
__자바스크립트 입문
____기초 문법
____데이터 타입
____변수의 스코프 이해하기
____연산자와 흐름
____객체 이해하기
____배열 이해하기
____함수 이해하기
____익명 함수와 콜백
____JSON
__노드JS의 기초
____이벤트 드리븐
____비동기 실행
____모듈 시스템
____노드JS 핵심
__NPM으로 모듈 설치
__몽고DB의 기초
____몽고 셸
____데이터 삽입
____쿼리
____데이터 갱신
____데이터 삭제
__추가 자료
__요약

4장. 익스프레스 소개
__웹 애플리케이션 프레임워크
__익스프레스JS란?
__완전한 웹 애플리케이션 개발
____웹 애플리케이션 디자인
____파일 구조 잡기
____애플리케이션의 시작점 만들기
____애플리케이션 구동
__미들웨어의 이해와 사용
__configure 모듈
____configure 모듈 활성화
__라우터와 컨트롤러
____커스텀 미들웨어
__핸들바 뷰
__요약

5장. 템플릿과 핸들바
__템플릿 엔진
__서버 측 템플릿과 클라이언트 측 템플릿
____클라이언트 측 템플릿
____서버 측 템플릿
__뷰
__레이아웃
__파셜 뷰
__핸들바의 기초
____템플릿에 객체 바인딩
____프레젠테이션 로직 삽입
__핸들바 헬퍼
____전역 헬퍼
____뷰를 위한 헬퍼
__뷰 그리기
__요약

6장. 컨트롤러와 뷰 모델
__컨트롤러
__뷰 모델
__홈 컨트롤러 수정
__이미지 컨트롤러 수정
____이미지 출력
__이미지 업로드
__코드 재사용을 위한 헬퍼
____사이드바 모듈
____통계 모듈
____이미지 모듈
____댓글 모듈
____사이드바 기능 테스트
__UI 작업 이터레이션
__요약

7장. 몽고DB로 데이터 저장
__노드JS에서 몽고DB 사용하기
____몽고DB 연결
____도큐먼트 삽입
____도큐먼트 반환
__몽구스 소개
____스키마
____모델
____내장 검증 기능
____정적 메소드
____가상 프로퍼티
____몽구스와의 연결
__스키마와 모델 정의
____모델 인덱스 파일
__컨트롤러에 CRUD 추가
____홈 컨트롤러
____이미지 컨트롤러
______인덱스: 이미지 모델을 반환
______생성: 이미지 모델을 새로 삽입
______지금까지의 완성물 테스트하기
______‘좋아요’ 버튼과 이미지 모델 갱신
______댓글: 댓글 모델 삽입
______Wrapping it up
____헬퍼
______비동기 모듈 소개
______댓글 헬퍼
______사이드바 헬퍼
______트러블슈팅
______통계 헬퍼
______뜨는 이미지 헬퍼
__이미지 삭제 기능 추가
____경로 추가
____컨트롤러 핸들러 추가
____핸들바 이미지 페이지 템플릿 수정
____jQuery 변경
__리팩토링과 개선
__요약

8장. 레스트풀 API 작성
__API란?
__레스트풀 API란?
__포스트맨 REST 클라이언트 소개
____설치 방법
____포스트맨 클라이언트
____JSONVIew 크롬 익스텐션
__기본 API 서버 생성
____견본 JSON 응답 생성
__GET 요청에 대한 응답
__데이터 수신: POST와 PUT
__데이터 삭제: DELETE
__노드JS에서의 외부 API 소비
____request를 사용한 API 엔드포인트 소비
__요약

9장. 코드 테스트
__필요 도구들
____모카 프레임워크로 테스트하기
____차이JS를 사용해 테스트하기
____차이 알아보기
____시논JS를 사용한 스파이와 스텁
____프록시콰이어를 이용한 모듈 스터빙
__첫 번째 테스트 작성과 실행
____테스트 헬퍼 작성
__애플리케이션 테스트
____경로 테스트
____서버 테스트
____모델 테스트
____컨트롤러 테스트
__모든 것을 스파이, 스텁!
__요약

10장. 클라우드 기반 서비스에서의 배포
__전통적인 방법과 클라우드 호스팅 비교
____IaaS와 PaaS 비교
__깃 소개
__애플리케이션 배포
____Nodejistsu
____헤로쿠
____아마존 웹 서비스
______몽고랩 계정과 데이터베이스 생성
______AWS 환경 구성과 생성
____마이크로소프트 애저
____디지털 오션
__요약

11장. 잘 알려진 프론트엔드 프레임워크와 싱글 페이지 애플리케이션
__싱글 페이지 애플리케이션이란?
__프론트엔드 프레임워크를 왜 사용해야 하는가?
____투두MVC 프로젝트
____백본 JS
____엠버JS
____앵귤러 JS
__프론트엔드 개발 도구들
____자동화된 빌드 매니저
____의존성 관리
____이식성
____HTML 템플릿 엔진
____CSS 트랜스파일링
__테스트와 테스트 주도 개발
____팬텀JS 헤드리스 브라우저
__요약

12장. 유명한 노드JS 웹 프레임워크
__Koa
__Meteor
__Sails
__Hapi
__Flatiron
__요약

미툰 사티시(Mithun Satheesh)
인도에 거주하는 오픈소스의 열렬한 지지자이자 웹 개발자다. 5년이 넘는 웹 개발 경력이 있고 특히 자바스크립트, PHP, 루비를 비롯한 프론트엔드 기술을 전문으로 한다. npm을 통해 오픈소스화 된 몇몇 노드JS 라이브러리의 저자로, 그중 하나는 node-rules인데 이전 근무처인 bookmyshow.com에서 트랙 잭션 위험을 처리하기 위해 작성됐던 전향 추론(forward chaining) 룰 엔진이다. node-rules는 npm과 깃허브에서 많은 사용자를 확보하고 있다. 이 외에 깃허브의 많은 오픈소스 프로젝트에도 개인적으로 공헌하고 있다.
스택 오버플로(Stack Overflow) 같은 프로그래밍 사이트에 정기적으로 방문하고 오픈소스 월드에 공헌하는 것을 좋아한다. 프로그래밍 외에도 다양한 클라우드 플랫폼 기술을 실험하는 데 관심이 있다. 그가 작성한 여러 애플리케이션은 레드햇(ReaHat)의 오픈시프트(OpenShift) 같은 PaaS 프로바이더의 디벨로퍼 스포트라이트 코너에 소개됐다.
그를 트위터에서 팔로우하려면 @mithunsatheesh를 참조하자.

브루노 조셉 드멜로(Bruno Joseph D’mello)
현재 Built.io에서 근무하고 있는 웹 애플리케이션 엔지니어다. 자바스크립트의 열렬한 지지자로, 여러 가지 웹 관련 기술과 그것들에 구현돼 있는 프로그래밍 패러다임에 대해서도 많은 관심을 갖고 있다.

제이슨 크롤(Jason Krol)
열정적인 웹 개발자로, 최신의 서버와 클라이언트 기술을 사용해 15년간 고도로 상호작용하는 웹 애플리케이션을 개발해왔다.
최근 몇 년간 노드JS, 몽고DB, 백본JS의 풀스택 자바스크립트를 이용한 싱글 페이지 애플리케이션SPA를 개발하는 데 집중해왔다. 성공적인 웹 개발 에이전시를 몇 년간 공동 소유 및 운영한 후에, 필라델피아 교외 지역의 이메일 마케팅 프로바이더인 AWeber 커뮤니케이션즈에 정착했다.
제이슨이 사이드 프로젝트를 진행하지 않거나 코드를 작성하지 않을 때는 자신의 개발 경험과 의견에 대해 블로그에(KrolTech.com) 글을 쓴다. 자유시간에는 아내와 8살 된 아들과 보내는 것을 좋아한다.
등록된 서평이 없습니다.
 
전체평균(0)
회원평점   회원서평수 0
에이콘 출판사의 신간
AWS 공인 솔루션스 아키텍트 올인원 스터디 가이드 어소시에이트
동준상/동준상 저
29,700원
(10%↓+5%)
 
양자 컴퓨터 원리와 수학적 기초
크리스 베른하트/이정문 저
22,500원
(10%↓+5%)
 
HTTP/2 in Action
배리 폴라드/임혜연 저
36,000원
(10%↓+5%)
 
플러터 실무 개발
프랭크 자메티/김성일 저
27,000원
(10%↓+5%)
 
데이터 3법 개정에 따른 개인정보 비식별 조치의 이해와 활용
김동현 저
31,500원
(10%↓+5%)
 
이메일주소수집거부