메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

모던 웹을 위한 Node.js 프로그래밍

모던 웹을 위한 Node.js 프로그래밍

한빛미디어

집필서

절판

  • 저자 : 윤인성
  • 출간 : 2012-02-07
  • 페이지 : 384 쪽
  • ISBN : 9788979148886
  • 물류코드 :1888
  • 초급 초중급 중급 중고급 고급
4.5점 (2명)
좋아요 : 15

페이스북, 월마트, 링크드인은 왜 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를 활용한 실용적인 예제로 구성했다.

데모 사이트: http://www.hanb.co.kr/demo/1888/

윤인성 저자

윤인성

출근하는 것이 싫어서 책을 집필하기 시작했습니다. 현재 직업 특성상 집에서 나갈 이유가 별로 없다는 것에 굉장히 만족하고 있습니다. 홍차와 커피를 좋아하며 기타, 가야금, 그림 그리기, 스컬핑 등이 취미입니다. 책의 소개말을 쓰는 시점을 기준으로 해서 이 책은 73번째 도서입니다.

저서로는 『자바스크립트 프로그래밍 입문(2판)』(한빛아카데미, 2022), 『C# 프로그래밍(2판)』(한빛아카데미, 2021)과 『혼자 공부하는 파이썬(개정판)』(한빛미디어, 2023) 등이 있습니다. 역서로는 『내 코드가 그렇게 이상한가요?』(인사이트, 2023), 『이펙티브 코틀린(인사이트, 2022)』 등이 있습니다.

 

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 모듈

최근 한빛리더스4기에 참여할 수 있는 기회가 생겨 "모던웹을 위한 Node.js프로그래밍" 책을 리뷰하게 되었습니다.

크롬의 등장으로 자바스크립트의 실행속도가 서버에서 실행해도 될만큼 빨라지자 웹브라우저를 벗어나 서버상에서 자바스크립트를 구동할 수 있도록 해주는 node.js가 탄생하였습니다.
node.js는 이벤트기반 비동기 네트웍 입출력을 통해 빠른 처리를 가능케하고, 외부모듈을 쉽게 사용할 수 있다는 점에서 현재 많은 인기를 얻고 있습니다.

이 책은 node.js의 활용에 대한 전반적인 내용을 담고 있으면서도, jsp나 php같은 서버측 웹프로그래밍경험이 없는 사람들도 바로 따라하면서 배울수 있도록 간결하고 쉬운 설명과 실행했던 스크린샷을 담고 있습니다.


각 장의 구성은
예제가 나오기 전에 소스파일들의 폴더구조를 알려주고,
설명중간중간 알아야 할 내용이 있으면 바로 알려주는 대신 굵은 글씨로 질문을 한 번 던진 후에 설명을 해주고 있으며
각 장의 끝엔 남은 과제라 해서 예제를 확장할 수 있는 질문들을 던져서 다시한번 배운내용을 생각해볼 수 있도록 한 점이 좋았습니다.


책의 구성은 앞에서 나온 내용을 계속 활용할 수 있도록 되어 있습니다.

- 외부모듈을 사용하는 절이 있으면, 뒤에 http모듈을 이용해 간단한 웹서버를 만드는 예제설명이 나오고,
- 같은 역할을 하는 예제로 node.js에 대한 코드형태에 익숙하게 하면서 외부모듈을 이용해서 웹서버 기능들을 확장하면서 웹어플리케이션에 필요한 페이지들을 작성할 수 있게 설명하며,
- database에 대한 설치 및 기본적인 설명과 함께 database 웹연동 예제들이 나오고
- socket.io 모듈설명과 이벤트에 대한 설명후에 웹채팅예제를 설명하고

