이미 소장하고 있다면 판매해 보세요.
|
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는 자바스크립트로 빠르고 확장 가능한 네트워크 프로그램을 개발할 수 있는 인기 있는 프레임워크다. 하지만 Node.js를 배우기란 쉽지 않다. 이 책에서는 Node.js 플랫폼의 설치부터 모듈을 개발하고 로드하는 기본적인 방법, 버퍼를 활용해 바이너리 데이터를 조작 ? 인코딩 ? 디코딩하는 법, 이벤트 이미터 패턴을 활용해 이벤트 바인딩을 단순화하는 법 등을 차례로 소개한다. 타이머를 활용해 함수 실행을 예약하는 것부터 외부 프로세스를 생성하고 제어하는 법에 이르기까지 이 책에서는 독자들이 자신만의 모듈을 개발 ? 테스트 ? 구동하는 데 필요한 모든 내용을 알려준다. 이 책에서 다루는 내용 ◎ 파일의 조회, 읽기, 쓰기 ◎ 스트림, 파일 시스템, 네트워킹, 자동화된 단위 테스트 ◎ 데이터 스트림을 읽고 쓰는 법 ◎ TCP와 HTTP 서버 및 클라이언트 개발 ◎ 데이터그램 활용, 모듈 테스트 및 디버깅, 콜백 흐름의 제어 ◎ 커넥트, 익스프레스, Socket.IO를 활용한 실시간 웹 애플리케이션 개발 ◎ MySQL, 카우치디비, 몽고디비 연결 |