HOME > Detail View

Detail View

(제대로 배우는) Node.js 프로그래밍 (Loan 43 times)

Material type
단행본
Personal Author
Powers, Shelley 안재우, 역
Title Statement
(제대로 배우는) Node.js 프로그래밍 / 셸리 파워즈 지음 ; 안재우 옮김
Publication, Distribution, etc
서울 :   BJPublic,   2013  
Physical Medium
xxii, 437 p. : 삽화 ; 25 cm
Varied Title
Learning Node
ISBN
9788994774404
General Note
색인수록  
부록: Node, Git, GitHub  
Subject Added Entry-Topical Term
Application software -- Development Internet programming Client/server computing JavaScript (Computer program language)
000 01004camcc2200325 c 4500
001 000045764167
005 20131231163505
007 ta
008 130624s2013 ulka 001c kor
020 ▼a 9788994774404 ▼g 93000
035 ▼a (KERIS)BIB000013203701
040 ▼a 211017 ▼c 211017 ▼d 244002 ▼d 211009
041 1 ▼a kor ▼h eng
082 0 4 ▼a 006.76 ▼2 23
085 ▼a 006.76 ▼2 DDCK
090 ▼a 006.76 ▼b 2013
100 1 ▼a Powers, Shelley
245 2 0 ▼a (제대로 배우는) Node.js 프로그래밍 / ▼d 셸리 파워즈 지음 ; ▼e 안재우 옮김
246 1 9 ▼a Learning Node
260 ▼a 서울 : ▼b BJPublic, ▼c 2013
300 ▼a xxii, 437 p. : ▼b 삽화 ; ▼c 25 cm
500 ▼a 색인수록
500 ▼a 부록: Node, Git, GitHub
650 0 ▼a Application software ▼x Development
650 0 ▼a Internet programming
650 0 ▼a Client/server computing
650 0 ▼a JavaScript (Computer program language)
700 1 ▼a 안재우, ▼e
900 1 0 ▼a 파워즈, 셸리, ▼e

No. Location Call Number Accession No. Availability Due Date Make a Reservation Service
No. 1 Location Science & Engineering Library/Sci-Info(Stacks1)/ Call Number 006.76 2013 Accession No. 121227850 Availability Available Due Date Make a Reservation Service B M
No. 2 Location Sejong Academic Information Center/Science & Technology/ Call Number 006.76 2013 Accession No. 151316364 Availability Available Due Date Make a Reservation Service
No. Location Call Number Accession No. Availability Due Date Make a Reservation Service
No. 1 Location Science & Engineering Library/Sci-Info(Stacks1)/ Call Number 006.76 2013 Accession No. 121227850 Availability Available Due Date Make a Reservation Service B M
No. Location Call Number Accession No. Availability Due Date Make a Reservation Service
No. 1 Location Sejong Academic Information Center/Science & Technology/ Call Number 006.76 2013 Accession No. 151316364 Availability Available Due Date Make a Reservation Service

Contents information

Book Introduction

Node.js에 대해 이론적인 내용을 주저리주저리 늘어놓는 대신, 수많은 예제들과 실제 가장 많이 사용되는 모듈들을 다루는 데 초점을 맞추고 있다. Node를 사용해서 브라우저에서의 웹 개발 기술을 서버로 가져가서, 자바스크립트 기반 플랫폼 상에서 빠르고 고도의 확장성을 가지는 네트워크 애플리케이션을 작성하는 방법을 배운다.

실습 위주의 가이드를 통해 Node의 핵심 기반을 빨리 숙달하고, 여러 가지 내장 모듈과 커뮤니티에서 만든 모듈들에 대한 경험을 얻으며, 클라이언트 프로그래밍과 서버 프로그래밍 간의 차이점과 유사점을 배우게 된다.

Node의 이벤트 주도 비동기 I/O 모델을 사용하여 접근빈도가 높지만 단순한 연산을 수행하는 데이터 집중적인 애플리케이션을 빠르게 개발해보자. 자바스크립트를 다루는 데 무리가 없다면, 이 책은 Node를 사용한 서버 개발의 이점을 얻을 수 있도록 도와주는 수많은 프로그래밍 및 배포 예제를 제공해준다.

Learning Node

