이미 소장하고 있다면 판매해 보세요.
|
Chapter 1 Node.js 개요
__1.1 Node.js 배경사 __1.2 이벤트 기반의 비동기 방식의 의미 __1.3 Node.js 장점과 단점 __1.4 Node.js를 사용한 애플리케이션 Chapter 2 Node.js 개발 환경 구축 __2.1 윈도우 설치 __2.2 우분투 설치 __2.3 맥 설치 __2.4 첫 번째 Node.js 응용프로그램 __2.5 두 번째 Node.js 응용프로그램 Chapter 3 Node.js의 전역 객체 __3.1 전역 변수 __3.2 console 객체 __3.3 process 객체 __3.4 exports 객체와 모듈 Chapter 4 기본 내장 모듈 __4.1 os 모듈 __4.2 url 모듈 __4.3 Query String 모듈 __4.4 util 모듈 __4.5 File System 모듈 Chapter 5 이벤트 __5.1 이벤트 연결 __5.2 이벤트 연결 개수 제한 __5.3 이벤트 제거 __5.3 이벤트 강제 발생 __5.3 이벤트 생성 Chapter 6 http 모듈 __6.1 요청과 응답 __6.2 server 객체 __6.3 response 객체 __6.4 request 객체 Chapter 7 외부 웹 모듈 __7.1 EJS 모듈 __7.2 Jade 모듈 __7.3 connect 모듈 기본 __7.4 connect 모듈 미들웨어 기본 __7.5 connect 모듈 - Router 미들웨어 __7.6 connect 모듈 - Cookie Parser 미들웨어 __7.7 connect 모듈 - Body Parser 미들웨어 __7.8 connect 모듈 - Session 미들웨어 Chapter 8 MySQL 데이터베이스 __8.1 MySQL 설치 __8.2 MySQL 기본 __8.3 MySQL 모듈 기본 __8.4 MySQL 모듈을 사용한 CRUD 구현 Chapter 9 Express 프레임워크 __9.1 Express 프레임워크 설치 __9.2 프로젝트 설정 __9.3 Express 프레임워크 기본 __9.4 페이지 라우트 __9.5 레이아웃 페이지 __9.6 response 객체 __9.7 request 객체 Chapter 10 socket.io 모듈 __10.1 socket.io 모듈 기본 __10.2 소켓 통신의 종류 __10.3 클라이언트 정보 저장 __10.4 방 생성 __10.5 웹 채팅 프로그램 Chapter 11 영화 예매 애플리케이션 __11.1 프로젝트 개요 __11.2 프로젝트 생성 __11.3 서버 전체 코드 __11.4 서버 구현 __11.5 클라이언트 페이지 전체 코드 __11.6 클라이언트 페이지 구현 __11.7 정리 및 남은 과제 Chapter 12 실시간 물건 구매 __12.1 프로젝트 개요 __12.2 프로젝트 생성 __12.3 서버 전체 코드 __12.4 서버 구현 __12.5 클라이언트 페이지 전체 코드 __12.6 클라이언트 페이지 구현 __12.7 정리 및 남은 과제 Chapter 13 실시간 위치 추적 __13.1 프로젝트 개요 __13.2 프로젝트 생성 __13.3 데이터베이스 구성 __13.4 서버 전체 코드 __13.4 서버 구현 __13.5 클라이언트 페이지 전체 코드 __13.5 Tracker 페이지 구현 __13.6 Observer 페이지 구현 __13.7 정리 및 남은 과제 Chapter 14 실시간 온라인 그림판 __14.1 프로젝트 개요 __14.2 프로젝트 생성 __14.3 서버 전체 코드 __14.4 서버 구현 __14.5 클라이언트 페이지 전체 코드 __14.6 로비 페이지 구현 __14.7 캔버스 페이지 구현 __14.8 정리 및 남은 과제 부록 A. http 모듈과 net 모듈 __A.1 http 모듈을 사용한 웹 페이지 다운로드 __A.2 net 모듈을 사용한 TCP 서버 __A.3 net 모듈을 사용한 TCP 클라이언트 부록 B. 중요한 추가 모듈 __B.1 파일 처리 - Async 모듈(1) __B.2 코드 흐름 관리 - Async 모듈(2) __B.3 멀티 코어 처리 - cluster 모듈 부록 C. 바이너리 모듈 __C.1 바이너리 모듈 작성 __C.2 바이너리 모듈 빌드 __C.3 바이너리 모듈 사용 부록 D. Mongo DB __D.1 Mongo DB 설치 __D.2 Mongo DB 기본 __D.3 mongojs 모듈 |
윤인성의 다른 상품
|
페이스북, 월마트, 링크드인은 왜 Node.js를 선택했는가?
링크드인은 왜 JSP를 떠나 Node.js로 모든 서비스를 옮겼는가? 페이스북은 왜 베타 버전인 Node.js를 수억 명이 쓰는 서비스에 사용하는가? 이 모든 물음에 대한 답은 Node.js가 보여주는 빠른 처리 능력 때문이다. 페이스북은 단 1%의 성능 향상이라도 얻을 수 있다면 중요하기 때문이라 답했다. 구글 크롬에 쓰인 자바스크립트 엔진 V8에 기반한 Node.js는 매우 빠르다. 또한, 이벤트 기반 프로그래밍, 비동기 I/O 처리를 통해 동시에 수억 명이 접속하는 서비스에 적합하며 사용자 수가 늘어남에 따라 확장하기 쉽다. 이러한 이유로 서버 프로그래밍 분야에서는 생소한 자바스크립트 기반의 Node.js가 빠르게 인기를 얻고 성장할 수 있었다. 링크드인은 일부 서비스에서 전체 서비스까지 적용 범위를 확장했으며 월마트는 대규모 시스템에서 새로운 기술을 채택할 때 발생하는 위험보다 얻을 수 있는 이익이 더 크기에 Node.js를 적용했다고 발표했다. 차세대 웹 플랫폼으로 주목 받고 있는 Node.js 웹 서버를 거치지 않고 Node.js에서 직접 데이터를 처리하므로 매우 가볍고, 처리 속도가 빠르다. 메모리 소비량이 적어서 많은 양의 서비스 요청 처리에도 뛰어난 성능을 보여주므로 차세대 웹 플랫폼으로 주목 받고 있다. 실시간 서비스의 제공이 가능해진다 이벤트 기반, 비동기 I/O 처리가 가능하므로 실시간 서비스의 제공이 가능해진다. 이를 잘 활용한 예를 보이고자 실시간 그림판, 실시간 영화 예매, 실시간 위치 추적 예제를 책에 담았다. 스마트폰에서 좌석을 예약하면 태블릿, PC에서도 예약된 좌석이 실시간으로 업데이트된다. 스마트폰에서 상품을 구매하면 다른 사용자에게 재고 감소, 매진 여부를 실시간으로 업데이트하며, 카트에 넣은 상품을 10분간 구매하지 않으면 카트에서 반환되어 실시간 상품 쟁탈전의 느낌을 주는 쇼핑 카트 예제처럼 Node.js를 활용한 실용적인 예제로 구성했다. * 데모 사이트 클릭 * 예제 코드 클릭 |
|
차세대 웹 플랫폼으로 주목 받고 있는 Node.js
구인/구직과 관련한 세계 최대 규모의 소셜 네트워킹 서비스인 링크드인은 왜 JSP를 떠나 Node.js로 옮겼는가? 전 세계 8억명이 사용하는 페이스북은 왜 Node.js를 서비스에 적용했는가? 2012년 1월 24일 노드 콘퍼런스(Node Summit)에서 월마트 경영진은 자사의 서비스에 Node.js를 사용한다고 발표했을까? 이 모든 것은 Node.js가 서버 환경에서 보여준 놀라운 성능 향상 때문이다. 전 세계 수억 명이 사용하는 서비스에서 단 1%의 성능 향상도 중요한데, Node.js는 비약적인 성능 향상을 보여줬다. 새 기술을 채택하는 위험보다 얻을 수 있는 이익이 더 크기에 글로벌 기업은 앞 다투어 Node.js를 채택하고 있다. 이제 자바스크립트에 기반한 Node.js로 서버 프로그래밍, 이벤트 기반 프로그래밍을 학습해보자. 실무에서 Node.js를 어떻게 적용할 수 있는지 설명하기 위해 실시간 웹 채팅, 실시간 영화 예매, 다른 사람이 상품을 구매하면 바로 매진되는 과정을 보여주는 실시간 물건 구매, 실시간 온라인 그림판, 실시간 위치 추적 예제를 수록했다. 【주요 내용】 ● Node.js 개발 환경 구축(윈도/리눅스/맥) ● Node.js 전역 객체 ● Node.js 기본 내장 모듈 ● 이벤트 처리 ● http, Jade, EJS, connect 등의 주요 모듈 ● Express 프레임워크 ● MySQL과 MongoDB를 Node.js에서 사용하기 ● socket.io 모듈과 소켓 통신 ● 실시간 물건 구매, 영화 예매, 그림판 등의 예제 수록 【데모 사이트】 책 속의 예제를 미리 체험할 수 있는 데모 사이트 데모 사이트: http://www.hanb.co.kr/demo/1888/ ---책 표지 글 중에서 『모던 웹을 위한 JavaScript + jQuery 입문』(한빛미디어, 2011)에 이어 두 번째 모던 웹 시리즈인 『모던 웹을 위한 Node.js 프로그래밍』도 출간하게 되었습니다. 특별히 이어지는 내용은 아니므로 이전 책을 보지 않아도 상관없지만 자바스크립트와 관련된 내용은 알고 있어야 이 책을 읽을 수 있다는 사실을 먼저 말씀 드립니다. "자바스크립트를 사용해 대규모 네트워크 프로그램을 개발한다." 기존 사고 방식을 놓고 살펴보면 굉장히 웃기는 일입니다. 웹 브라우저에서만 작동하고 느리다고 알려진 자바스크립트를 사용해 서버를 개발한다고 하면 불가능한 일처럼 들릴지도 모릅니다. 그렇지만 그러한 일이 실제로 일어났습니다. 2008년 8월 구글은 자바스크립트 엔진을 탑재한 최초의 웹 브라우저, 크롬 베타 버전을 발표합니다. 크롬에 탑재된 자바스크립트 엔진 V8은 자바스크립트 코드를 기계어로 바꾸어 실행하는 자바스크립트 컴파일 엔진입니다. 이때부터 자바스크립트 속도 혁명이 시작되었습니다. 자바스크립트로 충분히 "웹 애플리케이션"을 구현할 수 있다는 인식이 시작된 것은 물론 이내 자바스크립트 속도가 더 빨라지자 "애플리케이션"도 충분히 구현할 수 있다는 인식도 시작되었습니다. 이때부터 자바스크립트는 웹 브라우저를 벗어났고 데이터베이스 관리는 물론 서버 개발 환경도 자바스크립트가 접근할 수 있는 영역이 되었습니다. 웹 브라우저를 벗어난 자바스크립트가 활발하게 성장하고 있는 곳이 바로 이 책에서 다루는 Node.js입니다. Node.js는 대규모 네트워크 프로그램을 개발하기 위해 설계된 서버 개발 환경입니다. 자바스크립트 서버 개발 환경이라고 하니 자바스크립트로 만들어졌다고 생각할 수 있지만 Node.js는 C++로 개발된 V8 자바스크립트 엔진을 기반으로 C++ 코드 8000줄과 자바스크립트 코드 2000줄로 시작했습니다. Node.js는 아직 1.0 버전도 나오지 않은 신생 개발 환경이지만 많은 기업이 채택해서 사용하고 있고 네트워크 프로그램을 개발하는 것에서 벗어나 데스크톱 애플리케이션이나 게임을 개발할 때도 사용되고 있습니다. 이 책은 Node.js가 지닌 이러한 많은 역할 중 네트워크 개발과 관련된 부분을 다룹니다. 조금 거창하지만 이 책을 정의한다면 다음과 같이 할 수 있습니다. "자바스크립트에 의한, 자바스크립트를 위한, 자바스크립트에 대한 책" 이 책은 클라이언트 웹 페이지는 물론 웹 서버, 소켓 서버, 데이터베이스까지 자바스크립트를 사용해 개발하는 방법을 다룹니다. 마지막으로 책을 집필할 수 있게 도와주신 한빛미디어 한동훈 대리님과 책을 집필하는 동안 틈틈이 여러 운영체제에서 예제를 실행하고 검토한 윤하린 님과 임윤경 님, 미완성된 책으로 함께 스터디를 진행하며 피드백한 강윤경, 김인수, 류태호, 백선주, 서하림, 이지연, 임승우 님과 책 교정과 편집을 맡은 모든 분께 감사 인사를 드립니다. 지은이_ 윤인성 ---지은이 서문 중에서 |