장바구니 담기 close

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

Nodejs 인 액션 (컴퓨터/IT)

Nodejs 인 액션 (컴퓨터/IT) 베테랑 개발자가 전하는 노드제이에스 완벽 활용법 (위키북스 오픈소스 & 웹 시리즈 64)

  • 마이크 캔텔론 , 마크 하터, T.J. 할로웨이척, 나단 라즈리치 지음
  • |
  • 위키북스
  • |
  • 2014-08-29 출간
  • |
  • 516페이지
  • |
  • 188 X 240 X 24 mm
  • |
  • ISBN 9788998139636
★★★★★ 평점(10/10) | 리뷰(1)
판매가

35,000원

즉시할인가

31,500

배송비

무료배송

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

수량
+ -
총주문금액
31,500

이 상품은 품절된 상품입니다

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

목차

[1부] 노드의 기반 기술

· 01장: 노드에 오신 것을 환영합니다
_1.1 자바스크립트 기반
_1.2 비동기와 이벤트: 브라우저
_1.3 비동기와 이벤트: 서버
_1.4 DIRTy 애플리케이션
_1.5 DIRTy의 기본 요소
__1.5.1 간단한 비동기 예제
__1.5.2 Hello World HTTP 서버
__1.5.3 스트리밍 데이터
_1.6 요약

· 02장: 다중 채팅방 애플리케이션 만들기
_2.1 애플리케이션 개요
_2.2 애플리케이션 요구사항과 초기 설정
__2.2.1 HTTP와 웹소켓 서비스
__2.2.2 애플리케이션의 파일 구조 생성
__2.2.3 의존성 모듈 명시
__2.2.4 의존성 모듈 설치
_2.3 HTML, CSS, 클라이언트 측 자바스크립트 서비스
__2.3.1 기본적인 정적 파일 서버 생성
__2.3.2 HTML과 CSS 파일 추가
_2.4 SocketIO를 이용한 채팅 관련 메시지 처리
__2.4.1 SocketIO 서버 구성
__2.4.2 애플리케이션 시나리오와 이벤트 처리
_2.5 애플리케이션의 사용자 인터페이스를 위한 클라이언트 측 자바스크립트
__2.5.1 메시지와 닉네임/채팅방 변경 요청을 서버로 전달
__2.5.2 메시지 및 입장할 수 있는 채팅방 목록을 사용자 인터페이스에 보여주기
_2.6 요약

· 03장: 노드프로그래밍의 기본
_3.1 노드의 기능 관리와 재사용
__3.1.1 모듈 생성
__3.1.2 moduleexports를 이용해 잘 정비된 모듈 생성하기
__3.1.3 node_modules 디렉터리로 모듈 재사용하기
__3.1.4 알아둘 점
_3.2 비동기 프로그래밍 기법
__3.2.1 일회성 이벤트를 콜백으로 처리하기
__3.2.2 반복적인 이벤트를 이벤트 발생자로 처리하기
__3.2.3 비동기 개발의 어려운 점
_3.3 비동기 로직의 순서 배열하기
__3.3.1 직렬 흐름 제어를 사용하는 경우
__3.3.2 직렬 흐름 제어 구현하기
__3.3.3 병렬 흐름 제어 구현
__3.3.4 커뮤니티 도구 활용하기
_3.4 요약

[2부] 노드를 이용한 웹 애플리케이션 개발

· 04장: 노드 웹 애플리케이션 만들기
_4.1 HTTP 서버의 기본
__4.1.1 노드가 HTTP 요청을 개발자에게 전달하는 방법
__4.1.2 “Hello World”로 응답하는 기본적인 HTTP 서버
__4.1.3 요청 헤더 읽기와 응답 헤더 설정하기
__4.1.4 HTTP 응답 상태 코드 설정하기
_4.2 RESTful 웹 서비스 만들기
__4.2.1 POST 요청으로 자원 생성하기
__4.2.2 GET 요청으로 자원 가져오기
__4.2.3 DELETE 요청으로 자원 삭제하기
_4.3. 정적 파일 서비스하기
__4.3.1 정적 파일 서버 만들기
__4.3.2 서버 오류 처리하기
__4.3.3 fsstat을 이용한 선제 오류 처리
_4.4 폼에서 사용자 입력받기
__4.4.1 제출된 폼 항목 처리하기
__4.4.2 formidable을 이용한 파일 업로드 처리하기
__4.4.3 업로드 진행 상황 계산하기
_4.5 HTTPS를 이용한 애플리케이션 보안
_4.6 요약

