간편결제, 신용카드 청구할인
삼성카드 6% (25,380원)
(삼성카드 6% 청구할인)
인터파크 롯데카드 5% (25,650원)
(최대할인 10만원 / 전월실적 40만원)
북피니언 롯데카드 30% (18,900원)
(최대할인 3만원 / 3만원 이상 결제)
NH쇼핑&인터파크카드 20% (21,600원)
(최대할인 4만원 / 2만원 이상 결제)
Close

프로페셔널 Node.js : 한 권으로 끝내는 노드제이에스 프로그래밍

원제 : Professional Node.js
소득공제

2013년 9월 9일 이후 누적수치입니다.

판매지수 50
?
판매지수란?
사이트의 판매량에 기반하여 판매량 추이를 반영한 인터파크 도서에서의 독립적인 판매 지수입니다. 현재 가장 잘 팔리는 상품에 가중치를 두었기 때문에 실제 누적 판매량과는 다소 차이가 있을 수 있습니다. 판매량 외에도 다양한 가중치로 구성되어 최근의 이슈도서 확인시 유용할 수 있습니다. 해당 지수는 매일 갱신됩니다.
Close
공유하기
정가

30,000원

  • 27,000 (10%할인)

    1,500P (5%적립)

할인혜택
적립혜택
  • I-Point 적립은 출고완료 후 14일 이내 마이페이지에서 적립받기한 경우만 적립됩니다.
추가혜택
배송정보
주문수량
감소 증가
  • 이벤트/기획전

  • 연관도서(57)

  • 사은품(6)

출판사 서평

Node.js를 사용해 자바스크립트로 확장 가능한 소프트웨어를 개발하자!

Node.js는 자바스크립트로 빠르고 확장 가능한 네트워크 프로그램을 개발할 수 있는 인기 있는 프레임워크다. 하지만 Node.js를 배우기란 쉽지 않다. 이 책에서는 Node.js 플랫폼의 설치부터 모듈을 개발하고 로드하는 기본적인 방법, 버퍼를 활용해 바이너리 데이터를 조작 ? 인코딩 ? 디코딩하는 법, 이벤트 이미터 패턴을 활용해 이벤트 바인딩을 단순화하는 법 등을 차례로 소개한다. 타이머를 활용해 함수 실행을 예약하는 것부터 외부 프로세스를 생성하고 제어하는 법에 이르기까지 이 책에서는 독자들이 자신만의 모듈을 개발 ? 테스트 ? 구동하는 데 필요한 모든 내용을 알려준다.

이 책에서 다루는 내용

- 파일의 조회, 읽기, 쓰기
- 스트림, 파일 시스템, 네트워킹, 자동화된 단위 테스트
- 데이터 스트림을 읽고 쓰는 법
- TCP와 HTTP 서버 및 클라이언트 개발
- 데이터그램 활용, 모듈 테스트 및 디버깅, 콜백 흐름의 제어
- 커넥트, 익스프레스, Socket.IO를 활용한 실시간 웹 애플리케이션 개발
- MySQL, 카우치디비, 몽고디비 연결

목차

[1부] 소개 및 설정

01장_ 노드 설치

윈도우에서의 노드 설치
맥 OS X에서의 설치
소스코드를 활용한 노드 설치
- 노드 버전의 선택
- 노드 소스코드 내려받기
- 노드 빌드
- 노드 설치
- 노드 실행
노드 패키지 매니저의 설정 및 활용
- NPM을 활용한 패키지 설치, 업데이트, 제거
정리

02장_ 노드 소개

이벤트 주도 프로그래밍 방식의 이해
노드와 자바스크립트에서 비동기적 애플리케이션 개발이 쉬운 이유
- 클로저란?
- 클로저가 비동기적 프로그래밍에 도움되는 이유
정리

[2부] 노드 핵심 API

03장_ 모듈 로딩

노드가 모듈을 로드하는 방식
모듈 내보내기
- 모듈의 로딩
정리

04장_ 바이너리 데이터의 조작, 인코딩, 디코딩을 위한 버퍼 활용

버퍼의 생성
버퍼의 바이트 가져오기 및 설정
버퍼 잘라내기
버퍼 복사
버퍼 디코딩
정리

05장_ 이벤트 이미터 패턴을 활용한 이벤트 바인딩 단순화

표준 콜백 패턴의 이해
이벤트 이미터 패턴의 이해
이벤트 타입의 이해
이벤트 이미터 API의 활용
- .addListener() 또는 .on()을 활용한 콜백 바인딩
- 여러 이벤트 리스너의 바인딩
- .removeListener()를 활용한 이벤트 이미터의 이벤트 리스너 제거
- .once()를 통한 일회용 콜백 등록
- .removeAllListeners()를 활용한 모든 이벤트 리스너 제거
커스텀 이벤트 이미터의 개발
- Node 이벤트 이미터의 상속
- 이벤트 내보내기
정리