마지막엔 이를 모두 활용하는 데모예제(http://www.hanb.co.kr/demo/1888/)로 구성되어 있어서 node.js를 익히기에 좋게 되어있습니다.


데모에 나온 실시간 영화예약과 쇼핑카드,온라인 공유 그림판(소켓통신), 위치 추적(구글맵+데이타베이스) 에 대한 설명까지 읽고나면
기존 자바스크립트로 UI만 다루던 역할에서 벗어나 아 저런 어플리케이션까지 만들 수 있겠구나 한번 해봐야지 하는 느낌을 받으실 수 있습니다.

참고로 7장의 connect모듈관련 예제는 책이 출간된 이후 connect 모듈이 2.0으로 업그레이드 되어서 동작하지 않습니다.
따라서 http://www.hanb.co.kr/exam/1888/%ED%95%84%EB%8F%85%EC%82%AC%ED%95%AD.txt 참조하셔서
connect 1.8.5버전을 설치 후 사용하셔야 합니다.


좀 더 바라는 점은 디버깅이나 유닛테스팅같은 정보가 포함되었으면 하는 점과
코드예제에 파일명이 있는게 있고, 없는게 있고 그런데 웬만하면 모두 포함되어 있었으면 좋겠습니다.
그리고 후반부예제는 코드가 긴 편인데 이벤트기반 클라이언트/서버구조의 소스이므로, 서로 어떤 메소드(혹은 이벤트)들을 주고 받는지에 대한 그림이 포함되어 있었으면 코드이해에 좀 더 도움이 될 거 같습니다. ^^

따끈따끈한 최신기술인 node.js의 책을 번역서가 아닌 직접 저술하신 책으로 접할 수 있어서 좋았으며, 이 책을 계기로 더 많은 국내 node.js 개발자들이 생겨났으면 좋겠습니다.

오래전부터 Server Side Javascript 에 대한 관심이 높아지면서 최근 가장 뜨겁게 이슈되고 있는 것이 바로 Node.js 입니다.
개발 생산성이 높고, Javascript 로 개발할 수 있기 때문에 학습하는데 걸리는 시간도 적어 쉽게 접근할 수 있어서 더욱 이슈가 되고 있습니다.

"모던 웹을 위한 Node.js 프로그래밍" 은 Javascript 에 대한 약간의 경험만 있는 사람이라면, 이해하는데 누구라도 전혀 문제가 없어보입니다.
예를 들면, Node.js 와 Database 연결하는 내용에서는 Mysql 의 설치부터 데이터 쿼리 사용방법까지 친절하게 설명하고 있는 것을 보면, 초보자도 문제 없어 보입니다.

또한 Node.js 환경에서 Javascript 를 이용한 개발 방법 뿐 아니라,
유용한 외부 모듈을 소개하고 사용하는 방법까지 자세하게 되어 있어, 실무에 빠르게 응용하는데 문제가 없어 보입니다.

도서 후반부에 설명하고 있는 실제 활용예제인 "영화 예매","상품 구매","실시간 위치 추적","온라인 그림판" 은 직접 Node.js 와 유용한 외부 모듈로 구현할 수 있는 직접적인 예제가 될 것이며, 실제 업무에도 가장 도움이 될 만한 것들로 구성되어 있어 좋았습니다.



다른 전문서와 비교하여 조금 특이한 점은,

첫번째, 저자와 대화 하고 있다고 느낄 만한 필체 입니다.
자주 등장하는 독자에게 하는 질문이나, 독자의 의문점을 예상하여 적어 두었기 때문에, 마치 대화 하는 것처럼 편하게 읽어 내려갈 수 있습니다.

두번째, 실습 예제코드의 상세한 설명 입니다.
다소 생소할 수 있는 새로운 방식의 개발 환경이지만, 실습예제를 거의 한줄 한줄 설명하고 있어 독자의 이해를 돕고 있습니다.

이미 Node.js 에 대한 개발 경험이 있으신 분은, 아주 빠르게 다시한번 정리하는 경험이 되실 것이며,
처음 Node.js 를 접하시는 분들께서는 Node.js 를 이해하고 경험하시는데, 그 무엇 보다도 가장 빠른 방법이 될 수 있을 것 같습니다.

여러분께서, Node.js 에 대해 궁금하시다면,
가장 빠르고 쉽게 학습하시기 가장 적절한 도서임은 분명합니다.

결제하기
• 문화비 소득공제 가능
• 배송료 : 2,000원배송료란?

배송료 안내

  • 20,000원 이상 구매시 도서 배송 무료
  • 브론즈, 실버, 골드회원이 주문하신 경우 무료배송

무료배송 상품을 포함하여 주문하신 경우에는 구매금액에 관계없이 무료로 배송해 드립니다.

닫기

리뷰쓰기

닫기
* 도서명 :
모던 웹을 위한 Node.js 프로그래밍
* 제목 :
* 별점평가
* 내용 :

* 리뷰 작성시 유의사항

글이나 이미지/사진 저작권 등 다른 사람의 권리를 침해하거나 명예를 훼손하는 게시물은 이용약관 및 관련법률에 의해 제재를 받을 수 있습니다.

1. 특히 뉴스/언론사 기사를 전문 또는 부분적으로 '허락없이' 갖고 와서는 안됩니다 (출처를 밝히는 경우에도 안됨).
2. 저작권자의 허락을 받지 않은 콘텐츠의 무단 사용은 저작권자의 권리를 침해하는 행위로, 이에 대한 법적 책임을 지게 될 수 있습니다.

오탈자 등록

닫기
* 도서명 :
모던 웹을 위한 Node.js 프로그래밍
* 구분 :
* 상품 버전
종이책 PDF ePub
* 페이지 :
* 위치정보 :
* 내용 :

도서 인증

닫기
도서명*
모던 웹을 위한 Node.js 프로그래밍
구입처*
구입일*
부가기호*
부가기호 안내

* 온라인 또는 오프라인 서점에서 구입한 도서를 인증하면 마일리지 500점을 드립니다.

* 도서인증은 일 3권, 월 10권, 년 50권으로 제한되며 절판도서, eBook 등 일부 도서는 인증이 제한됩니다.

* 구입하지 않고, 허위로 도서 인증을 한 것으로 판단되면 웹사이트 이용이 제한될 수 있습니다.

닫기

해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
장바구니로 이동하시겠습니까?

자료실