· 05장: 노드 애플리케이션 데이터 저장하기
_5.1 서버가 없는 데이터 저장소
__5.1.1 인메모리 저장소
__5.1.2 파일 기반 저장소
_5.2 관계형 데이터베이스 관리 시스템
__5.2.1 MySQL
__5.2.2 PostgreSQL
_5.3 NoSQL 데이터베이스
__5.3.1 레디스
__5.3.2 몽고디비
__5.3.3 몽구스
_5.4 요약

· 06장: 커넥트
_6.1 커넥트 애플리케이션 준비
_6.2 커넥트 미들웨어의 동작방식
__6.2.1 로그를 남기는 커넥트 미들웨어
__6.2.2. “hello world”로 응답하는 미들웨어
_6.3 미들웨어 순서의 중요성
__6.3.1 미들웨어가 next ( )를 호출하지 않을 때
__6.3.2 미들웨어 순서를 사용해 인증하기
_6.4 미들웨어와 서버 마운팅
__6.4.1 인증 미들웨어
__6.4.2 관리영역을 보여주는 미들웨어 컴포넌트
_6.5 설정 가능한 미들웨어 만들기
__6.5.1 설정 가능한 logger 미들웨어 컴포넌트 만들기
__6.5.2 router 미들웨어 컴포넌트 만들기
__6.5.3 URL을 다시 만드는 미들웨어 컴포넌트
_6.6 에러 핸들링 미들웨어 사용
__6.6.1 커넥트의 기본 에러 핸들러
__6.6.2 애플리케이션 에러 직접 다루기
__6.6.3 다수의 에러 핸들링 미들웨어 컴포넌트 사용
_6.7 요약

· 07장: 커넥트의 내장 미들웨어
_7.1 쿠키와 요청 본문, 쿼리 스트링을 해석하는 미들웨어
__7.1.1 cookieParser ( ): HTTP 쿠키 해석
__7.1.2 bodyParser ( ): 요청 본문 해석
__7.1.3 limit ( ): 요청 본문의 크기 제한
__7.1.4 query ( ): 쿼리 스트링 파서
_7.2 핵심 웹 애플리케이션 기능을 실행하는 미들웨어
__7.2.1 logger ( ): 요청 로그 남기기
__7.2.2 favicon ( ): 파비콘 서비스
__7.2.3 methodOverride ( ): 위조 HTTP 메서드
__7.2.4 vhost(): 가상 호스트
__7.2.5 session ( ): 세션 관리
_7.3 웹 애플리케이션의 보안을 다루는 미들웨어
__7.3.1 basicAuth ( ): HTTP 기본 인증
__7.3.2 csrf ( ): 사이트 간 요청 위조 방어
__7.3.3 errorHandler ( ): 개발 에러 핸들링
_7.4 정적 파일 서비스 미들웨어
__7.4.1 static ( ): 정적 파일 서비스
__7.4.2 compress ( ): 정적 파일 압축
__7.4.3 directory ( ): 디렉터리 목록
_7.5 요약

· 08장: 익스프레스
_8.1 애플리케이션의 뼈대 만들기
__8.1.1 익스프레스가 실행되게 설치하기
__8.1.2 애플리케이션 생성하기
__8.1.3 애플리케이션 둘러보기
_8.2 익스프레스 및 애플리케이션 설정하기
__8.2.1 환경 기반 설정
_8.3 뷰 렌더링
__8.3.1 뷰 시스템 설정
__8.3.2 뷰 찾기
__8.3.3 뷰에 데이터 노출하기
_8.4 폼과 파일 업로드를 다루는 방법
__8.4.1 사진의 데이터 모델 구현하기
__8.4.2 사진 업로드 폼 생성하기
__8.4.3 업로드한 사진 목록 보여주기
_8.5 자원 내려받기 다루기
__8.5.1 사진 내려받을 경로 생성하기
__8.5.2 사진 내려받을 경로 구현하기
_8.6 요약