06장_ 타이머를 활용한 함수 호출 예약

SETTIMEOUT을 활용한 함수의 실행 지연
CLEARTIMEOUT을 활용한 함수의 실행 취소
함수의 반복 실행 예약 및 취소
PROCESS.NEXTTICK을 활용해 다음 이벤트 루프 반복까지 함수 실행 연기하기
이벤트 루프 블로킹
이벤트 루프 빠져나가기
SETINTERVAL 대신 SETTIMEOUT을 활용한 직렬화 강제 적용
정리

[3부] 파일, 프로세스, 스트림, 네트워크 통신

07장_ 파일 조회, 읽기, 쓰기

파일 경로의 조작
- 경로 정규화
- 경로 결합
- 경로 해석
- 두 절대 경로 사이에서 상대 경로 찾기
- 경로 구성 요소의 추출
- 경로의 존재 여부 판단
FS 모듈의 소개
- 파일 통계 정보 조회
파일 열기
파일 읽기
- 파일에 쓰기
- 파일 닫기
정리

08장_ 외부 프로세스의 생성 및 제어

외부 명령의 실행
자식 프로세스의 실행
- 자식 프로세스의 생성
- 자식 프로세스의 데이터 수신
- 자식 프로세스로의 데이터 전송
- 자식 프로세스 종료 시 알림 수신
신호 전달 및 프로세스 죽이기
정리

09장_ 데이터 스트림 읽기와 쓰기

읽기 가능 스트림의 활용
- 데이터 기다리기
- 스트림의 일시 정지 및 재개
- 스트림이 끝나는 시점의 판단
쓰기 가능 스트림의 활용
- 스트림에 데이터 쓰기
- 스트림의 드레인 시점 기다리기
복잡한 스트림 예제에 대한 고려
- 파일 시스템 스트림의 생성
- 네트워크 스트림의 이해
느린 클라이언트 문제를 피하고 서버 구하기
- 느린 클라이언트 문제의 이해
- 느린 클라이언트 문제의 해결
- stream.pipe()를 활용한 느린 클라이언트 문제 예방 및 읽기 가능 스트림과 쓰기 가능 스트림의 파이핑
정리

10장_ TCP 서버의 개발

TCP 서버의 생성
- Socket- 객체의 활용
- 유휴 소켓의 이해
- Keep-Alive 설정
- 지연 시간의 활용 또는 미사용
- 클라이언트 커넥션 리스닝
- 서버 닫기
- 에러 처리
간단한 TCP 채팅 서버의 개발
- 커넥션 수신
- 커넥션으로부터 데이터 읽기
- 모든 클라이언트 수집
- 데이터 전달
- 닫힌 커넥션의 제거
- TCP 채팅 서버 활용법
정리

11장_ HTTP 서버의 개발

HTTP.SERVERREQUEST 객체의 이해
HTTP.SERVERRESPONSE- 객체의 이해
- 헤더 쓰기
- 헤더의 변경 또는 설정
- 헤더의 제거
- 응답 바디 쓰기
HTTP 청크 응답 스트리밍
- 파일 파이핑
- 다른 프로세스의 출력 파이핑
서버 닫기
예제- 1:정적 파일을 제공하는 서버 개발
예제 2: HTTP 청크 응답과 타이머의 활용
정리

12장_ TCP 클라이언트의 개발

서버 연결
데이터의 전송 및 수신
커넥션 종료
에러 처리
명령행 TCP 클라이언트 예제의 개발
- 서버 연결
- 서버로의 명령행 데이터 전송
- 서버 메시지의 출력
- 커넥션이 끊길 때의 재연결
- 커넥션 닫기
- 클라이언트 한데 정리하기
정리

13장_ HTTP 요청의 수행

GET 요청하기
다른 HTTP 동사의 활용
- 응답 객체의 검사
- 응답 본문 가져오기
- 응답 본문 스트리밍
HTTP.AGENT를 활용한 소켓 풀링
서드파티 요청 모듈을 활용한 HTTP 요청 단순화
- request 모듈의 설치 및 사용
- 테스트 서버의 생성
- 리다이렉트 따르기
- 요청 옵션의 설정
- 요청 본문 인코딩
- 스트리밍
- 쿠키 보관함의 활용
정리

14장_ 데이터그램의 활용

