로그인회원가입장바구니고객센터마이페이지회사소개
kangcom
전체
Home >   >   > 

웹 서비스를 만들며 배우는 node.js 프로그래밍: 설치에서 배포까지

   
지은이 정민석   |   출판사 주식회사 제이펍  |   발행일 2018년 07월 31일
 
클릭하시면 큰 도서이미지를 보실 수 있습니다.
판매가 20,000원18,000원 10%
마일리지 5% 1,000원
발행일 2018-07-31
ISBN 1188621297 | 9791188621293
기타정보 국내서 | 220쪽 | 일반
예상출고일 1~2일 이내 (근무일기준)
배송비 2,000원 (20,000원이상 무료배송)
   
일반
   
 

쉬운 설명과 실전 예제로 구성한 Node.js 기반의 웹 서버 제작법!

이 책은 Node.js를 이용한 웹 서버 제작 방법을 단계별로 설명하면서 그 과정에서 파생하는 이슈나 문제 해결 과정을 담고 있다. 서버를 개발할 수 있는 언어는 다양하지만 왜 Node.js를 사용해야 하는지 다른 언어와의 비교를 통해 설명하였고, 저자의 경험을 토대로 콜백(callback) 지옥에 대한 해법도 제시한다.

출판사 서평
쉬운 설명과 실전 예제로 구성한 Node.js 기반의 웹 서버 제작법!
효율적인 구성으로 단시간에 배우는 Node.js 프로그래밍!

이 책은 Node.js를 이용한 웹 서버 제작 방법을 단계별로 설명하면서 그 과정에서 파생하는 이슈나 문제 해결 과정을 담고 있다. 서버를 개발할 수 있는 언어는 다양하지만 왜 Node.js를 사용해야 하는지를 다른 언어와의 비교를 통해 설명하였고, 저자의 경험을 토대로 콜백(callback) 지옥에 대한 해법도 제시한다.

여러분이 린(lean)하게 개발해야 하는 스타트업 개발자이거나 자바스크립트나 웹 개발을 공부하였으나 스스로 서버를 만드는 데 부담을 가졌던 개발자라면 이 책에서 그 해법을 구할 수 있을 것이다.

이 책의 주요 내용
• 서버 개발을 위한 사전 준비 ─ 개념에서 설치까지
• 모듈과 파일 사용하기
• 간단한 크롤링 서버 만들기
• 멀티 스레드와 클러스터
• MySQL과 레디스
• 로그인과 인증 구현하기
• 실시간 데이터 통신 ─ Comet과 WebSocket
• 에러와 예외 처리
• Callback 함수 대응하기
• 웹 브라우저 요청 처리하기 ─ URL Route
• REST API 구현하기
• 챗봇 만들기 ─ 에코봇
• 구글 스프레드시트 만들기
1.
2. 책속으로
웹 서버가 하는 많은 일 가운데 하나는 파일을 다루는 일입니다. 사용자에게 파일을 다운로드하도록 하거나, 웹 페이지도 결국은 파일로 되어 있는 부분을 읽어서 사용자에게 보여줘야 하는 것이니까요. 물론 그 과정에서 다양한 일이 일어나기도 하지만, 기본적으로 모든 것은 파일에서 출발함에는 틀림이 없습니다.
_40쪽

아주 간단한 코드들은 우리가 직접 구현할 수도 있고, 인터넷 포털사이트(주로 구글과 스택 오버플로겠죠?)의 도움을 받아서 구현하는 방법도 있을 것입니다. 하지만 작은 모듈들은 그렇게 하는 것이 가능하더라도 큰 모듈, 예를 들면 이미지를 다루는 내용은 매우 복잡하므로 그런 것을 직접 모두 구현하기에는 낭비일 것입니다. 그런 경우에는 NPM 을 사용하는 것이 현명합니다. 더구나 많은 사람이 사용하는 NPM 은 지속적인 관리를 통해 버그가 수정되기도 합니다. 업데이트된 NPM 은 간단한 명령어를 통해 업데이트를 하면 손쉽게 관리할 수 있습니다.
_57쪽

클러스터(cluster, 다중화)는 자식 프로세스와 달리, 같은 작업을 여러 명이 동시에 작업하는 것으로 이해하면 됩니다. 자식 프로세스를 자동차 공장에서 하나의 자동차를 각 라인에 주어진 임무에 따라 다른 작업을 하는 것으로 비유한다면, 클러스터는 여러 개체가 같은 작업을 병렬적 으로 진행하는 것으로 이해할 수 있습니다.
_68쪽

프로그램을 만들 때는 데이터베이스와 연동하는 작업을 빼놓을 수 없습니다. 예전에는 보통
RDBMS(Relational Database Management System) 라고 하여 관계형 데이터베이스 시스템, 쉽게 말해 MySQL , MariaDB , Oracle 과 같은 SQL 을 많이 사용하였으나, 요즘에는 NoSQL 이라는 비 관계형 데이터베이스, 즉 예전과 달리 비정형 데이터를 다루는 데이터베이스도 많이 사용합니다. 많은 사람이 NoSQL 의 ‘No -’를 ‘No(아니다) ’로 오해하지만, 전문가들은 ‘Not Only ’로 이해합니다.
_77쪽

