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

『Node.js, MongoDB와 Angular를 이용한 웹 개발 2/e: 웹 개발자들이 반드시 알아야 할 웹 개발 필수 학습서』

   
지은이 브래드 데일리, 브렌든 데일리, 칼렙 데일리   |   출판사 에이콘  |   발행일 2019년 04월 10일
 
클릭하시면 큰 도서이미지를 보실 수 있습니다.
판매가 40,000원36,000원 10%
마일리지 5% 2,000원
발행일 2019-04-10
ISBN 116175279X | 9791161752792
기타정보 번역서 | 708쪽 | 일반
예상출고일 금일 가능 (근무일기준)
배송비 무료배송
   
일반
   
이 책의 원서
  Node.Js, Mongodb and Angular Web Development: The Definitive Guide to Using the Mean Stack to Build Web Applications
Addison-Wesley Professional | Brad Dayley
 

MEAN 스택을 통해 실제로 사용할 수 있는 역동적인 웹사이트와 웹 애플리케이션을 구축할 수 있다. 웹 페이지 로직에서 앵귤러 기술을 사용해 Node.js 서버와 통신할 수 있고, 몽고DB 데이터베이스로부터 필요한 데이터를 얻을 수도 있다. Node.js, 몽고DB, 앵귤러를 결합해 상호 작용이 가능하고, 역동적인 웹 페이지를 구현할 수 있다. 이 책을 통해서 배울 수 있는 내용들은 다음과 같다.



■ Node.js와 익스프레스(Express)를 이용해 확장성(scalability)이 뛰어나고 역동적인 웹 서버 구현하기

■ 자바스크립트로 서버 측 웹 서비스 구축하기

■ 몽고DB를 사용해 웹 애플리케이션 데이터 저장하기

■ Node.js 자바스크립트 코드를 사용해 몽고DB에 접근하고 사용하기

■ 정적 웹 루트(route)와 동적 웹 루트를 선언하고, 이를 지원하기 위한 서버 측 스크립트 구현하기

■ HTML 언어 확장하기 위한 개별 사용자용 앵귤러 컴포넌트 정의하기

■ Node.js 웹 서버와 상호작용할 수 있는 클라이언트 측 서비스 구현하기

■ 풍부한 UI(User Interaction)를 제공하는 동적 브라우저 뷰 구축하기

■ 웹 페이지에 중첩된 컴포넌트 추가하기

■ 클라이언트 애플리케이션 뷰 간의 탐색을 관리하기 위한 앵귤러(Angular) 라우팅 구현하기





★ 이 책에서 다루는 내용 ★



■ Node.js와 익스프레스를 사용해 높은 확장성을 가지고, 동적인 웹 서버 구축하기

■ 웹 애플리케이션을 위한 몽고DB 데이터 저장 방법 구현하기

■ Node.js 자바스크립트 코드를 사용해 몽고DB에 접근하고 연동하기

■ HTML 언어를 확장한 사용자 맞춤형 앵귤러 지시자 정의하기

■ 자바스크립트로 서버 측 웹 서비스 구현하기

■ Node.js 웹 서버와 연동할 수 있는 클라이언트 측 서비스 구현하기

■ 풍부한 사용자 연동 기능을 제공하는 동적 브라우저 뷰 구축하기

■ 웹 애플리케이션과 페이지에 인증된 사용자 계정과 중첩 주석 컴포넌트 추가하기





★ 이 책의 대상 독자 ★



기본적으로 HTML을 이해하고 있으며 최근에 많이 사용되는 프로그래밍 언어로 프로그래밍을 해본 경험이 있는 사람을 대상으로 한다. 자바스크립트를 이미 알고 있다면 좀 더 쉽게 이해할 수 있겠지만, 이 책에서는 자바스크립트의 기초도 다루므로 반드시 미리 알고 시작할 필요는 없다.





★ 이 책의 구성 ★



1부, ‘시작하기’에서는 Node.js, 몽고DB 및 앵귤러 간의 상호 작용에 대한 개요와 세 가지 도구를 사용해 웹 개발 스택 전체를 구성하는 방법에 대해 설명한다. 2장, ‘자바스크립트 기본 학습’에서는 Node.js 및 앵귤러 코드를 구현할 때 필요한 자바스크립트 언어의 기초를 제공하며 자바스크립트 입문서로 활용될 수 있다.

