본문 바로가기

추천 검색어

실시간 인기 검색어

웹 서비스를 만들며 배우는 node.js 프로그래밍

설치에서 배포까지
정민석 저자(글)
제이펍 · 2018년 08월 06일
9.2
10점 중 9.2점
(4개의 리뷰)
집중돼요 (50%의 구매자)
  • node.js 프로그래밍 대표 이미지
    node.js 프로그래밍 대표 이미지
  • A4
    사이즈 비교
    210x297
    node.js 프로그래밍 사이즈 비교 189x246
    단위 : mm
01 / 02
MD의 선택 무료배송 이벤트 소득공제
10% 18,000 20,000
적립/혜택
1,000P

기본적립

5% 적립 1,000P

추가적립

  • 5만원 이상 구매 시 추가 2,000P
  • 3만원 이상 구매 시, 등급별 2~4% 추가 최대 1,000P
  • 리뷰 작성 시, e교환권 추가 최대 300원

알림 신청하시면 원하시는 정보를
받아 보실 수 있습니다.

절판되었습니다.
node.js 프로그래밍 상세 이미지
쉬운 설명과 실전 예제로 구성한 Node.js 기반의 웹 서버 제작법!
효율적인 구성으로 단시간에 배우는 Node.js 프로그래밍!

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

여러분이 린(lean)하게 개발해야 하는 스타트업 개발자이거나 자바스크립트나 웹 개발을 공부하였으나 스스로 서버를 만드는 데 부담을 가졌던 개발자라면 이 책에서 그 해법을 구할 수 있을 것이다.
쉬운 설명과 실전 예제로 구성한 Node.js 기반의 웹 서버 제작법!
효율적인 구성으로 단시간에 배우는 Node.js 프로그래밍!

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

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

작가정보

저자(글) 정민석

(주)꿈많은청년들의 CTO이자 Google Cloud Platform User Group Korea(GCPUG Korea)의 운영자다. (꿈많은청년들은 Google Cloud Platform 한국과 Kakao Chatbot의 파트너사다.)
온라인상에서는 Harrison Jung으로 더 많이 알려졌다. 2012년부터 Node.js를 사용했으며, Node.js로 비트코인 거래소를 만든 경험이 있다. 최근에는 챗봇을 전문으로 개발하면서 머신러닝과 쿠버네티즈에 관심을 가지고 있다.

목차

  • 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

책 속으로

웹 서버가 하는 많은 일 가운데 하나는 파일을 다루는 일입니다. 사용자에게 파일을 다운로드하도록 하거나, 웹 페이지도 결국은 파일로 되어 있는 부분을 읽어서 사용자에게 보여줘야 하는 것이니까요. 물론 그 과정에서 다양한 일이 일어나기도 하지만, 기본적으로 모든 것은 파일에서 출발함에는 틀림이 없습니다.
_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쪽

출판사 서평

이 책의 주요 내용
ㆍ 서버 개발을 위한 사전 준비 ─ 개념에서 설치까지
ㆍ 모듈과 파일 사용하기
ㆍ 간단한 크롤링 서버 만들기
ㆍ 멀티 스레드와 클러스터
ㆍ MySQL과 레디스
ㆍ 로그인과 인증 구현하기
ㆍ 실시간 데이터 통신 ─ Comet과 WebSocket
ㆍ 에러와 예외 처리
ㆍ Callback 함수 대응하기
ㆍ 웹 브라우저 요청 처리하기 ─ URL Route
ㆍ REST API 구현하기
ㆍ 챗봇 만들기 ─ 에코봇
ㆍ 구글 스프레드시트 만들기

기본정보

상품정보 테이블로 ISBN, 발행(출시)일자 , 쪽수, 크기, 총권수을(를) 나타낸 표입니다.
ISBN 9791188621293
발행(출시)일자 2018년 08월 06일
쪽수 220쪽
크기
189 * 246 * 13 mm / 539 g
총권수 1권

Klover 리뷰 (4)

구매 후 리뷰 작성 시, e교환권 200원 적립

