한빛출판네트워크

IT/모바일

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

Node.js LTS 버전으로 배우는 웹 애플리케이션 서버 프로그래밍

한빛미디어

집필서

절판

모던 웹을 위한 Node.js 프로그래밍 3판
좋아요: 108
  • 저자 : 윤인성
  • 출간일 : 2016-07-01
  • 페이지 : 544쪽
  • ISBN : 9788968482946
  • 물류코드 :2294

합계 : 22,500

  • Node.js LTS 버전에 대응해 전면 개정한

    실시간 웹 애플리케이션 서버 프로그래밍

     

    세계에서 가장 빠르게 성장한 서버 프로그래밍 오픈 소스 플랫폼

    Node.js는 구글 크롬에 쓰인 자바스크립트 엔진 V8에 기반을 둔 서버 프로그래밍 플랫폼이다. 이벤트 기반 프로그래밍, 비동기 I/O 처리를 통해 동시에 수억 명이 접속하는 서비스에 적합하며 사용자 수가 늘어남에 따라 확장하기 쉽다. 이러한 이유로 서버 프로그래밍 분야에서는 생소한 자바스크립트 기반의 Node.js가 빠르게 인기를 얻고 성장했다. 실제로 페이스북은 단 1%의 성능 향상이라도 얻기 위해 Node.js를 선택했다고 했고, 링크드인은 일부 서비스에서 전체 서비스까지 적용 범위를 확장했다. 월마트는 대규모 시스템에서 새로운 기술을 채택할 때 발생하는 위험보다 얻을 수 있는 이익이 더 크기에 Node.js를 적용했다고 발표했다.

     

    실시간 서비스 제공이 가능해진다

    이벤트 기반 프로그래밍, 비동기 I/O 처리가 가능하므로 실시간 서비스 제공이 가능해진다. 이를 잘 활용한 예를 보이고자 실시간 그림판, 실시간 영화 예매, 실시간 위치 추적 예제를 책에 담았다. 스마트폰에서 좌석을 예약하면 태블릿, PC에서도 예약된 좌석이 실시간으로 업데이트된다. 스마트폰에서 상품을 구매하면 다른 사용자에게 재고 감소, 매진 여부가 실시간으로 업데이트되며, 다른 사람이 상품을 구매하면 모든 사용자의 화면에서 상품이 사라지기도 한다. 이처럼 Node.js를 활용한 실용적인 예제로 구성했다.

     

    3판의 주요 변경 사항

    프레임워크와 모듈을 최신 버전으로 변경했고 Node.js LTS 버전에 맞춰 socket.io, ejs, jade, express, connect 모듈을 최신 버전으로 변경했다. 또한 기본적인 npm 명령어와 save 옵션, morgan 미들웨어, connect-multiparty 미들웨어, express-session 미들웨어, 커피스크립트 사용법 등을 추가했다. 변경된 API에 맞춰 예제 코드도 수정했다.

     

    동영상 강의 << 링크

     

     

    detail.jpg

     

     

  • [저자] 윤인성

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

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

     

  • PART I 소개

    CHAPTER 1 Node.js 개요

    __1.1 Node.js 배경사

    __1.2 이벤트 기반 비동기 방식

    __1.3 Node.js의 장단점

    __1.4 Node.js의 활용

     

    CHAPTER 2 Node.js 개발 환경 구축

    __2.1 LTS 버전과 Current 버전

    __2.2 윈도우 설치

    __2.3 우분투 설치

    __2.4 맥 설치

    __2.5 첫 번째 Node.js 애플리케이션

    __2.6 두 번째 Node.js 애플리케이션

     

    PART II 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 crypto 모듈

    __4.6 File System 모듈

     

    CHAPTER 5 이벤트

    __5.1 이벤트 연결

    __5.2 이벤트 연결 개수 제한

    __5.3 이벤트 제거

    __5.4 이벤트 강제 발생

    __5.5 이벤트 생성

     

    PART III Node.js를 사용한 웹 개발

    CHAPTER 6 http 모듈

    __6.1 요청과 응답

    __6.2 server 객체

    __6.3 response 객체

    __6.4 request 객체

     

    CHAPTER 7 외부 모듈

    __7.1 ejs 모듈

    __7.2 jade 모듈

    __7.3 서버 실행 모듈

    __7.4 기본적인 npm 명령어와 save 옵션

     

    CHAPTER 8 express 모듈

    __8.1 기본 서버

    __8.2 기본 응답 메서드

    __8.3 기본 요청 메서드

    __8.4 미들웨어 개요

    __8.5 router 미들웨어

    __8.6 static 미들웨어

    __8.7 morgan 미들웨어

    __8.8 cookie parser 미들웨어

    __8.9 body parser 미들웨어

    __8.10 connect-multiparty 미들웨어

    __8.11 express-session 미들웨어

    __8.12 RESTful 웹 서비스 개발

     

    CHAPTER 9 MySQL 데이터베이스

    __9.1 MySQL 설치

    __9.2 기본 명령어

    __9.3 mysql 모듈

    __9.4 mysql 모듈을 사용한 CRUD 구현

     

    CHAPTER 10 express 프레임워크

    __10.1 설치

    __10.2 프로젝트 생성 및 설정

    __10.3 기본 프로젝트

    __10.4 페이지 렌더링

    __10.5 레이아웃 페이지

    __10.6 실행 환경 설정

     

    CHAPTER 11 socket.io 모듈

    __11.1 socket.io 모듈 기본

    __11.2 소켓 통신 종류

    __11.3 방 생성

    __11.4 웹 채팅 프로그램

     

    PART IV Node.js 활용

    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.5 클라이언트 페이지 전체 코드

    __13.6 클라이언트 페이지 구현

    __13.7 정리 및 남은 과제

     

    CHAPTER 14 실시간 위치 추적

    __14.1 프로젝트 개요

    __14.2 프로젝트 생성

    __14.3 데이터베이스 구성

    __14.4 서버 전체 코드

    __14.5 서버 구현

    __14.6 클라이언트 전체 코드

    __14.7 Tracker 페이지 구현

    __14.8 Observer 페이지 구현

    __14.9 정리 및 남은 과제

     

    CHAPTER 15 실시간 온라인 그림판

    __15.1 프로젝트 개요

    __15.2 프로젝트 생성

    __15.3 서버 전체 코드

    __15.4 서버 구현

    __15.5 클라이언트 전체 코드

    __15.6 로비 페이지 구현

    __15.7 캔버스 페이지 구현

    __15.8 정리 및 남은 과제

     

    부록 A http 모듈과 net 모듈

    __A.1 net 모듈을 사용한 TCP 서버

    __A.2 net 모듈을 사용한 TCP 클라이언트

    __A.3 net 모듈을 사용한 HTTP 서버

    __A.4 net 모듈을 사용한 웹 소켓 서버

    __A.5 http 모듈을 사용한 웹 페이지 다운로드

     

    부록 B 중요한 추가 모듈

    __B.1 웹 요청 - request 모듈

    __B.2 HTML 파싱 - cheerio 모듈

    __B.3 파일 처리 - async 모듈

    __B.4 코드 흐름 관리 - async 모듈

    __B.5 멀티코어 처리 - cluster 모듈

    __B.6 디버그 - node-inspector 모듈

     

    부록 C 웹 개발 보조 프로그램

    __C.1 JSON Formatter 크롬 확장 프로그램

    __C.2 Postman 크롬 프로그램

     

    부록 D npm

    __D.1 패키지 매니저 사용자 등록

    __D.2 지역 모듈

    __D.3 전역 모듈

     

    부록 E 바이너리 모듈

    __E.1 사전 준비

    __E.2 바이너리 모듈 작성

    __E.3 바이너리 모듈 빌드

    __E.4 바이너리 모듈 사용

     

    부록 F MongoDB

    __F.1 설치

    __F.2 기본 명령어

    __F.3 mongojs 모듈

     

    부록 G 커피스크립트

    __G.1 커피스크립트 모듈

    __G.2 주석

    __G.3 함수 호출

    __G.4 변수 선언

    __G.5 문자열

    __G.6 조건문

    __G.7 비교 연산자와 논리 연산자

    __G.8 객체

    __G.9 범위 객체

    __G.10 반복문

    __G.11 리스트 내포

    __G.12 함수

    __G.13 클래스

    __G.14 프로토타입

    __G.15 상속

     

  • 이 책이 제시하는 핵심 내용

    자바스크립트 기반으로 서버 프로그래밍을 하는 Node.js 대표 입문서 『모던 웹을 위한 Node.js 프로그래밍』의 최신 개정판이다. 30개월의 안정적인 지원을 약속하는 Node.js LTS 버전에 맞춰 전면 개정했으며, 학습목표를 추가해 각 장별로 꼭 알아야 할 사항을 다시 한번 정리했다. 저자의 블로그(http://rintiantta.blog.me/220735487378)에서는 추후 버전 이슈 등으로 변경되는 사항을 정리하는 것은 물론이고, 지면의 한계로 다루지 못했던 여러 가지 내용을 설명하는 동영상 강의를 만날 수 있다.

     

    이 책의 특징과 장점

    -. 개발 환경 구축 → 주요 모듈 학습 → 예제 만들기를 통해 Node.js 기본을 이해한다.

    -. Node.js LTS 버전 기준 호환성 유지

    -. 동영상 강의 제공

     

    어떤 독자를 위한 책인가?

    -. 자바스크립트로 서버 서비스를 제공하려는 자바스크립트 개발자

    -. jQuery, jQuery Mobile과 함께 스마트폰, 태블릿, 노트북에 대응하는 멀티 플랫폼 앱 개발이 필요한 개발자

    -. 최신 Node.js의 변경 사항을 확인하려는 서버 개발자


    • 내 인생을 바꾼 단 하나의 책



      -「 모던 웹을 위한 node.js 프로그래밍」를 읽고 -


       



      ‘node.js’는 확장성 있는 네트워크 애플리케이션 개발에 사용되는 소프트웨어 플랫폼이다. node.js는 작성언어로 자바스크립트를 활용하여 단일 스레드 이벤트 루프를 통한 높은 처리성능을 가지고 있다. node.js는 내장 http 서버 라이브러리를 포함하고 있어 웹서버에서 아파치 등의 별도의 소프트웨어 없이 동작하는 것이 가능하며 이를 통해 웹서버의 동작에 있어서 더 많은 통제를 가능케 한다.



      쉽게 말하자면, 자바스크립트를 이용해 홈페이지를 만들기 위한 도구이다. 이러한 node.js를 배우기 위해 이 책을 읽은 이유는 단순했다. 홈페이지를 만들기 위해서였다. 지난 12월, 공주대학교의 강의평가홈페이지를 만들고 싶었다. 공주대학교의 강의를 듣기전에 보통 선배나 친구들에게 “이 강의가 어떤가?”하며 물어보며 선택을 하게 되는데 그렇게 해서 선택한 강의가 기대 이하였던 적이 많았다. “대체 한 학기를 책임지는 강의를 그렇게밖에 선택을 못할까? 그 강의를 들었던 사람들 전부가 평가를 하고 그걸 보게 된다면 좀 더 나은 선택을 하지 않을까?” 하는 생각이 들었다. 지금까지의 공주대학교 강의평가시스템은 그저 강의를 듣고 성적열람을 보기 위해서 꼭 평가를 해야하고 그 평가들은 우리들이 볼 수 없었다.



      이러한 문제점을 고치기 위해서 강의를 들은 사람들이 평가를 매기는 공개된 홈페이지 “공주대학교 강의평가홈페이지”를 만들기 위해서 컴퓨터앞에 앉았다. 홈페이지를 만들려고 보니 프로그래밍언어는 하나도 몰랐고, 홈페이지 개발 경력은 커녕, 홈페이지가 구조로 이루어져있는지도 몰랐다. 인터넷에 있는 자료들은 점조직처럼 체계화되어있지 않고, 인터넷에 나와있는 대로 해도 안되는 경우가 태반이었으며, 그 가이드대로하다가 내 컴퓨터가 악성코드가 걸리기 십상이었다.



      그렇게 허우적되다 2014년 4월이 되었다. 제대로 공부하기 위해선 책이 필요했다. 그렇게 해서 알아본 책이 모던웹을 위한 html5+css입문, javascript+jquery입문, 그리고 “모던웹을 위한 node.js프로그래밍”이었고, “모던웹을 위한 node.js프로그래밍” 이 책을 통해 공주대학교 강의평가홈페이지를 만들게 되었다고 해도 과언이 아니다.



      지금 존재하는 홈페이지중 거의 대부분은 mysql과 php를 사용해서 이루어져 있다. 그래서 거기에 관련된 자료들은 정말 많았다. 그러나 그 자료들을 보며 따라하다 실패를 반복하고, 흔해빠진 게시판 중심의 홈페이지가 거의 그걸로 이루어졌단 사실을 깨닫고 그런 사이트는 만들지 말아야 하는 생각이 들었다. 나는 나만의 독특하고 단순한 홈페이지를 만들고 싶었기 때문에 node.js를 이용해서 홈페이지를 만들게 되었다.



      이 책에는 node.js의 모듈에 대해 상당히 좋은 설명들이 있다. node.js의 모듈중에서는 express모듈, socket.io 모듈, mysql과 연동하는 예제 등 홈페이지를 만들 때 매우 필요한 지식들이 이 책에 가득히 들어가 있었다. 그 중 난 이 책의 mysql과 express모듈을 연동한 예제를 보고 착안하여 공주대학교의 모든 강의 4588개를 mysql을 통해 데이터베이스화 시키며, express모듈을 통해 클라이언트 페이지, 즉, 사람들에게 보여주는 페이지를 만들고 경로설정까지 하였다. 그리고 오랜 시행착오 끝에 도메인연결을 하고, cafe24란 원격저장소를 통해 홈페이지를 올리게 되었고 7월, 드디어 오픈하게 되었다. 지금은 최고조회수 25,000횟수를 기록했으며, 575개의 강의평이 등록되었다.



      그 후, 내 후배나 친구들이 싸이버강의나 어떤 강의를 신청할 때, 이 홈페이지를 보고 선택했다고 하는 걸 들으며 나는 이렇게 생각했다.



      ‘내가 세상을 바꿀 수 있다! 내가 다른 사람의 행동에 영향을 미칠 수 있다. ’



      스티브잡스가 이렇게 말했다.



      “당신의 인생은 그것보다 훨씬 장대할 수 있어요. 한가지 단순한 진실을 깨달으면 말이죠. 그것은 지금 당신이 인생이라고 일컷는 모든 것들이 당신보다 똑똑하지 않는 사람들에 의해 만들어졌다는 것과 당신이 그것을 바꿀 수 있고 그것에 영향을 미칠 수 있으며 다른 사람들이 이용할 수 있는 당신만의 무언가를 만들 수 있다는 사실입니다.”


       


       


       



      나에게 “모던웹을 위한 node.js프로그래밍”이란 책은 단순히 홈페이지를 만들기 위한 도구가 아니였다. 나의 생각을 바꿔줄, 나의 인생을 바꿔줄 도구였다.


       



      옛날에 쓴 글인데.. 있어서 적습니다. 정말 좋은 책입니다.

    • 한 권으로 끝내는 Node & Express(Node 4, Express 4 테스트 완료)

      이선 브라운

    • 모던 웹을 위한 JavaScript + jQuery 입문(개정판) : 자바스크립트에서 제이쿼리, 제이쿼리 모바일까지 한 권으로 끝낸다

      윤인성

    • 모던 웹 디자인을 위한 HTML5+CSS3 입문, 개정판

      윤인성

닫기

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