2부, ‘Node.js 학습하기’에서는 Node.js 모듈의 설치에서 구현에 이르는 Node.js 언어 플랫폼에 대해 설명한다. 2부에서는 웹 서버 및 서버 측 스크립트뿐 아니라, 사용자 정의 Node.js 모듈을 구현하는 데 필요한 기본 프레임워크를 제공한다.

3부, ‘몽고DB 학습하기’에서는 몽고DB 데이터베이스 설치에서 Node.js 애플리케이션과의 통합까지 설명한다. 애플리케이션의 요구에 맞게 데이터 모델을 계획하는 방법과 Node.js 애플리케이션에서 몽고DB에 액세스해 상호 작용하는 방법에 대해 설명한다.

4부, ‘익스프레스 학습하기’에서는 Node.js용 익스프레스 모듈과 이를 애플리케이션의 웹 서버로 활용하는 방법에 대해 설명한다. 데이터에 동적 route와 고정 route를 설정하는 방법과 보안, 캐싱 및 기타 웹 서버 기본 사항을 구현하는 방법을 배운다.

5부, ‘앵귤러 학습하기’에서는 앵귤러 프레임워크 아키텍처와 Node.js 스택에 통합하는 방법에 대해 설명한다. 또한 브라우저에서 활용할 수 있는 사용자 맞춤 HTML 구성 요소 및 클라이언트 측 서비스를 만드는 방법에 대해서도 설명한다.

6부, ‘고급 앵귤러 학습하기’에서는 사용자 맞춤 지시자(directive) 및 사용자 맞춤 서비스 작성과 같은 좀 더 향상된 앵귤러 개발 방법에 대해 설명한다. 또한 앵귤러에 내장된 HTTP 및 라우팅 서비스를 사용하는 방법에 대해 배운다. 드래그 앤 드롭 구성 요소를 작성하고 애니메이션을 구현하는 등 풍부한 UI 예제를 이용해 추가로 마무리한다.





★ 지은이의 말 ★



이 책은 여러분을 웹 개발 프로젝트의 서버와 서비스부터 브라우저에서 작동하는 클라이언트에 이르기까지 자바스크립트를 사용하는 세상으로 인도할 것이다. 웹 개발 세상에서 최근 부각되고 있는 흥미진진하고 혁신적인 기술인 Node.js, 몽고DB, 앵귤러를 통합한 구현 방식을 다룬다.

1부. 시작하기



1장. Node.js-to-Angular Stack 소개



__기본 웹 개발 프레임워크 이해

____사용자

____브라우저

____웹 서버

____백엔드 서비스

__Node.js-to-Angular Stack 컴포넌트 이해

____Node.js

____몽고DB

____익스프레스

____앵귤러

__요약

__2장에서 다룰 내용





2장. 자바스크립트 기본 학습



__변수 정의하기

__자바스크립트 데이터 형식 이해

__연산자 사용하기

____산술 연산자

____대입 연산자

____비교 연산자와 조건 연산자 사용

__루프 구현하기

____while 루프

____do / while 루프

____for 루프

____for / in 루프

____루프 중단

__함수 만들기

____함수 정의하기

____함수에 변수 전달하기

____함수에서 값 반환

____익명 함수 사용

__변수 범위

__자바스크립트 객체 사용

____객체 문법 사용

____사용자 정의 객체 생성

____프로토타입 객체 패턴 사용

__문자열 조작

____문자열 결합

____부분 문자열 탐색

____문자열에서 단어 바꾸기

____문자열을 배열로 쪼개기

__배열 작업

____배열 결합

____배열을 이용한 반복문

____배열을 문자열로 변환하기

____배열에 항목이 있는지 검사

____배열에 항목을 추가 또는 삭제

__에러 처리 부분 추가

____try/catch 블록

____사용자 정의 예외 처리

____finally 사용

__요약

__3장에서 다룰 내용





2부. Node.js 학습하기



3장. Node.js 시작하기



__Node.js 이해

____누가 Node.js를 사용하나?

____Node.js는 어떤 용도로 사용되나?

____Node.js는 무엇을 제공할까?

