장바구니 담기 close

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

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

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

  • 미툰 사티시
  • |
  • 에이콘출판
  • |
  • 2017-03-31 출간
  • |
  • 328페이지
  • |
  • 188 X 236 X 24 mm /780g
  • |
  • ISBN 9788960779990
판매가

30,000원

즉시할인가

27,000

배송비

무료배송

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

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

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

출판사서평

★ 이 책에서 다루는 내용 ★

■ 노드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의 잘 알려진 프레임워크들로 개발된 웹 애플리케이션이 완성될 것이다.

★ 옮긴이의 말★

소프트웨어 개발은 그 자체로도 발전 속도가 매우 빠르지만, 웹 개발 내부에서 사용되는 기술의 변화는 더욱 빠르게 일어난다. 하지만 개발자로 살아가기로 정한 이상, 두 가지 측면의 지식 모두 익혀둬야만 한다. 웹이나 소프트웨어 엔지니어링에 관한 지식이 기초 체력이라고 한다면, 이 책에서 다루고 있는 노드JS나 몽고DB같은 기술은 최신의 응용 기술로서 분명히 배워둘 가치가 있다.
노드JS의 인기가 있는 이유는 분명히 자바스크립트가 가지는 비동기성 때문이다. 자바스크립트는 싱글 스레드로 동작한다는 것은 잘 알려진 사실이다. 그런 상황에서 동기로 사용자 입력을 처리한다면 AJAX 응답이 반환되기 전까지 스레드는 블록돼 있을 것이다. 자바스크립트 덕분에 우리는 한층 쾌적한 웹 브라우징 경험을 할 수 있다.
노드JS는 기존 서버 프로그래밍 언어를 완전히 대체하진 못하지만 특정 문제를 처리하는데 특화돼 있다. 예를 들어 동시에 대량 클라이언트가 접속해오는 상황을 C10K 문제라고 하는데, 이런 상황에서는 노드JS는 훌륭한 해결책이 될 수 있다.
노드JS가 영역을 넓혀가는 사이에 RDBMS의 대안으로서 NoSQL이 떠오르고 있었다. 몽고DB는 NoSQL에서도 키-값 스토어에 속하는데, OOP와 RDBMS 사이의 간격을 지우거나, 쓰기 연산 비중이 높거나, 저장하는 데이터 사이즈가 클 때처럼 기존 RDBMS로 처리하기 힘들거나 DBA가 없으면 하기 힘든 일을 애플리케이션 개발자가 약간의 트레이드 오프로 수행할 수 있도록 해준다.
이 책을 더 의미 있게 읽는 방법은 '어떻게'보다 '왜'에 초점을 맞추는 것이다. 최신 버전을 최대한 따라잡으려고 하고 있지만 워낙 활발한 커뮤니티고 번역을 거쳐서 조금 더 늦게 독자들에게 전달되기 때문에 소개한 예제들이 구 버전이 돼 있을 수도 있기 때문이다. 최신 버전에 너무 연연하지 않고 안정 버전을 통해 즐거운 개발 생활을 즐길 수 있기를 바란다.

저자소개

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

도서소개

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

교환 및 환불안내

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