UDP의 이해
UDP의 활용법 이해
데이터그램 서버의 개발
- 메시지 리스닝
- 서버 테스트
- 추가 메시지 정보의 검사
간단한 데이터그램 에코 서버의 개발
- 메시지 기다리기
- 전송자에게 메시지 재전송
- 에코 서버 정리
데이터그램 클라이언트의 개발
- 클라이언트의 개발
- 메시지 전송
- 소켓 닫기
간단한 데이터그램 명령행 클라이언트의 개발
- 명령행에서 읽기
- 서버로 데이터 보내기
- 서버로부터 데이터 받기
- 명령행 UDP 클라이언트 정리
데이터그램 멀티캐스트의 이해와 활용
- 멀티캐스트 메시지의 수신
- 멀티캐스트 메시지의 전송
- 데이터그램의 최대 크기
정리

15장_ TLS/SSL을 통한 TCP 서버 보호

개인 키와 공개 키의 이해
- 개인 키의 생성
- 공개 키의 생성
TLS 서버의 개발
- 서버 초기화
- 커넥션 리스닝
- 클라이언트로부터 데이터 읽기
- 클라이언트로 데이터 보내기
- 접속 종료
TLS 클라이언트의 개발
- 클라이언트 초기화
- 서버 접속
- 서버 인증서의 확인
- 서버로 데이터 보내기
- 서버로부터 데이터 읽기
- 접속 종료
예제 개발
- TLS 채팅 서버의 개발
- TLS 명령행 채팅 클라이언트의 개발
- 클라이언트 인증서의 확인
정리

16장_ HTTPS를 통한 HTTP 서버 보호

보안 HTTP 서버의 개발
- 서버 옵션의 설정
- 커넥션 리스닝
- HTTPS 클라이언트 인증서의 유효성 검증
HTTPS 클라이언트의 개발
- 클라이언트 초기화
- 요청 보내기
- HTTPS 서버 인증서의 검증
정리

[4부] 모듈 및 애플리케이션 개발과 디버깅

17장_ 모듈 및 애플리케이션 테스트

테스트 러너의 활용
- 테스트 작성
- 테스트 실행
ASSERTION 테스트 모듈의 활용
- assert 모듈의 활용
- 노드탭의 내장 Assertion 함수 활용
비동기적 모듈의 테스트
정리

18장_ 모듈 및 애플리케이션 디버깅

CONSOLE.LOG의 활용
노드의 내장 디버거 활용
노드 인스펙터의 활용
정리

19장_ 콜백 흐름의 제어

부메랑 효과의 이해
함수 선언을 통한 부메랑 효과 방지
비동기 흐름 제어 라이브러리의 활용
- 연속 실행
- 병렬 실행
- 캐스케이딩
- 큐
- 순회
- 매핑
- 리듀싱
- 필터링
- 감지
정리

[5부] 웹 애플리케이션 개발

20장_ HTTP 미들웨어의 개발 및 활용

커넥트 HTTP 미들웨어 프레임워크의 이해
커스텀 HTTP 미들웨어의 개발
- 비동기적 미들웨어의 개발
- 미들웨어 내에서의 콜백 등록
- 미들웨어 내에서의 에러 처리
커넥트의 내장 HTTP 미들웨어 활용
- 요청 로깅
- 에러 처리
- 정적 파일 서비스
- 쿼리 문자열 파싱
- 요청 본문의 파싱
- 쿠키 파싱
- 세션의 활용
- 다른 미들웨어
정리

21장_ Express.js를 활용한 웹 애플리케이션 개발

EXPRESS.JS 애플리케이션의 초기화
애플리케이션의 미들웨어 설정
요청 라우팅
- 요청 처리
- 세션 활용
- 라우트 미들웨어의 활용
정리

22장_ Socket.IO를 활용한 실시간 애플리케이션 개발

웹소켓의 동작 원리 이해
SOCKET.IO를 활용한 웹소켓 애플리케이션 개발
- 서버에서의 Socket.IO 설치 및 실행
- Socket.IO를 활용한 실시간 웹 채팅 개발
- 채팅 애플리케이션의 확장
- 접속 중단 감지
- 사용자 채팅방 분리
- 네임스페이스의 활용
- 레디스를 활용한 서버사이드 애플리케이션 배포
정리

[6부] 데이터베이스 연결

23장_ node-mysql을 활용한 MySQL 연결

라이브러리를 활용한 MySQL 데이터베이스 연결 및 통신
보안을 염두에 둔 데이터 추가
효과적인 데이터 조회
정리

24장_ 나노를 활용한 카우치디비 연결

나노 모듈의 설치
데이터베이스 연결 및 생성
도큐먼트 저장
카우치디비 뷰의 생성 및 활용
카우치디비 도큐먼트의 파일 첨부
정리

25장_ 몽구스를 활용한 몽고디비 연결

몽구스의 설치
몽구스가 모델을 활용해 데이터베이스 접근을 캡슐화하는 원리의 이해
몽고디비 연결
스키마 정의
모델 정의
- 밸리데이터 활용
- 수정자의 활용
- 게터의 활용
- 가상 어트리뷰트의 활용
- 기본값의 활용
- 인덱스의 정의
- DB Ref를 활용한 다른 도큐먼트 참조
- 인스턴스 메서드의 정의
- 스태틱 메서드의 정의
정리