__Node.js 설치

____Node.js 설치 위치 살펴보기

____Node.js 실행 파일 검증

____Node.js IDE 선택

__Node.js 패키지 사용

____패키지로 묶인 노드 모듈이란?

____노드 패키지 저장소 이해

____노드 패키지 관리자 사용

____노드 패키지 모듈 찾기

____노드 패키지 모듈 설치

____package.json 사용하기

__Node.js 애플리케이션 작성

____Node.js 패키지 모듈 만들기

____Node.js 패키지 모듈을 NPM 레지스트리에 발행하기

____Nodejs 애플리케이션에서 Node.js 패키지 모듈 사용

__데이터를 콘솔에 쓰기

__요약

__4장에서 다룰 내용





4장. Node.js에서 이벤트, 리스너, 타이머, 콜백 사용하기



__Node.js 이벤트 모델 이해

____이벤트 콜백 방식과 스레드 방식 비교

____Node.js의 블로킹 입출력

____대화 예제

__이벤트 큐에 작업 추가

____타이머 구현

____nextTick을 사용한 작업 스케줄링

____이벤트 이미터와 리스너 구현하기

__콜백 구현

____콜백 함수에 추가 매개변수 전달하기

____콜백 내 클로저 구현

____콜백 체인 구성

__요약

__5장에서 다룰 내용





5장. Node.js의 데이터 입출력 처리



__JSON으로 작업하기

____JSON을 자바스크립트 객체로 변환하기

____자바스크립트 객체를 JSON으로 변환하기

__버퍼 데이터를 대상으로 Buffer 모듈 사용하기

____버퍼 데이터 이해

____버퍼 생성하기

____버퍼에 쓰기

____버퍼에서 읽기

____버퍼 길이 결정

____버퍼 복사

____버퍼 분할

____버퍼 병합

__스트림 데이터 사용을 위한 스트림 모듈 사용하기

____Readable 스트림

____Writable 스트림

____Duplex 스트림

____Transform 스트림

____Readable 스트림과 Writable 스트림을 파이프 형태로 연결

__zlib를 사용한 데이터 압축 및 해제

____버퍼 압축과 해제

____스트림 압축/해제

__요약

__6장에서 다룰 내용





6장. Node.js의 파일 시스템 접근



__동기적 파일 시스템 호출 대 비동기적 파일 시스템 호출

__파일 열기 및 닫기

__파일 쓰기

____간편한 파일 쓰기

____동기적 파일 쓰기

____비동기적 파일 쓰기

____스트리밍 파일 쓰기

__파일 읽기

____간단한 파일 읽기

____동기적 파일 읽기

____비동기적 파일 읽기

____스트리밍 방식 파일 읽기

__기타 파일 시스템 작업

____경로 존재 검증하기

____파일 정보 확인

____파일 목록 나열

____파일 삭제

____파일 잘라내기

____디렉터리 생성과 삭제

____파일명과 디렉터리명을 변경

____파일 변경 내역 관찰

__요약

__7장에서 다룰 내용





7장. HTTP 서비스를 Node.js로 구현



__URL 처리

____URL 객체 이해

____URL 구성 요소 해석

__질의 문자열과 폼 매개변수 처리

__요청, 응답, 서버 객체 이해

____http.ClientRequest 객체

____http.ServerResponse 객체

____http.IncomingMessage 객체

____HTTP 서버 객체

__Node.js에서 HTTP 클라이언트와 HTTP 서버 구현하기

____정적 파일 제공

____동적 GET 서버 구현

____POST 서버 구현

____외부 소스와의 상호 작용

__HTTPS 서버와 HTTPS 클라이언트 구현

____HTTPS 클라이언트 생성

____HTTPS 서버 생성

__요약

__8장에서 다룰 내용





8장. Node.js에서 구현하는 소켓 서비스



__네트워크 소켓 이해하기

__TCP 서버와 소켓 객체 이해하기

____net.socket 객체

____net.서버 객체

__TCP 소켓 서버와 클라이언트 구현

____TCP 소켓 클라이언트 구현

____TCP 소켓 서버 구현

__TLS 서버와 TLS 클라이언트 구현하기

____TLS 소켓 클라이언트 생성

____TLS 소켓 서버 생성

__요약

