1. 광고배너
  2. 광고배너
/ 이전버튼 다음버튼
2
미리보기

노드JS와 몽고DB로 웹 개발 시작하기
저자 : 미툰사티시,브루노조셉드멜로,제이슨크롤 ㅣ 출판사 : 에이콘출판 ㅣ 역자 : 조승진

2017.03.31 ㅣ 328p ㅣ ISBN-13 : 9788960779990

정가30,000
판매가28,500(5% 할인)
적립금 1,200원 (4%)
배송일정 05월 02일 출고 가능
주문 수량 변경시 안내 배송안내
쿠폰 및 결제혜택 확인하기

크기 기타 규격
제품구성 단행본
이용약관 청약철회
국내도서 > 컴퓨터 > 인터넷 > 웹프로그래밍(웹디자...
노드JS와 몽고DB를 중심으로 빠르게 웹 개발을 할 수 있는 방법을 소개한다. 개발부터 테스트, 배포까지 실습하기에 가장 적합한 예제를 다루고 있어 빠른 프로토타입 개발을 원하는 독자들에게 가장 적합한 책이다. 다양한 예제를 통해 노드JS와 몽고DB 및 관련 기술을 익힐 수 있다.
펼쳐보기

[목 차]

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
__요약

[본 문]

★ 지은이의 말 ★

노드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가 없으면 하기 힘든 일을 애플리케이션 개발자가 약간의 트레이드 오프로 수행할 수 있도록 해준다.
이 책을 더 의미 있게 읽는 방법은 '어떻게'보다 '왜'에 초점을 맞추는 것이다. 최신 버전을 최대한 따라잡으려고 하고 있지만 워낙 활발한 커뮤니티고 번역을 거쳐서 조금 더 늦게 독자들에게 전달되기 때문에 소개한 예제들이 구 버전이 돼 있을 수도 있기 때문이다. 최신 버전에 너무 연연하지 않고 안정 버전을 통해 즐거운 개발 생활을 즐길 수 있기를 바란다.
펼쳐보기
노드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 같은 다양한 웹 프레임워크를 분석한다.
펼쳐보기
미툰사티시
인도에 거주하는 오픈소스의 열렬한 지지자이자 웹 개발자다. 5년이 넘는 웹 개발 경력이 있고 특히 자바스크립트, PHP, 루비를 비롯한 프론트엔드 기술을 전문으로 한다. npm을 통해 오픈소스화 된 몇몇 노드JS 라이브러리의 저자로, 그중 하나는 node-rules인데 이전 근무처인 bookmyshow.com에서 트랙 잭션 위험을 처리하기 위해 작성됐던 전향 추론(forward chaining) 룰 엔진이다. node-rules는 npm과 깃허브에서 많은 사용자를 확보하고 있다. 이 외에 깃허브의 많은 오픈소스 프로젝트에도 개인적으로 공헌하고 있다.
스택 오버플로(Stack Overflow) 같은 프로그래밍 사이트에 정기적으로 방문하고 오픈소스 월드에 공헌하는 것을 좋아한다. 프로그래밍 외에도 다양한 클라우드 플랫폼 기술을 실험하는 데 관심이 있다. 그가 작성한 여러 애플리케이션은 레드햇(ReaHat)의 오픈시프트(OpenShift) 같은 PaaS 프로바이더의 디벨로퍼 스포트라이트 코너에 소개됐다.

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

제이슨크롤
열정적인 웹 개발자로, 최신의 서버와 클라이언트 기술을 사용해 15년간 고도로 상호작용하는 웹 애플리케이션을 개발해왔다.
최근 몇 년간 노드JS, 몽고DB, 백본JS의 풀스택 자바스크립트를 이용한 싱글 페이지 애플리케이션SPA를 개발하는 데 집중해왔다. 성공적인 웹 개발 에이전시를 몇 년간 공동 소유 및 운영한 후에, 필라델피아 교외 지역의 이메일 마케팅 프로바이더인 AWeber 커뮤니케이션즈에 정착했다.
제이슨이 사이드 프로젝트를 진행하지 않거나 코드를 작성하지 않을 때는 자신의 개발 경험과 의견에 대해 블로그에(KrolTech.com) 글을 쓴다. 자유시간에는 아내와 8살 된 아들과 보내는 것을 좋아한다.

옮긴이 조승진
한국, 미국, 일본을 두루 거쳐 근무하고 있는 소프트웨어 엔지니어다. 관심 분야는 프로그래밍 언어, 알고리즘, 웹 서비스, 데이터 베이스, 마이크로서비스, 애자일 등이다. 쉬는 날에는 책을 읽거나 PS4를 플레이하며 부인과 이곳저곳 여행을 자주 다닌다.
펼쳐보기

독자서평 쓰기 로그인을 하시면 독자서평을 쓰실 수 있습니다.

독자서평 쓰기 로그인을 하시면 독자서평을 쓰실 수 있습니다.
도서평점
내용
등록하기
0/2000자
교환/반품 방법
  • 마이페이지 > 주문관리 > 주문/배송조회 > 주문조회 후  [1:1상담신청]  또는 고객센터 (1544-9020)
  • ※ 오픈마켓, 해외배송 주문상품 문의 시 [1:1상담신청] 또는 고객센터 (1544-9020)
교환/반품 가능기간
  • 변심반품의 경우 수령 후 7일 이내
  • 상품의 결함 및 계약내용과 다를 경우 문제점 발견 후 30일 이내
교환/반품 비용
  • 단순변심 혹은 구매착오로 인한 반품/교환은 반송료 고객 부담
  • 해외직배송 도서 구매 후 단순변심에 의한 취소 및 반품 시 도서판매가의 20% 수수료 부과
교환/반품 불가사유
  • 소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우
  • 소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우 예) 만화, 잡지, 수험서 및 문제집류
  • 복제가 가능한 상품 등의 포장을 훼손한 경우 예) 음반/DVD/비디오, 소프트웨어, 만화책, 잡지, 영상 화보집
  • 소비자의 요청에 따라 개별적으로 주문 제작되는 상품의 경우
  • 디지털 컨텐츠인 eBook, 오디오북 등을 1회 이상 다운로드를 받았을 경우
  • 시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우
  • 전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우
상품 품절
  • 공급사(출판사) 재고 사정에 의해 품절/지연될 수 있으며, 품절 시 관련 사항에 대해서는 이메일과 문자로 안내드리겠습니다.
소비자 피해보상
환불지연에 따른 배상
  • 상품의 불량에 의한 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은 소비자분쟁 해결 기준 (공정거래위원회 고시)에 준하여 처리됨
  • 대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의 소비자 보호에 관한 법률에 따라 처리함

이 분야의 베스트

더보기 >

    이 분야의 신간

    더보기 >
      맨위로가기

      영풍문고 로고

      • 회사명 : (주)영풍문고
      • 대표이사 : 김경환
      • 소재지 : 서울특별시 종로구 청계천로 41 (우)03188
      • 사업자 등록번호 : 773-86-01800 ㅣ 통신판매업 신고번호 : 2023-서울종로-0130 [ 사업자정보확인 ]
      • 개인정보관리 책임자 : 조순제 ㅣ customer@ypbooks.co.kr ㅣ 대량주문 : webmaster@ypbooks.co.kr
      COPYRIGHT © YOUNGPOONG BOOKSTORE INC. ALL RIGHTS RESERVED.
      영풍문고 네이버블로그 영풍문고 인스타그램
      맨위로가기