저자소개

페드로 테세이라(Pedro Teixeira) [저] 신작알림 SMS신청 작가DB보기
생년월일 -
출생지 -
출간도서 0종
판매수 0권

페드로 테세이라는 오픈소스 프로그래머이자 여러 Node.js 모듈의 제작자다. 14년 전에 소프트웨어 공학으로 학위를 받은 후 컨설턴트, 프로그래머, 국제적으로 유명한 Node.js 커뮤니티 회원으로 활동하고 있다.

페드로는 The Node Firm의 창립 파트너이며, Node.js 플랫폼을 서비스하는 선두 기업인 Nodejitsu Inc의 선임 프로그래머다. 또 인기 있는 노드 터츠(Node Tuts) 스크린캐스트를 만든 장본인이기도 하다.

페드로가 10살 때 그의 아버지는 ZX 스펙트럼을 프로그래밍하는 법을 페드로에게 가르쳤다. 이후 페드로는 프로그래밍을 한 번도 쉰 적이 없다.

펼쳐보기
생년월일 -
출생지 -
출간도서 0종
판매수 0권

인디 개발자이자 프리랜서 번역가로 활동 중이다. 이따금 http://joshy21.com/weblog에 번역과 상관없는 글을 올리고 있다. 역서로는 [하둡 인 프랙티스], [시작하세요! iOS 6 프로그래밍], [프로페셔널 Node.js 프로그래밍], [NoSQL 프로그래밍], [프로 스프링 3], [라이프해커], [시작하세요! 아이폰 5 프로그래밍], [안드로이드 레시피], [시작하세요! Unity 3D 게임 프로그래밍], [시작하세요! 안드로이드 게임 프로그래밍], [시작하세요! 아이폰 4 프로그래밍], [플래시 빌더 4 & 플렉스 4 바이블], [쉽고 빠르게 익히는 CSS3], [스프링 시큐리티 3], [시작하세요!

펼쳐보기

이 상품의 시리즈

(총 93권 / 현재구매 가능도서 57권)

펼쳐보기

컴퓨터/인터넷 분야에서 많은 회원이 구매한 책

    리뷰

    0.0 (총 0건)

    구매 후 리뷰 작성 시, 북피니언 지수 최대 600점

    리뷰쓰기

    기대평

    작성시 유의사항

    평점
    0/200자
    등록하기

    기대평

    0.0

    교환/환불

    교환/환불 방법

    ‘마이페이지 > 취소/반품/교환/환불’ 에서 신청함, 1:1 문의 게시판 또는 고객센터(1577-2555) 이용 가능

    교환/환불 가능 기간

    고객변심은 출고완료 다음날부터 14일 까지만 교환/환불이 가능함

    교환/환불 비용

    고객변심 또는 구매착오의 경우에만 2,500원 택배비를 고객님이 부담함

    교환/환불 불가사유

    반품접수 없이 반송하거나, 우편으로 보낼 경우 상품 확인이 어려워 환불이 불가할 수 있음
    배송된 상품의 분실, 상품포장이 훼손된 경우, 비닐랩핑된 상품의 비닐 개봉시 교환/반품이 불가능함

    소비자 피해보상

    소비자 피해보상의 분쟁처리 등에 관한 사항은 소비자분쟁해결기준(공정거래위원회 고시)에 따라 비해 보상 받을 수 있음
    교환/반품/보증조건 및 품질보증 기준은 소비자기본법에 따른 소비자 분쟁 해결 기준에 따라 피해를 보상 받을 수 있음

    기타

    도매상 및 제작사 사정에 따라 품절/절판 등의 사유로 주문이 취소될 수 있음(이 경우 인터파크도서에서 고객님께 별도로 연락하여 고지함)

    배송안내

    • 인터파크 도서 상품은 택배로 배송되며, 출고완료 1~2일내 상품을 받아 보실 수 있습니다

    • 출고가능 시간이 서로 다른 상품을 함께 주문할 경우 출고가능 시간이 가장 긴 상품을 기준으로 배송됩니다.

    • 군부대, 교도소 등 특정기관은 우체국 택배만 배송가능하여, 인터파크 외 타업체 배송상품인 경우 발송되지 않을 수 있습니다.

    • 배송비

    도서(중고도서 포함) 구매

    2,000원 (1만원이상 구매 시 무료배송)

    음반/DVD/잡지/만화 구매

    2,000원 (2만원이상 구매 시 무료배송)

    도서와 음반/DVD/잡지/만화/
    중고직배송상품을 함께 구매

    2,000원 (1만원이상 구매 시 무료배송)

    업체직접배송상품 구매

    업체별 상이한 배송비 적용