__9장에서 다룰 내용





9장. Node.js의 다중 프로세서를 사용한 애플리케이션 확장하기



__process 모듈 이해하기

____입출력 파이프 처리 이해하기

____프로세스 시그널 이해

__process 모듈로 하는 프로세스 실행 제어

__process 모듈의 정보 가져오기

__자식 프로세스 구현

____ChildProcess 객체 이해

____exec()을 사용해 다른 프로세스의 시스템 명령 실행하기

____execFile()을 사용해 다른 프로세스의 실행 가능 파일을 수행하기

____spawn()을 사용해 다른 Node.js 객체에서 프로세스 생성하기

____자식 프로세스 포크 구현

__프로세스 클러스터 구현

____cluster 모듈 사용

____worker 객체 이해

____HTTP 클러스터 구현하기

__요약

__10장에서 다룰 내용





10장. 추가 Node.js 모듈 사용하기



__os 모듈 사용하기

__util 모듈 사용

____문자열 가공하기

____객체 형식 확인

____자바스크립트 객체를 문자열로 변환하기

____기타 객체 기능 상속받기

__dns 모듈 사용하기

__crypto 모듈 사용하기

__기타 노드 모듈 및 객체

__요약

__11장에서 다룰 내용





3부. 몽고DB 학습하기



11장. NoSQL과 몽고DB 이해하기



__왜 NoSQL인가?

__몽고DB 이해하기

____컬렉션 이해하기

____문서 이해하기

__몽고DB 데이터 형식

__데이터 모델 계획

____문서 참조를 이용한 데이터 정규화

____내장된 문서로 데이터 비정규화하기

____제한 컬렉션 사용

____원자적 쓰기 연산 이해하기

____문서 크기의 증가 고려하기

____인덱싱, 샤딩과 복제

____큰 컬렉션 대 많은 컬렉션

____데이터 수명 주기 결정

____데이터 사용성과 성능 고려하기

__요약

__12장에서 다룰 내용





12장. 몽고DB 시작하기



__몽고DB 환경 구축하기

____몽고DB 설치하기

____몽고DB 시작하기

____몽고DB 중지하기

____셸 클라이언트에서 몽고DB에 접근하기

__사용자 계정 관리하기

____사용자 목록 출력하기

____사용자 계정 생성하기

____사용자 삭제

__접근 제어 설정하기

____사용자 관리자 계정 생성

____인증 모드 활성화하기

____데이터베이스 관리자 계정 생성하기

__데이터베이스 관리하기

____데이터베이스 목록 출력하기

____현재 사용 중인 데이터베이스 변경하기

____데이터베이스 생성하기

____데이터베이스 삭제하기

____데이터베이스 복사하기

__컬렉션 관리하기

____데이터베이스의 컬렉션 목록 출력하기

____컬렉션 생성하기

____컬렉션 삭제하기

____컬렉션에서 문서 찾기

____컬렉션에 문서 추가하기

____컬렉션에서 문서 삭제하기

____컬렉션의 문서 갱신하기

__요약

__13장에서 다룰 내용





13장. 몽고DB와 Node.js 시작하기



__Node.js에 몽고DB 드라이버 추가하기

____Node.js에서 몽고DB로 접속하기

____쓰기 확인 이해하기

____MongoClient 객체를 사용해 Node.js에서 MongoDB 연결하기

__몽고DB Node.js 드라이버에 사용된 객체 이해하기

____Db 객체 이해

____Admin 객체 이해하기

____Colletion 객체 이해하기

____Cursor 객체 이해하기

__데이터베이스 접근과 조작하기

____데이터베이스 나열하기

____데이터베이스 생성하기

____데이터베이스 삭제하기

____데이터베이스 생성, 삭제 및 나열 예제

____몽고DB 서버 상태 얻기

__컬렉션 접근 및 조작

____컬렉션 나열하기

____컬렉션 생성하기

____컬렉션 삭제하기

____컬렉션 생성, 나열, 삭제하는 예제

____컬렉션 정보 얻기

__요약

__14장에서 다룰 내용





14장. Node.js에서 몽고DB 문서 다루기



__데이터베이스 변경 선택 사항 이해하기

__데이터베이스 갱신 연산자 이해하기