웹 서버를 구축하다 보면 트래픽 때문에 고민이 될 때가 있습니다. 그런 경우 대부분 이미지 파일이나 멀티미디어 파일로 인해 트래픽이 많은 경우도 있으나, 간혹 대량의 텍스트 데이터(웹 페이지, 자바스크립트 파일, CSS 파일) 때문인 경우도 있습니다. 이때는 텍스트 데이터를 압축하여 전송하면 많은 트래픽을 절감할 수 있습니다.
_117쪽
CHAPTER 1 인터넷과 웹 1
1.1 웹과 자바스크립트의 발달 1
1.2 웹 서버의 역사: CGI부터 Node.js까지 2
1.3 크롬과 V8 엔진 그리고 Node.js 3
1.4 Node.js의 현재 그리고 미래 4
1.5 Node.js와 Electron 6

CHAPTER 2 Node.js의 특징과 장단점 7
2.1 자바스크립트 기반의 Node.js 7
2.2 동기식과 비동기식, 싱글 스레드와 멀티 스레드 8
2.3 다른 스크립트 언어와의 차이점 9

CHAPTER 3 개발을 위한 사전 준비 11
3.1 Node.js 설치하기 11
3.2 처음으로 구동하는 Node.js 서버 15
3.3 Forever Node.js 16

CHAPTER 4 Node.js의 Hello World 18
4.1 Start Server 18
4.2 응답 헤더 20

CHAPTER 5 Node.js 시작하기 25
5.1 상태 파악하기 ― console 26
5.2 모듈 사용하기 ― require 28
5.3 서버 만들기(1) ― http 31
5.4 서버 만들기(2) ― https 36
5.5 서버 만들기(3) ― http, https 37
5.6 파일 사용법 입문 ― file system 40
5.7 그 외의 파일 사용법 45
5.8 간단한 크롤링 서버 만들기 48

CHAPTER 6 기능 확장하기 56
6.1 NPM이란? 56
6.2 설치하기 57
6.3 NPM 사용하기 61

CHAPTER 7 멀티 스레드 66
7.1 싱글 스레드와 멀티 스레드 66
7.2 자식 프로세스 만들기 67
7.3 클러스터 68

CHAPTER 8 데이터베이스 77
8.1 RDBMS 사용하기 78
8.2 NoSQL 사용하기 88

CHAPTER 9 로그인과 인증 구현 96
9.1 쿠키 처리 97
9.2 Crypto를 활용한 고급 암호화 102

CHAPTER 10 실시간 데이터 통신 104
10.1 http 통신의 이해 104
10.2 Comet ― LongPolling 105
10.3 WebSocket과 Socket.io 109

CHAPTER 11 Gzip을 사용한 데이터 압축 117
11.1 트래픽을 줄이는 가장 손쉬운 방법 ― 압축 118
11.2 zlib 활용하기 118

CHAPTER 12 에러 및 예외 처리 121
12.1 에러와 예외 처리 121
12.2 에러 처리 122
12.3 예외 처리 123
12.4 에러 저장 124

CHAPTER 13 Callback 함수 대응하기 129
13.1 Callback이란? 129
13.2 Callback 함수의 문제점과 해결책 130

CHAPTER 14 URL Route 137
14.1 요청의 형태와 방식 137
14.2 POST와 GET 구분해서 받기 140
14.3 요청에 따른 분류 방법 148

CHAPTER 15 HTTP 헤더 152

CHAPTER 16 Node.js를 활용하여 REST API 구현하기 157
16.1 Node.js를 활용한 서버 구축 157
16.2 Express 사용하기 159
16.3 REST API 구현 준비 163
16.4 REST API 실제 구현하기 164

CHAPTER 17 페이스북 챗봇 만들기 167
17.1 페이스북 챗봇이란? 167
17.2 페이스북 챗봇 만들기 사전 준비 168
17.3 에코봇 만들기 177

CHAPTER 18 Node.js를 사용하여 구글 스프레드시트 만들기 184
18.1 구글 APIs 서비스 계정 생성하기 184
18.2 서비스 계정을 사용하여 구글 스프레드시트 만들기 187

APPENDIX A 구글 클라우드 플랫폼 사용하기 193
APPENDIX B Google Cloud Functions 199

찾아보기 205

정민석
(주)꿈많은청년들의 CTO이자 Google Cloud Platform User Group Korea(GCPUG Korea)의 운영자다. (꿈많은청년들은 Google Cloud Platform 한국과 Kakao Chatbot의 파트너사다.) 온라인상에서는 Harrison Jung으로 더 많이 알려졌다. 2012년부터 Node.js를 사용했으며, Node.js로 비트코인 거래소를 만든 경험이 있다. 최근에는 챗봇을 전문으로 개발하면서 머신러닝과 쿠버네티즈에 관심을 가지고 있다.
등록된 서평이 없습니다.
엑셀 2010...
두드림기획
선택된 상품을 찜하실 수 있습니다. 선택된 상품을 바로구매 하실 수 있습니다.
좋은 사진을 만드는 박승근의 드론 사진 강의...
박승근
선택된 상품을 찜하실 수 있습니다. 선택된 상품을 바로구매 하실 수 있습니다.
 
전체평균(0)
회원평점   회원서평수 0
주식회사 제이펍 출판사의 신간
모던 C++로 배우는 동시성 프로그래밍
라이너 그림 저
22,500원
(10%↓+5%)
 
해킹 일렉트로닉스: 아두이노와 라즈베리파이로 배우는 전자공학
사이먼 몽크 저
26,100원
(10%↓+5%)
 
한 권으로 배우는 파이썬 기초 & 알고리즘 사고법
아리스티데스 보우라스, 루키아 아이나로지두 저
27,000원
(10%↓+5%)
 
스프링 부트로 배우는 자바 웹 개발
윤석진 저
24,300원
(10%↓+5%)
 
칼퇴를 부르는 엑셀 테크닉 122
후지이 나오야, 오오야마 케이스케 저
16,200원
(10%↓+5%)
 
이메일주소수집거부