"손이 닿는 가까이에 두고 항상 참고해야 할 훌륭한 Node.js 입문서다."
- Mike Amundsen, 《Building Hypermedia APIs with HTML5 and Node》(O'Reilly)의 저자

이 책은 Node.js의 성격에 잘 들어맞는 책이라고 할 수 있다. 무슨 얘기인가 하면, Node.js는 백마디 글을 읽는 것보다 직접 코드를 작성해보는 것이 가장 바람직하다고 생각한다. 특히 NPM을 통해 필요한 모듈들을 찾아서 다운로드해보는 과정도 직접 겪어봐야 Node.js가 소프트웨어 개발에서 주는 장점들을 제대로 이해할 수 있다. 이 책은 Node.js에 대해 이론적인 내용을 주저리주저리 늘어놓는 대신, 수많은 예제들과 실제 가장 많이 사용되는 모듈들을 다루는 데 초점을 맞추고 있다.
-역자의 글 중에서

Node를 사용해서 브라우저에서의 웹 개발 기술을 서버로 가져가서, 자바스크립트 기반 플랫폼 상에서 빠르고 고도의 확장성을 가지는 네트워크 애플리케이션을 작성하는 방법을 배운다. 실습 위주의 가이드를 통해 Node의 핵심 기반을 빨리 숙달하고, 여러 가지 내장 모듈과 커뮤니티에서 만든 모듈들에 대한 경험을 얻으며, 클라이언트 프로그래밍과 서버 프로그래밍 간의 차이점과 유사점을 배우게 된다.

Node의 이벤트 주도 비동기 I/O 모델을 사용하여 접근빈도가 높지만 단순한 연산을 수행하는 데이터 집중적인 애플리케이션을 빠르게 개발해보자. 자바스크립트를 다루는 데 무리가 없다면, 이 책은 Node를 사용한 서버 개발의 이점을 얻을 수 있도록 도와주는 수많은 프로그래밍 및 배포 예제를 제공해준다.

- 비동기 개발에 대한 Node의 독특한 접근방법을 살펴본다.
- Express 프레임워크와 Connect 미들웨어로 Node 애플리케이션 예제를 만들어본다.
- Redis와 MongoDB 같은 NoSQL 솔루션을 사용해보고 Node의 관계형 데이터베이스 모듈들을 살펴본다.
- PDF 파일을 다루고 HTML5 미디어를 서비스하며, Canvas로 그래픽을 생성해본다.
- WebSocket을 사용하여 브라우저와 서버 간에 양방향 통신을 구성해본다.
- 애플리케이션을 디버깅하고 테스트하는 심도 있는 사례들을 배운다.
- 클라우드나 자신의 시스템에 Node 애플리케이션을 배포한다.

독자대상
초중급

이 책의 구성

Node는 대부분의 웹 개발자들이 익숙한 언어인 자바스크립트로 작성되었다. 웹 소켓을 사용하거나 Express와 같은 프레임워크로 개발하는 것과 같이 새로운 기술을 사용하는 방법을 배우게 되지만, 이러한 개념들과 함께 새로운 언어를 배울 필요가 없다. 이러한 언어 친화성은 새로운 구성요소에 집중하는 것을 더욱 쉽게 만들어준다.

Node를 사용해본 적이 없다면 1장부터 시작해서 최소한 5장까지 읽기 바란다. 이 장들은 Node와 패키지 관리자(npm)를 설치하고 이를 사용하는 방법, 첫 번째 애플리케이션을 만들기, 모듈을 활용하는 방법을 다룬다. 5장에서는 Node와 관련된 스타일 문제 중 일부도 다루는데, 비동기 개발에 대한 Node의 고유한 접근방법을 어떻게 다루어야 하는지가 포함된다.

Node를 조금 살펴본 적이 있고 내장 Node 모듈 및 외부 모듈 일부와 REPL(read-eval-print-loop: 대화형 콘솔)을 사용해본 적이 있다면 1장~4장은 건너 뛰고 5장부터 시작하는 것을 권장한다.

이 책은 전체에 걸쳐 Connect 미들웨어를 활용하는 Express 프레임워크를 사용하는 것이 포함되어 있다. Express를 사용해본 적이 없다면 라우팅, 프록시, 웹 서버, 미들웨어의 개념을 다루고 Express를 소개하는 6장~8장을 살펴보는 것이 좋다. 특히 Model-View-Controller(MVC) 프레임 워크에서 Express를 사용하는 법이 궁금하다면 반드시 7장과 8장을 읽기 바란다.

기초를 다루는 장들 이후에는 어느 정도 건너뛰어도 된다. 예를 들어 키/값 쌍을 주로 다룬다면 9장에 있는 Redis에 대한 논의를 읽어보도록 하자. 문서 중심 데이터에 관심이 있다면 Node에서 MongoDB를 사용하는 방법을 소개하는 10장을 확인해보기 바란다. 관계형 데이터베이스로만 작업한다면 바로 11장으로 가면서 Redis와 MongoDB 관련 장은 건너뛰어도 된다. 하지만 데이터를 다루는 데 새로운 관점을 제공해줄 수도 있으므로 언젠가는 읽어보는 것이 좋다.

12장과 13장에서 Node를 특수한 용도로 사용하는 것을 본 이후에는 책의 마지막 부분으로 가게 된다. 다른 장들에서 예제를 어느 정도 다뤄봤다면 14장에서 Node 디버깅과 테스트에 대해 심화된 학습 내용을 배우는 데 시간을 투자해보자.

15장은 아마도 가장 어려운 내용 중 하나이지만 중요한 내용이기도 하다. 여기서는 보안과 허가 문제를 다룬다. 처음부터 15장을 읽는 것은 별로 권장하지 않지만 Node 애플리케이션을 일반적인 용도로 사용하기 전에 15장에 시간을 투자하는 것이 필수적이다.

16장은 마지막 장으로, 흥미나 경험에 관계없이 맨 마지막에 읽는 것이 좋다. 여기서는 프로덕션에서 사용하기 위해 애플리케이션을 어떻게 준비해야 하는지에 초점을 맞추고 있는데, Node 애플리케이션을 자신의 시스템에 배포하는 것뿐만 아니라 클라우드 서버 중 하나에서 Node 애플리케이션을 호스팅하는 방법도 포함된다. 또한 Node 애플리케이션이 Apache와 같은 다른 웹 서버와 함께 잘 동작하게 하는 방법을 포함한 Node 애플리케이션을 서버에 배포하는 방법과 애플리케이션이 크래시가 나더라도 살아나게 하고 시스템이 재부팅될 때 재시작하게 하는 방법도 다룬다.


Information Provided By: : Aladin

Author Introduction

셸리 파워즈(지은이)

첫 집필한 자바스크립트 도서에서부터 최근 집필한 그래픽 및 디자인 툴 관련 서적 등 18년 이상을 웹 기술 개발 분야에서 일하며 집필 활동을 하고 있습니다. 그녀가 최근 O’Reilly 출판사에서 출간한 도서로는 자바스크립트, HTML5 미디어 객체, Ajax, 웹 그래픽이 있습니다.

안재우(옮긴이)

과거 닷넷엑스퍼트 수석컨설턴트로 10년이 넘도록 다양한 분야에서 컨설팅과 프로젝트를 수행한 경험을 가지고 있으며, 현재는 엔씨소프트에서 플랫폼 기술 기획을 담당하며 플랫폼의 영역을 넓히고 지속적인 품질 향상을 위해 노력하고 있다. 서버 기술과 아키텍처, ALM(ApplicationLifecycle Management)에 관심이 많다. 블로그: http://blog.naver.com/saltynut / 페이스북: http://www.facebook.com/saltynut

Information Provided By: : Aladin

Table of Contents

목차
저자 소개 = xii
역자 소개 = xii
역자의 글 = xiii
표지 설명 = xv
머리말 = xvi
Chapter 1 Node.js : 처음 실행하기 = 1
 Node 개발환경 구성 
  Linux(Ubuntu)에 Node 설치하기 = 3
  Windows 7에서 WebMatrix와 Node의 짝짓기 = 5
  Node 업데이트 = 10
 Node : 뛰어들기 = 11
  Node에서의 Hello, World = 11
  Hello, World 살펴보기 = 13
 비동기 함수와 Node 이벤트 루프 = 15
  비동기로 파일 읽기 = 17
  비동기 프로그램 흐름 살펴보기 = 18
 Node의 이점 = 23
Chapter 2 REPL을 통한 대화형 Node = 25
 REPL : 처음 살펴보기&정의되지 않은 수식 = 26
 REPL의 이점 : 하부 JavaScript에 대한 보다 깊은 이해를 제공 = 28
  여러 줄로 된 보다 복잡한 JavaScript = 29
  REPL 명령어 = 33
  REPL과 rlwrap = 34
  사용자 정의 REPL = 35
  어떤 일이 일어날지 모르니 자주 저장하라 = 39
Chapter 3 Node의 코어 = 41
 전역 개체(global, process)와 Buffer = 42
  global = 42
  process = 45
  Buffer = 47
 타이머 : setTimeout, clearTimeout, setInterval, clearInterval = 48
 서버, 스트림, 소켓 = 49
  TCP 소켓과서버 = 50
  HTTP = 52
  UDP/데이터그램 소켓 = 55
  스트림, 파이프, Readline = 57
 자식 프로세스 = 59
  child_process.spawn = 60
  child_process.exec와 child_process.execFile = 63
  child_process.fork = 63
  Windows에서 자식 프로세스 애플리케이션 실행하기 = 64
 도메인 해석과 URL 처리 = 65
 Utilities 모듈과 개체 상속 = 67
 이벤트와 EventEmitter = 70
Chapter 4 Node 모듈 시스템 = 75
 require를 사용한 모듈 로딩과 기본 경로 = 76
 외부 모듈과 Node 패키지 관리자 = 78
 모듈 찾기 = 83
  Colors : 단순한 것이 최선 = 85
  Optimist : 또 하나의 작고 간단한 모듈 = 86
  Underscore = 88
 사용자 정의 모듈 만들기 = 89
  디렉터리 전체 패키징하기 = 90
  모듈공개 준비 = 91
  모듈 게시 = 95
Chapter 5 제어 흐름, 비동기 패턴, 예외 처리 = 97
 Promise 사용, Promise 대신 Callback 사용 = 98
 순차 기능, 중첩 콜백, 예외 처리 = 101
 비동기 패턴 및 제어 흐름 모듈 = 109
  Step = 110
  Async = 114
  Node 스타일 = 119
Chapter 6 트래픽 라우팅, 파일 서비스, 미들웨어 = 123
 간단한 정적 파일 서버 만들기 = 124
  미들웨어 = 132
  Connect의 기초 = 133
  Connect 미들웨어 = 135
  connect.static = 136
  connect.logger = 137
  connect.parseCookie와 connect.cookieSession = 138
  사용자 정의 Connect 미들웨어 = 141
 라우터 = 145
 프록시 = 148
Chapter 7 Express 프레임워크 = 153
 Express : 처음 시작하기 = 154
 app.js 파일 자세히 살펴보기 = 155
 에러 처리 = 159
 Express/Connect의 협력 관계 살펴보기 = 161
 라우팅 = 162
  라우팅 경로 = 164
  라우팅과 HTTP 동사 = 168
 MVC의 도입 = 176
 cURL로 Express 애플리케이션 테스트하기 = 182
Chapter 8 Express, 템플릿 시스템, CSS = 185
 Embedded JavaScript(EJS) 템플릿 시스템 = 186
  기본 문법 배우기 = 186
  Node에서 EJS 사용 = 187
  Node용 EJS 필터 사용하기 = 190
 Express와 템플릿 시스템(EJS) 사용 = 192
  다중 개체 환경을 위한 구조 개편 = 194
  정적 파일들로의 라우팅 = 195
  새 위젯 전송 처리 = 197
  위젯 색인 작업과 선택 목록 생성 = 199
  개별 개체 보기/개체 삭제 확인 = 201
  업데이트 폼 제공 및 PUT 요청 처리 = 203
 Jade 템플릿 시스템 = 208
  Jade 문법구경하기 = 208
  블록 사용, 뷰 템플릿 모듈화를 위한 확장 = 210
  위젯 뷰를 Jade 템플릿으로 전환 = 213
 CSS 단순화를 위한 Stylus 결합 = 218
Chapter 9 Node와 Redis를 사용한 구조화된 데이터 = 225
 Node 및 Redis 시작하기 = 226
 게임 순위표 만들기 = 229
 메시지 큐 만들기 = 236
 Express 애플리케이션에 Stats 미들웨어 추가 = 242
Chapter 10 Node와 MongoDB : 문서 중심 데이터 = 247
 MongoDB Native Node.js Driver = 248
  MongoDB 시작하기 = 249
  MongoDB 컬렉션 정의, 생성, 삭제 = 250
  컬렉션에 데이터 추가 = 250
  데이터 질의하기 = 254
  업데이트, 업서트, 찾기, 제거 = 259
 Mongoose로 위젯 모델 구현 = 264
  Widget 팩토리 리팩토링 = 265
  MongoDB 백엔드 추가 = 267
Chapter 11 Node 관계형 데이터베이스 바인딩 = 273
 db-mysql로 시작하기 = 274
  쿼리 문자열이나 체인화된 메서드 사용 = 275
  직접 쿼리로 데이터베이스 업데이트 = 278
  체인 메서드로 데이터베이스 업데이트 = 282
 node-mysql을 사용한 네이티브 자바스크립트 MySQL 접근 = 283
  node-mysql을 사용한 기본 CRUD = 283
  mysqt-queues를 사용한 MySQL 트랜잭션 = 286
 Sequelize를 사용한 ORM 지원 = 289
  0RM 스타일로 CRUD 사용하기 = 291
  여러 개의 개체를 쉽게 추가하기 = 294
  관계형에서 0RM으로 가는 것과 관련된 문제 극복하기 = 295
Chapter 12 그래픽 및 HTML5 비디오 = 297
 PDF를 생성하고 다루기 = 298
  자식 프로세스로 PDF 도구에 접근하기 = 298
 PDFKit으로 PDF 생성 = 308
 자식 프로세스에서 ImageMagick에 접근 = 310
 HTTP로 HTML5 비디오 서비스하기 = 315
 Canvas 컨텐츠 생성 및 스트리밍 = 320
Chapter 13 웹 소켓과 Socket.IO = 323 
 웹 소켓 = 324
 Socket.IO 소개 = 325
  간단한 통신 예제 = 325
  비동기 세계에서의 웹 소켓 = 329
  클라이언트 코드 = 330
 Socket.IO 구성 = 331
 채팅 : 웹 소켓 "Hello, World" = 333
 Express와 함께 Socket.IO 사용 = 336
Chapter 14 Node 애플리케이션 테스트 및 디버깅 = 339
 디버깅 = 339
  Node.js 디버거 = 340
  Node Inspecto로 클라이언트 디버깅 = 343
 단위 테스트 = 345
  Assert로 단위 테스트하기 = 345
  Nodeunit으로 단위 테스트 = 350
  다른 테스트 프레임워크 = 352
 인수 테스트 = 356
  Soda를 이용한 Selenium 테스트 = 357
  Tobi와 Zombie로 브라우저 에뮬레이트하기 = 362
 성능 테스트 : 벤치마크와 부하테스트 = 363
  ApacheBench로 벤치마크 테스트 = 364
  NodeLoad를 사용한 부하테스트 = 369
 Nodemon으로 코드 갱신 = 371
Chapter 15 게이트 단의 보안 = 373
 데이터 암호화 = 374
  TLS/SSL 설정 = 374
  HTTPS 다루기 = 376
  암호를 안전하게 저장 = 378
 Passport를 사용한 인증/허가 = 382
  인증/허가 전략 : OAuth, OpenID, 사용자명/비밀번호 검증 = 383
  로컬 Passport 전략 = 384
  Twitter Passport 전략(OAuth) = 393
 애플리케이션 보호와 공격 예방 = 400
  eval을 사용하지 말 것 = 401
  체크박스, 라디오버튼, 드롭다운 선택을 사용하라 = 401
  node-validator로 데이터 정화 = 402
 샌드박스화된 코드 = 404
Chapter 16 Node 애플리케이션 확장 및 배포 = 409
 Node 애플리케이션을 자신의 서버에 배포하기 = 409
  package.json 파일 작성 = 410
  Forever로 애플리케이션이 살아있도록 유지하기 = 시4
  Node와 Apache를 함께 사용하기 = 417
  성능 향상시키기 = 419
 클라우드 서비스로 배포 = 420
  CLoud9 IDE를 통해 Windows Azure로 배포 = 421
  Joyent Development SmartMachine = 423
  Heroku = 424
  Amazon EC2 = 424
  Nodejitsu = 425
부록 : Node, Git, GitHub = 427
찾아보기 = 432

New Arrivals Books in Related Fields

National Academies of Sciences, Engineering, and Medicine (U.S.) (2020)
Cartwright, Hugh M. (2021)
한국소프트웨어기술인협회. 빅데이터전략연구소 (2021)