간편결제, 신용카드 청구할인
인터파크 롯데카드 5% (17,100원)
(최대할인 10만원 / 전월실적 40만원)
북피니언 롯데카드 30% (12,600원)
(최대할인 3만원 / 3만원 이상 결제)
NH쇼핑&인터파크카드 20% (14,400원)
(최대할인 4만원 / 2만원 이상 결제)
Close

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

소득공제

2013년 9월 9일 이후 누적수치입니다.

공유하기
  • 저 : 정민석
  • 출판사 : 제이펍
  • 발행 : 2018년 08월 06일
  • 쪽수 : 220
  • ISBN : 9791188621293
정가

20,000원

  • 18,000 (10%할인)

    1,000P (5%적립)

할인혜택
적립혜택
  • S-Point 적립은 마이페이지에서 직접 구매확정하신 경우만 적립 됩니다.
추가혜택
  • 7/15(월) 이내 발송 예정  (서울시 강남구 삼성로 512)
  • 무료배송
  • 주문수량
    감소 증가
    • 이벤트/기획전

    • 연관도서

    • 상품권

    AD

    책소개

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

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

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

    효율적인 구성으로 단시간에 배우는 Node.js 프로그래밍!

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

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

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

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

    출판사 서평

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


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

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

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

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

    목차

    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

    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

    본문중에서

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

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

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

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

    웹 서버를 구축하다 보면 트래픽 때문에 고민이 될 때가 있습니다. 그런 경우 대부분 이미지 파일이나 멀티미디어 파일로 인해 트래픽이 많은 경우도 있으나, 간혹 대량의 텍스트 데이터(웹 페이지, 자바스크립트 파일, CSS 파일) 때문인 경우도 있습니다. 이때는 텍스트 데이터를 압축하여 전송하면 많은 트래픽을 절감할 수 있습니다.
    (/ p.117)

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

    관련이미지

    저자소개

    정민석 [저] 신작알림 SMS신청
    생년월일 -

    해당작가에 대한 소개가 없습니다.

    전공도서/대학교재 분야에서 많은 회원이 구매한 책

      리뷰

      0.0 (총 0건)

      100자평

      작성시 유의사항

      평점
      0/100자
      등록하기

      100자평

      0.0
      (총 0건)

      판매자정보

      • 인터파크도서에 등록된 오픈마켓 상품은 그 내용과 책임이 모두 판매자에게 있으며, 인터파크도서는 해당 상품과 내용에 대해 책임지지 않습니다.

      상호

      (주)교보문고

      대표자명

      안병현

      사업자등록번호

      102-81-11670

      연락처

      1544-1900

      전자우편주소

      callcenter@kyobobook.co.kr

      통신판매업신고번호

      01-0653

      영업소재지

      서울특별시 종로구 종로 1(종로1가,교보빌딩)

      교환/환불

      반품/교환 방법

      ‘마이페이지 > 취소/반품/교환/환불’ 에서 신청 또는 1:1 문의 게시판 및 고객센터(1577-2555)에서 신청 가능

      반품/교환가능 기간

      변심 반품의 경우 출고완료 후 6일(영업일 기준) 이내까지만 가능
      단, 상품의 결함 및 계약내용과 다를 경우 문제점 발견 후 30일 이내

      반품/교환 비용

      변심 혹은 구매착오로 인한 반품/교환은 반송료 고객 부담
      상품이나 서비스 자체의 하자로 인한 교환/반품은 반송료 판매자 부담

      반품/교환 불가 사유

      ·소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우
      (단지 확인을 위한 포장 훼손은 제외)

      ·소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우
      예) 화장품, 식품, 가전제품(악세서리 포함) 등

      ·복제가 가능한 상품 등의 포장을 훼손한 경우
      예) 음반/DVD/비디오, 소프트웨어, 만화책, 잡지, 영상 화보집

      ·시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우

      ·전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우

      상품 품절

      공급사(출판사) 재고 사정에 의해 품절/지연될 수 있음

      소비자 피해보상
      환불지연에 따른 배상

      ·상품의 불량에 의한 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은 소비자분쟁해결 기준 (공정거래위원회 고시)에 준하여 처리됨

      ·대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의 소비자 보호에 관한 법률에 따라 처리함

      (주)KG이니시스 구매안전서비스서비스 가입사실 확인

      (주)인터파크커머스는 회원님들의 안전거래를 위해 구매금액, 결제수단에 상관없이 (주)인터파크커머스를 통한 모든 거래에 대하여
      (주)KG이니시스가 제공하는 구매안전서비스를 적용하고 있습니다.

      배송안내

      • 교보문고 상품은 택배로 배송되며, 출고완료 1~2일내 상품을 받아 보실 수 있습니다.

      • 출고가능 시간이 서로 다른 상품을 함께 주문할 경우 출고가능 시간이 가장 긴 상품을 기준으로 배송됩니다.

      • 군부대, 교도소 등 특정기관은 우체국 택배만 배송가능합니다.

      • 배송비는 업체 배송비 정책에 따릅니다.

      • - 도서 구매 시 15,000원 이상 무료배송, 15,000원 미만 2,500원 - 상품별 배송비가 있는 경우, 상품별 배송비 정책 적용