· 09장: 고급 익스프레스
_9.1 사용자 인증하기
__9.1.1 사용자를 저장하고 불러오기
__9.1.2 새로운 사용자 등록하기
__9.1.3 등록된 사용자 로그인
__9.1.4 사용자 정보를 불러오는 미들웨어
_9.2 고급 라우팅 기술
__9.2.1 사용자가 제출한 데이터 검증
__9.2.2 경로에 특화된 미들웨어
__9.2.3 페이징 구현
_9.3 공개 REST API 생성하기
__9.3.1 API 설계하기
__9.3.2 기본 인증 추가하기
__9.3.3 라우팅 구현하기
__9.3.4 내용 협상 기능
_9.4 에러 다루기
__9.4.1 404 에러 다루기
__9.4.2 에러 다루기
_9.5 요약

· 10장: 노드 애플리케이션 테스트
_10.1 단위 테스트
__10.1.1 assert 모듈
__10.1.2 노드 유닛
__10.1.3 모카
__10.1.4 보우즈
__10.1.5 shouldjs
_10.2 인수 테스트
__10.2.1 토비
__10.2.2 소다
_10.3 요약

· 11장: 웹 애플리케이션 템플릿
_11.1 템플릿으로 코드 깔끔하게 유지하기
__11.1.1 템플릿 사용하기
_11.2 임베디드 자바스크립트 템플릿
__11.2.1 템플릿 생성하기
__11.2.2 EJS 필터로 템플릿 데이터 변경하기
__11.2.3 애플리케이션에 EJS 통합하기
__11.2.4 클라이언트 측 애플리케이션에서 EJS 사용하기
_11.3 호간으로 머스태쉬 템플릿 언어 사용하기
__11.3.1 템플릿 생성하기
__11.3.2 머스태쉬 태그
__11.3.3 호간 세부 조정하기
_11.4 제이드 템플릿
__11.4.1 제이드 기초
__11.4.2 제이드 템플릿의 로직
__11.4.3 제이드 템플릿 구성하기
_11.5 요약

[3부] 노드로 할 수 있는 더 많은 것들

· 12장: 노드 애플리케이션의 배포와 가동시간 관리
_12.1 노드 애플리케이션 호스팅
__12.1.1 전용 서버와 가상 사설 서버
__12.1.2 클라우드 호스팅
_12.2 간단한 배포
__12.2.1 깃 저장소에서 배포
__12.2.2 노드 실행 유지
_12.3 서버 가동 시간과 성능의 최대화
__12.3.1 Upstart로 가동 시간 관리
__12.3.2 클러스터 API: 다중 코어의 장점 활용
__12.3.3 정적 파일 서비스와 프록시
_12.4 요약

· 13장: 웹 서버 이외의 것들
_13.1 SocketIO
__13.1.1 간단한 SocketIO 애플리케이션 만들기
__13.1.2 SocketIO를 사용한 페이지 동작과 CSS 리로드
__13.1.3 SocketIO의 또 다른 사용법
_13.2 TCP/IP 네트워크
__13.2.1 버퍼와 바이너리 데이터 사용
__13.2.2 TCP 서버 생성
__13.2.3 TCP 클라이언트 생성
_13.3 운영체제와 상호작용하는 데 필요한 도구
__13.3.1 process 전역 싱글톤
__13.3.2 파일 시스템 모듈 사용
__13.3.3 외부 프로세스 생성
_13.4 개발 명령행 도구
__13.4.1 명령행 인자 해석
__13.4.2 표준 입력과 표준 출력 처리
__13.4.3 색상이 들어간 결과 추가
_13.5 요약

· 14장: 노드 생태계
_14.1 노드 개발자를 위한 온라인 자원
__14.1.1 노드와 모듈 레퍼런스
__14.1.2 구글 그룹스
_14.1.3 IRC
__14.1.4 깃허브 이슈
_14.2 깃허브
__14.2.1 깃허브 시작하기
__14.2.2 깃허브에 프로젝트 추가하기
__14.2.3 깃허브에서 함께 개발하기
_14.3 npm 저장소에 기여하기
__14.3.1 패키지 준비
__14.3.2 패키지 명세 작성하기
__14.3.3 패키지 테스트 및 배포
_14.4 요약