__컬렉션에 문서 추가하기

__컬렉션에서 문서 검색하기

____컬렉션의 문서 갱신

__컬렉션 문서를 원자적으로 수정하기

__컬렉션에 문서 저장하기

__컬렉션에 문서 삽입을 위해 upsert를 사용하기

____컬렉션에서 문서 삭제하기

____컬렉션에서 하나의 문서 삭제하기

__요약

__15장에서 다룰 내용





15장. Node.js에서 몽고DB에 접근하기



__데이터 세트 소개하기

__query 객체 이해하기

__options 객체 이해하기

__문서의 특정 세트 탐색하기

__문서 세기

__결과 세트 제한하기

____크기로 결과를 제한하기

____객체의 반환된 필드 제한하기

____페이징 결과 나타내기

__결과 세트 정렬하기

__고유 필드 값 검색하기

__결과 분류하기

__집계 결과를 사용한 맵리듀스 적용하기

____aggregate() 메서드 이해하기

____집계 프레임워크 연산자 사용하기

____집계 수식 연산자 구현하기

____집계 예제

__요약

__16장에서 다룰 내용





16장. mongoose를 사용한 스키

...
브래드 데일리(Brad Dayley)

20년 이상 엔터프라이즈 애플리케이션과 웹 인터페이스를 개발해온 중견 소프트웨어 엔지니어다. 수년 동안 자바스크립트와 제이쿼리를 사용하고 있고 『러닝! Angular 4』(위키북스, 2017), 『jQuery and JavaScript Phrasebook』(Addison-Wesley Professional, 2013) 및 『AngularJS, JavaScript, and jQuery All in One, Sams Teach Yourself』(Sams Publishing, 2015)을 저술했으며 애플리케이션 서버부터 다수의 애플리케이션과 서비스를 디자인하고 구현했다.



브렌든 데일리(Brenden Dayley)

최신 기술을 배우고 구현하는 것을 좋아하는 웹 애플리케이션 개발자다. 『러닝! Angular 4』, 『AngularJS, JavaScript, and jQuery All in One, Sams Teach Yourself』의 공동 저자다. 자바스크립트, 타입스크립트 및 앵귤러(Angular)를 사용해 여러 웹 애플리케이션을 개발했으며 증강 현실과 같은 새로운 웹과 모바일 기술을 탐구하고 혁신적인 솔루션에 적용하는 방법을 모색 중이다.



칼렙 데일리(Caleb Dayley)

컴퓨터 과학을 전공하는 대학생이다. 자신이 할 수 있는 모든 것을 배우려고 노력하며 프로그래밍에 대한 많은 지식을 갖고 있다. 자바스크립트, C#뿐 아니라 이 책의 초판(『Node.js, MongoDB와 AngularJS를 이용한 웹 개발』(에이콘, 2014))을 사용해 여러 언어를 가르쳤다. 미래에 대해 많은 기대를 하면서 살고, 일하고 즐기는 방식을 지속적으로 개선할 수 있는 차세대 혁신 소프트웨어를 설계하고 개발하는 것을 즐긴다.





★ 옮긴이의 말 ★



최근 개발자들의 주된 관심사는 단연 자바스크립트를 기반으로 한 기술들이다. 이 책에서 다루고 있는 MEAN 스택은 몽고DB, 익스프레스(Express), 앵귤러, Node.js으로 이뤄진 토탈 솔루션이며 자바스크립트 언어로 웹 애플리케이션을 제작하기 위한 모든 것을 제공한다. MEAN 스택이 갖고 있는 이러한 특징은 개발자에게 큰 장점으로 다가올 수 있으며 이제는 자바스크립트로 서버부터 클라이언트까지 전부 구현할 수 있게 됐다. 이 책은 이러한 MEAN이 갖고 있는 장점을 잘 활용할 수 있도록 스택의 핵심 내용을 제공한다.