10점 중 7.5점
그림으로 된 설명이 없어서 조금 아쉬었습니다.
10점 중 10점
/추천해요
이 분야에 참 많은 도움이 되는 책!

문장수집 (0)

문장수집 안내
문장수집은 고객님들이 직접 선정한 책의 좋은 문장을 보여주는 교보문고의 새로운 서비스입니다. 마음을 두드린 문장들을 기록하고 좋은 글귀들은 "좋아요“ 하여 모아보세요. 도서 문장과 무관한 내용 등록 시 별도 통보 없이 삭제될 수 있습니다.
리워드 안내
구매 후 90일 이내에 문장수집 작성 시 e교환권 100원을 적립해드립니다.
e교환권은 적립 일로부터 180일 동안 사용 가능합니다. 리워드는 작성 후 다음 날 제공되며, 발송 전 작성 시 발송 완료 후 익일 제공됩니다.
리워드는 한 상품에 최초 1회만 제공됩니다.
주문취소/반품/절판/품절 시 리워드 대상에서 제외됩니다.
판매가 5,000원 미만 상품의 경우 리워드 지급 대상에서 제외됩니다. (2024년 9월 30일부터 적용)

구매 후 리뷰 작성 시, e교환권 100원 적립

이 책의 첫 기록을 남겨주세요.

교환/반품/품절 안내

  • 반품/교환방법

    마이룸 > 주문관리 > 주문/배송내역 > 주문조회 > 반품/교환 신청, [1:1 상담 > 반품/교환/환불] 또는 고객센터 (1544-1900)
    * 오픈마켓, 해외배송 주문, 기프트 주문시 [1:1 상담>반품/교환/환불] 또는 고객센터 (1544-1900)
  • 반품/교환가능 기간

    변심반품의 경우 수령 후 7일 이내,
    상품의 결함 및 계약내용과 다를 경우 문제점 발견 후 30일 이내
  • 반품/교환비용

    변심 혹은 구매착오로 인한 반품/교환은 반송료 고객 부담
  • 반품/교환 불가 사유

    1) 소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우
    (단지 확인을 위한 포장 훼손은 제외)
    2) 소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우
    예) 화장품, 식품, 가전제품(악세서리 포함) 등
    3) 복제가 가능한 상품 등의 포장을 훼손한 경우
    예) 음반/DVD/비디오, 소프트웨어, 만화책, 잡지, 영상 화보집
    4) 소비자의 요청에 따라 개별적으로 주문 제작되는 상품의 경우 ((1)해외주문도서)
    5) 디지털 컨텐츠인 ebook, 오디오북 등을 1회이상 ‘다운로드’를 받았거나 '바로보기'로 열람한 경우
    6) 시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우
    7) 전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우
    8) 세트상품 일부만 반품 불가 (필요시 세트상품 반품 후 낱권 재구매)
    9) 기타 반품 불가 품목 - 잡지, 테이프, 대학입시자료, 사진집, 방통대 교재, 교과서, 만화, 미디어전품목, 악보집, 정부간행물, 지도, 각종 수험서, 적성검사자료, 성경, 사전, 법령집, 지류, 필기구류, 시즌상품, 개봉한 상품 등
  • 상품 품절

    공급사(출판사) 재고 사정에 의해 품절/지연될 수 있으며, 품절 시 관련 사항에 대해서는 이메일과 문자로 안내드리겠습니다.
  • 소비자 피해보상 환불 지연에 따른 배상

    1) 상품의 불량에 의한 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은 소비자분쟁 해결 기준 (공정거래위원회 고시)에 준하여 처리됨
    2) 대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의 소비자 보호에 관한 법률에 따라 처리함

상품 설명에 반품/교환 관련한 안내가 있는 경우 그 내용을 우선으로 합니다. (업체 사정에 따라 달라질 수 있습니다.)

이벤트
  • [교보eBook 19주년] 생일 파티에 초대합니다! 🎉
  • 미리보는 2025 대선
01 / 02
TOP