· 부록A: 노드 및 커뮤니티 부가 프로그램 설치하기
_A.1 맥 OS X에서 설치하기
_A.1.1 Homebrew로 설치하기
_A.2 윈도우에서 설치하기
_A.3 리눅스에서 설치하기
__A.3.1 우분투에 설치할 때 필요한 패키지
__A.3.2 CentOS에 설치 시 필요한 패키지
_A.4 노드 컴파일하기
_A.5 노드 패키지 매니저 사용하기
__A.5.1 패키지 검색하기
__A.5.2 패키지 설치하기
__A.5.3 문서와 패키지 코드 찾아보기

· 부록B: 노드 디버깅
_B.1 JSHint로 코드 분석하기
_B.2 디버깅 정보 출력하기
__B.2.1 console 모듈로 디버깅하기
__B.2.2 디버깅 출력을 관리하는 디버그 모듈 사용하기
_B.3 노드의 내장 디버거
__B.3.1 디버거 네비게이션
__B.3.2 디버거로 상태 확인 및 조작하기
_B.4 노드 인스펙터
__B.4.1 노드 인스펙터 시작하기
__B.4.2 노드 인스펙터 네비게이션
__B.4.3 노드 인스펙터에서 상태 둘러보기

· 부록C: 익스프레스 확장 및 설정하기
_C.1 익스프레스 확장하기
__C.1.1 템플릿 엔진 등록하기
__C.1.2 consolidatejs로 템플릿 작성하기
__C.1.3 익스프레스 확장 및 프레임워크
_C.2 고급 설정
__C.2.1 JSON 응답 조작하기
__C.2.2 JSON 응답 포맷 만들기
_C.2.3 역방향 프록시 헤더 필드 신뢰하기

도서소개

『Node.js 인 액션』은 제품으로 출시할 수 있을 정도의 수준으로 애플리케이션을 만드는 방법을 알려주는 책이다. 핵심 개념에 대한 명쾌한 소개, 다양한 예제로 설치부터 배포까지 모든 과정을 다루고 비동기 프로그래밍, 데이터 저장, 템플릿 출력에 대해 살펴본다.

서버에서 자바스크립트를 사용한다!

노드는 확장성 있고 고성능인 웹 애플리케이션을 지원할 수 있는 자바스크립트 서버다. 비동기 I/O를 사용해 동시에 하나 이상의 작업을 실행할 수 있는데, 이 특징은 채팅이나 게임, 실시간 통계와 같은 실시간 애플리케이션에서 필수적인 요건이다. 또한 노드가 자바스크립트이므로 백엔드부터 프론트엔드까지 같은 언어를 사용할 수 있다.

『Node.js 인 액션』은 제품으로 출시할 수 있을 정도의 수준으로 애플리케이션을 만드는 방법을 알려준다. 자바스크립트에 대한 기본적인 지식은 필요하지만 노드에 대한 경험은 없어도 상관없다. 핵심 개념에 대한 명쾌한 소개, 다양한 예제로 설치부터 배포까지 모든 과정을 다룬다. 비동기 프로그래밍, 데이터 저장, 템플릿 출력에 대해 살펴보고, TCP/IP 서버나 명령행 도구처럼 HTTP를 사용하지 않는 애플리케이션을 만들기 위한 파일 시스템과의 상호작용에 대해서도 알아볼 것이다. 레일즈, 장고 또는 PHP를 다루던 개발자에게는 최고의 선택일 것이다.

★ 이 책에서 다루는 내용 ★

◎ 노드와 확장 모듈 설치
◎ 비동기 프로그래밍과 이벤트루프에 대한 이해
◎ 마이크로블로그, 메신저, 게임 등의 예제

《추천의 글》

“책의 내용이 기본에서부터 고급까지 무리 없이 잘 진행된다.”
- 노드 프로젝트 리더 아이작 Z. 슐레터

“노드와 노드 에코시스템에 대한 완벽 가이드”
- 1KB Software Solutions, 케빈 베이스터

“실용적인(심지어 재밌기까지 한) 실전 예제가 가득하다”
- Polymedia SpA, 알렉스 마드렐

“너무 재밌어서 빨리 배워서 실제로 사용할 수 있을 것이다.”
- Honeywell, 개리 이완 박

“코드 뒤편의 사람들이 써낸 훌륭한 책”
- NodeLingo, GoChime, 브라이언 포크

교환 및 환불안내

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