MEAN 스택 중에서도 Node.js는 생산성 향상에 기여하며 많은 관심을 받고 있다. 사실 Node.js를 사용하면 간단한 서버는 수분 내에 만들어낼 수 있는 것이 사실이며 Node.js를 사용해 브라우저에 의존하지 않는 자바스크립트 프로그램을 만들 수 있게 됐다. 익스프레스는 Node.js에서 동작하는 웹 개발 프레임워크 모듈로, 유연한 구조를 갖고 있으며 미들웨어를 통한 확장이 가능하다는 장점을 제공한다. Node.js, 익스프레스와 더불어 유연한 스키마를 제공할 수 있는 몽고DB, 앵귤러라는 자바스크립트 프레임워크를 통해 웹 앱 개발 속도가 가속화될 수 있다. 이 책에서는 이러한 각 요소의 주요 내용을 다루고 있다.

MEAN 스택은 더 이상 새로운 기술이 아니다. 물론 여전히 많은 부분에서 업데이트가 이뤄지고 있지만 기본적인 구조와 동작 원리에 큰 변화는 없다. MEAN 스택을 이용하면 개발자의 아이디어를 빠르게 프로토타이핑을 구현해 서비스를 시작하고 싶을 때 활용할 수 있고 큰 규모의 서비스 데이터를 구축하고 처리하는 데도 필요하다.



이번 버전은 기존 1판에 비해 앵귤러 부분(특히 4, 5부)의 내용이 많이 업데이트됐다. 앵귤러는 타입스크립트 기반 오픈 소스 프론트엔드 웹 애플리케이션 프레임워크다. 따라서 이 책을 읽는 사용자들은 새롭게 업데이트된 내용을 쉽게 접할 수 있을 것이다.

이 책에서는 MEAN 스택을 구성하는 각각의 기술에 대해 소개하고 있다. 이 책을 통해 많은 개발자들이 효과적으로 MEAN 스택 기반의 웹 애플리케이션을 만들어낼 수 있길 기대한다.

그리고 이 책이 모든 독자가 Node.js, 몽고DB와 앵귤러에 대한 기본 이론을 이해하고 실제로 구현하는 데 많은 도움이 되길 바란다.





★ 옮긴이 소개 ★



테크 트랜스 그룹 T4

최신 IT 테크놀로지에 대한 리서치를 목적으로 하는 스터디 그룹이다. 엔터프라이즈 환경 에서 오픈 소스를 활용한 프레임워크 구축에 관심이 많으며 Spring, React.js, Node.js, OpenCV, ML 등의 기술에 주목하고 있다. 또한 다양한 오픈 소스 기반의 플랫폼 개발 활용 에 많은 관심을 갖고 있다. 저서로는 에이콘출판사에서 출간한 『OpenCV를 위한 머신 러닝』(2017), 『추천 엔진을 구축하기 위한 기본서』(2017), 『Node.js, MongoDB와 AngularJS를 이용한 웹 개발』(2014) 등이 있다.
등록된 서평이 없습니다.
CATIA VBA...
이재섭
선택된 상품을 찜하실 수 있습니다. 선택된 상품을 바로구매 하실 수 있습니다.
드론 제작 노트...
양정환
선택된 상품을 찜하실 수 있습니다. 선택된 상품을 바로구매 하실 수 있습니다.
파이썬 머신러닝 완벽 가이드...
권철민
선택된 상품을 찜하실 수 있습니다. 선택된 상품을 바로구매 하실 수 있습니다.
윌리엄 베젝...
커트 건서로...
 
전체평균(0)
회원평점   회원서평수 0
에이콘 출판사의 신간
『사운드 디자인: 제품과 서비스에 숨겨진 원리』
앰버 케이스, 애런 데이 저
25,200원
(10%↓+5%)
 
『보이스봇 & 챗봇 디자인: 아마존 알렉사, 구글홈, 페이스북 메신저에서 배우는 대화형 시스템 구축』
레이첼 배티시 저
18,000원
(10%↓+5%)
 
『암호 해킹으로 배우는 파이썬의 기초: 암호학과 파이썬을 함께 배우자』
알 스웨이가트 저
31,500원
(10%↓+5%)
 
『모던 C++ 프로그래밍 쿡북 : 100가지 레시피로 배우는 C++ 동작의 이해와 문제 해결』
마리우스 반실라 저
36,000원
(10%↓+5%)
 
『해킹 입문자를 위한 TCP/IP 이론과 보안 2/e: 모의 침투 입문자를 위한 필독서』
오동진 저
22,500원
(10%↓+5%)
 
이메일주소수집거부