장바구니 담기 close

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

프로페셔널 Nodejs (컴퓨터/IT)

프로페셔널 Nodejs (컴퓨터/IT) 한 권으로 끝내는 노드제이에스 프로그래밍 (위키북스 오픈소스 웹 시리즈 48)

  • 페드로 테세이라 지음 | 유윤선 옮김
  • |
  • 위키북스
  • |
  • 2013-03-28 출간
  • |
  • 340페이지
  • |
  • 172 X 235 mm
  • |
  • ISBN 9788998139155
★★★★★ 평점(10/10) | 리뷰(1)
판매가

30,000원

즉시할인가

27,000

배송비

무료배송

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

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

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

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

목차

[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를 활용한 다른 도큐먼트 참조
- 인스턴스 메서드의 정의
- 스태틱 메서드의 정의
정리

도서소개

Node.js를 이용해 자바스크립트로 확장 가능한 소프트웨어를 개발하자!
한 권으로 끝내는 노드제이에스 프로그래밍 『프로페셔널 Node.js』. 노드의 설치부터 시작해 노드의 비동기적 프로그래밍 모델의 주요 원리를 살펴보고, 모듈 로딩, 바이너리 데이터 조작, 이벤트 이미터 패턴 활용법과 같은 핵심 API를 소개한다. 아울러, 개발한 서버를 테스트하는 데 도움이 되는 툴과 모범 기법도 소개하고, 노드를 통한 웹 애플리케이션 및 Socket.IO를 활용한 실시간 애플리케이션 개발 방법, MySQL 및 NoSQL 데이터베이스와의 연동법에 대해서도 다룬다.

《프로페셔널 Node.js》에서는 노드의 설치부터 시작해 노드의 비동기적 프로그래밍 모델의 주요 원리를 살펴보고, 모듈 로딩, 바이너리 데이터 조작, 이벤트 이미터 패턴 활용법과 같은 핵심 API를 소개한다. 또 파일, 프로세스, 스트림, 네트워크 통신에 대한 자세한 설명과 풍부한 예제를 통해 독자들이 노드로 서버를 구현하는 데 꼭 필요한 지식(파일 처리, 프로세스의 생성 및 제어, 스트림 읽기/쓰기, TCP 서버 및 HTTP 서버의 생성 및 활용 등)을 익힐 수 있게 도와준다. 아울러 개발한 서버를 테스트하는 데 도움되는 툴과 모범 기법도 소개하고, 노드를 통한 웹 애플리케이션 및 Socket.IO를 활용한 실시간 애플리케이션 개발 방법, MySQL 및 NoSQL 데이터베이스와의 연동법에 대해서도 다루고 있다.

노드의 기본 원리에서부터 각 모듈을 활용하는 법, 커스텀 모듈을 정의하는 법 같은 기본적인 내용은 물론 노드를 활용할 때 염두에 둘 만한 모범 기법과 실시간 애플리케이션 개발이나 빅데이터와의 연동 같은 다양한 주제에 대해서도 빠짐없이 배울 수 있다. 더불어 풍부한 예제 코드와 친절한 설명을 통해 노드 플랫폼과 관련한 다양한 주제를 소화할 수 있게 도와준다.

<출판사 리뷰>

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

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

★ 이 책에서 다루는 내용 ★

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

교환 및 환불안내

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