이미지 검색을 사용해 보세요
검색창 이전화면 이전화면
최근 검색어
인기 검색어

소득공제
Do it! Node.js 프로그래밍
전면개정판
베스트
IT 모바일 top20 7주
가격
35,000
10 31,500
YES포인트?
1,750원 (5%)
5만원 이상 구매 시 2천원 추가 적립
결제혜택
카드/간편결제 혜택을 확인하세요

이미 소장하고 있다면 판매해 보세요.

  •  해외배송 가능?
  •  문화비소득공제 가능

이지스퍼블리싱-Do it! 시리즈

이 상품의 시리즈 알림신청

이 상품의 태그

상세 이미지

책소개

목차

00 | 노드로 만들 수 있는 대표적인 서버와 용도
서버는 왜 필요할까?
대표적인 서버 유형은 어떤 것이 있을까?
웹 서버의 기능은 무엇일까?
채팅 서버의 중요한 기능은 무엇일까?
JSON-RPC 서버의 중요한 기능은 무엇일까?
위치 기반 서비스 서버의 중요한 기능은 무엇일까?
모바일 서버의 중요한 기능은 무엇일까?
이 책에서 만들어 볼 화면
웹 서버에 로그인과 회원가입 화면 만들기
채팅 서버에 사용자 목록과 일대일 채팅 화면 만들기
위치 기반 서비스 서버에 커피숍 검색 화면 만들기
01 | 노드에 대해 알아보고 개발 도구 설치하기
노드란 무엇일까?
노드의 비동기 입출력 방식
노드에서 구현하는 이벤트 기반 입출력 방식
노드를 더 쉽게 사용할 수 있게 하는 모듈
개발 도구 설치하기
설치할 프로그램 목록 미리 확인하기
브라켓 설치하기
크롬 브라우저 설치하기
브라켓 기본 사용 방법
노드 설치하기
02 | 노드 간단하게 살펴보기
첫 번째 노드 프로젝트 만들기
자바스크립트 파일 만들어 실행하기
브라켓의 확장 기능 설치하고 브라켓에서 노드 프로그램 실행하기
노드 셸에서 직접 코드 입력하고 실행하기
콘솔에 로그 뿌리기
프로세스 객체 간단하게 살펴보기
노드에서 모듈 사용하기
더하기 함수를 모듈로 간단히 분리하기
module.exports로 메인 파일에 더하기 함수 호출하기
외장 모듈 사용하기
간단한 내장 모듈 사용하기
시스템 정보를 알려 주는 os 모듈
파일 패스를 다루는 path 모듈
03 | 노드의 자바스크립트와 친해지기
자바스크립트의 객체와 함수 이해하기
변수로 자료형 알아보기
자바스크립트의 함수
배열 이해하기
배열의 모든 요소 하나씩 확인하기
배열에 값 추가 및 삭제하기
splice( ) 메소드로 배열 요소 여러 개를 한꺼번에 추가하거나 삭제하기
slice( ) 메소드로 배열 일부 요소 복사하여 새로운 배열 만들기
콜백 함수 이해하기
함수를 호출했을 때 또 다른 함수를 파라미터로 전달하는 방법
함수 안에서 값을 반환할 때 새로운 함수를 만들어 반환하는 방법
프로토타입 객체 만들기
04 | 노드의 기본 기능 알아보기
주소 문자열과 요청 파라미터 다루기
주소 문자열을 URL 객체로 변환하기
요청 파라미터 확인하기
이벤트 이해하기
이벤트 보내고 받기
계산기 객체를 모듈로 만들어 보기
파일 다루기
파일을 읽어 들이거나 파일에 쓰기
파일을 직접 열고 닫으면서 읽거나 쓰기
버퍼 객체 사용하는 방법 알아보기
스트림 단위로 파일 읽고 쓰기
http 모듈로 요청받은 파일 내용을 읽고 응답하기
fs 모듈로 새 디렉터리 만들고 삭제하기
로그 파일 남기기
Do it! 도전 문제 Mission01 / Mission02
05 | 웹 서버 만들기
간단한 웹 서버 만들기
클라이언트가 웹 서버에 요청할 때 발생하는 이벤트 처리하기
클라이언트에서 요청이 있을 때 파일 읽어 응답하기

파일을 스트림으로 읽어 응답 보내기
파일을 버퍼에 담아 두고 일부분만 읽어 응답 보내기
서버에서 다른 웹 사이트의 데이터를 가져와 응답하기
익스프레스로 웹 서버 만들기
새로운 익스프레스 서버 만들기
미들웨어로 클라이언트에 응답 보내기
여러 개의 미들웨어를 등록하여 사용하는 방법 알아보기
익스프레스의 요청 객체와 응답 객체 알아보기
익스프레스에서 요청 객체에 추가한 헤더와 파라미터 알아보기
미들웨어 사용하기
static 미들웨어
body-parser 미들웨어
요청 라우팅하기
라우터 미들웨어 사용하기
URL 파라미터 사용하기
오류 페이지 보여 주기
express-error-handler 미들웨어로 오류 페이지 보내기
토큰과 함께 요청한 정보 처리하기
쿠키와 세션 관리하기
쿠키 처리하기
세션 처리하기
파일 업로드 기능 만들기
multer 미들웨어 설치해서 파일 업로드하기
클라이언트의 요청 처리 함수 추가하기
Do it! 도전 문제 Mission03 / Mission04
06 | 데이터베이스 사용하기
몽고디비 시작하기
몽고디비란?
몽고디비 사용을 위한 프로그램 설치하기
몽고디비에 데이터를 추가하거나 조회하기
익스프레스에서 몽고디비 사용하기
새로운 프로젝트 만들기
mongodb 모듈을 사용하여 로그인 기능 만들기
사용자가 보내온 아이디와 비밀번호 비교하기
로그인 처리를 요청하는 패스에 라우팅 함수 추가하기
사용자 추가 기능 만들기
데이터베이스 관리 도구 사용하기
몽구스로 데이터베이스 다루기
몽구스 모듈 사용하기
몽구스로 사용자 인증하기
인덱스와 메소드 사용하기
사용자 리스트 조회 기능 추가하기
비밀번호 암호화하여 저장하기
virtual 함수 사용하기
스키마 객체의 virtual( ) 함수 사용법 알아보기
비밀번호 암호화하여 저장하는 코드 적용하기
MySQL 데이터베이스 사용하기
관계형 데이터베이스 간단하게 이해하기
MySQL 설치하기
화면이 있는 관리 도구 HeidiSQL 설치하기
MySQL을 사용하는 사용자 추가 기능 만들기
사용자 추가 요청을 처리하는 함수 만들기
MySQL에 들어 있는 사용자 정보로 로그인하기
Do it! 도전 문제 Mission05 / Mission06
07 | 익스프레스 프로젝트를 모듈화하기
모듈화 방법 자세히 살펴보기
다양한 방법으로 모듈 만들기
exports에 객체 지정하기
module.exports를 사용해서 객체를 그대로 할당하기
module.exports에 함수만 할당하기
exports와 module.exports를 함께 사용하기
require( ) 메소드의 동작 방식 이해하기
모듈을 분리할 때 사용하는 전형적인 코드 패턴
함수를 할당하는 코드 패턴
인스턴스 객체를 할당하는 코드 패턴
프로토타입 객체를 할당하는 코드 패턴
사용자 정보 관련 기능을 모듈화하기
스키마 파일을 별도의 모듈 파일로 분리하기
사용자 처리 함수를 별도의 모듈 파일로 분리해 보기
설정 파일 만들기
설정 파일 분리하기
설정 파일에 데이터베이스 스키마 정보 넣기
설정 파일에 라우팅 정보 넣기
UI 라이브러리로 웹 문서 예쁘게 꾸미기
Semantic UI 라이브러리로 웹 문서 꾸미기
Card 컴포넌트 추가하기
〈table〉 태그로 로그인 입력 상자와 버튼 추가하기
〈style〉 태그로 전체 화면 모양 만들기
로그인 카드를 모바일 화면에 맞도록 CSS 조정하기
반응형 웹으로 웹 문서를 구별해서 보여 주기
사용자 리스트 웹 문서 수정하기
사용자 조회에 응답하는 웹 문서 꾸미기
사용자 추가용 웹 문서 꾸미기
Do it! 도전 문제 Mission07 / Mission08


08 | 뷰 템플릿 적용하기
ejs 뷰 템플릿 사용하기
뷰 템플릿으로 로그인 웹 문서 만들기
뷰 템플릿으로 사용자 리스트 웹 문서 만들기
뷰 템플릿으로 사용자 추가 웹 문서 만들기
pug 뷰 템플릿 사용하기
pug로 HTML 문서 만들기
pug 템플릿으로 로그인 웹 문서 만들기
pug 템플릿으로 사용자 리스트 웹 문서 만들기
pug 템플릿으로 사용자 추가 웹 문서 만들기
Do it! 도전 문제 Mission09 / Mission10
09 | 패스포트로 사용자 인증하기
패스포트로 로그인하기
패스포트의 기본 사용 방법 살펴보기
플래시 메시지와 커스텀 콜백 이해하기
스트래티지 설정과 검증 콜백
로컬 인증하기
로컬 인증을 위해 데이터베이스 스키마와 패스포트 설정하기
로그인과 회원가입 화면을 만들기 위한 라우팅 함수 등록하기
로그인과 회원가입 화면을 만들기 위한 뷰 템플릿 만들기
로그인과 회원가입 기능 실행하여 확인하기
패스포트 관련 코드를 모듈화하기
페이스북으로 로그인하기
Do it! 도전 문제 Mission11 / Mission12
10 | 채팅 서버 만들기
socket.io 사용하기
socket.io를 사용하기 위해 모듈 설치하기
app.js 메인 파일에 기본 코드 하나씩 추가하기
사용자가 웹 브라우저에서 볼 웹 문서 만들기
서버에 보낸 메시지를 그대로 받기
일대일 채팅하기
그룹 채팅하기
방 만들기
그룹 채팅에서 메시지 보내기
채팅 웹 문서 예쁘게 꾸미기
Do it! 도전 문제 Mission13 / Mission14
11 | JSON-PRC 서버 만들기
JSON-PRC를 웹 서버에 적용하기
JSON-RPC 모듈 설치하여 사용하기
echo 함수 만들어 실행하기
echo 함수의 오류 테스트하기
계산기 모듈 추가하여 실행하기
1단계: 핸들러 모듈 파일 만들기
2단계: 핸들러 모듈 파일 등록하기
3단계: 클라이언트 웹 문서에서 호출하기
데이터베이스에서 사용자 리스트 조회하기
데이터 부분을 암호화하기
Do it! 도전 문제 Mission15 / Mission16
12 | 위치 기반 서비스 서버 만들기
커피숍 위치 저장하기
커피숍의 위치 정보 다루기
커피숍 스키마 만들기
커피숍 정보를 추가하고 커피숍 리스트 조회하기
가장 가까운 커피숍 찾기
영역 안의 커피숍 찾기
반경 안의 커피숍 찾기
지도에 커피숍의 위치 표시하기
지도에 내 위치 보여 주기
가장 가까운 커피숍을 찾아 지도 위에 보여 주기
일정 범위 안의 커피숍을 찾아 지도 위에 보여 주기
Do it! 도전 문제 Mission17 / Mission18
13 | 모바일 서버 만들기
모바일 단말에서 웹 서버로 요청하기
안드로이드 앱 개발 도구 설치하기
실제 모바일 단말에 연결하기
모바일용 서버 프로젝트 만들기
안드로이드 앱 프로젝트 만들기
모바일 단말 관리 기능 만들기
데이터베이스 스키마 추가하기
라우팅 함수 추가하기
단말 정보 추가를 요청하는 앱 만들기
웹 브라우저에서 단말 리스트 조회하기
모바일 단말로 푸시 메시지 전송하기
단말의 등록 ID를 확인하여 모바일 서버로 전송하기
웹 브라우저에서 푸시 메시지 전송하기
Do it! 도전 문제 Mission19 / Mission20
14 | 게시판 만들기
스키마를 추가하고 페이지 단위 조회 방식 이해하기
페이지 단위로 조회하기
글쓰기와 글 조회 기능 만들기
페이지 단위로 글 목록 조회하기
1단계 - 라우팅 함수 만들기
2단계 - config.js 파일에 라우팅 함수 등록하기
3단계 - 응답 웹 문서를 구성할 뷰 템플릿 만들기
4단계 - 글 목록 조회를 요청하는 웹 페이지 만들기
Do it! 도전 문제 Mission21 / Mission22
15 | 클라우드에 올리기
Git 클라이언트 설치하기
헤로쿠 클라우드에 올리기
헤로쿠 사이트에 회원가입하고 앱 만들기
Heroku CLI 설치하기
배포하기 위한 설치 및 준비하기
소스 업로드하기
오픈시프트 클라우드에 올리기
아마존 클라우드에 올리기
배포에 필요한 기능 알아보기
비정상으로 종료되었을 때 자동으로 다시 시작하기
클러스터링 사용하기
레디스 사용하기
레디스로 subscribe〈 publish 하기
채팅 서버에서 레디스를 사용하는 샘플

저자 소개 1

현재 서울디지털대학교 초빙 교수이자 IT 기업의 CTO이기도 한 정재곤 박사는 모바일 전문 컨설팅으로 바쁜 일상을 보내고 있다. 아이폰과 안드로이드 도입 이전부터 T-아카데미에서 앱과 웹 분야의 전문 강의를 진행하였으며, 국내 대기업의 개발자들을 대상으로 한 강의와 여러 곳의 대학 특강을 통해 실무 전문가, 강사, 대학생 등을 가르쳐 왔다. 최신 IT 트렌드와 각종 프로그래밍 과정의 교육 커리큘럼을 개발하였으며, 미국과 일본 등 해외에서 최신 기술을 적용하는 프로젝트에 관여하고 있다. 항상 독자에게 무엇이 필요한지 고민한 후 비로소 집필하는 도서의 서문을 적어나가는 저자이기도 하
현재 서울디지털대학교 초빙 교수이자 IT 기업의 CTO이기도 한 정재곤 박사는 모바일 전문 컨설팅으로 바쁜 일상을 보내고 있다. 아이폰과 안드로이드 도입 이전부터 T-아카데미에서 앱과 웹 분야의 전문 강의를 진행하였으며, 국내 대기업의 개발자들을 대상으로 한 강의와 여러 곳의 대학 특강을 통해 실무 전문가, 강사, 대학생 등을 가르쳐 왔다. 최신 IT 트렌드와 각종 프로그래밍 과정의 교육 커리큘럼을 개발하였으며, 미국과 일본 등 해외에서 최신 기술을 적용하는 프로젝트에 관여하고 있다. 항상 독자에게 무엇이 필요한지 고민한 후 비로소 집필하는 도서의 서문을 적어나가는 저자이기도 하다.

? 서울디지털대학교 컴퓨터공학과 초빙 교수
? ㈜ 유엔에스네트웍스 CTO
? 서울대학교 대학원 박사, GIS 전공
? SK텔레콤 T-아카데미 전문 강사
? 웹, 안드로이드, iOS 커리큘럼 등 교육 커리큘럼 개발 다수
? 국내/ 해외 모바일 앱 및 웹 서비스 컨설팅/ 설계/ 개발 경력 20년 이상
? 웹 서비스, 서버 플랫폼, 모바일 서버, 모바일 기기용 자바 VM 설계/ 개발 등 다수

[집필 도서]
?The 친절한 코틀린 앱 프로그래밍?, 2021년
?The 친절한 자바 입문?, 2021년
?Do it! 안드로이드 앱 프로그래밍?, 2020년(개정7판)
?The 친절한 Swift 프로그래밍 Zero?, 2018년
?Do it! Node.js 프로그래밍?, 2017년(전면 개정판)
?자바+안드로이드를 다루는 기술?, 2014년

정재곤의 다른 상품

저자 : 정재곤
e-메일 : mike.jung.global@gmail.com

4년 연속 IT 베스트셀러인 『Do it! 안드로이드 앱 프로그래밍』의 저자. 현재 서울디지털대학교 초빙 교수이자 벤처 기업의 CTO이기도 한 정재곤 박사는 모바일 전문 컨설팅으로 바쁜 일상을 보내고 있다. T아카데미에서 앱과 웹 분야의 전문 강의를 진행하고 있으며, 국내 대기업의 개발자들을 대상으로 한 강의와 여러 곳의 대학 특강을 통해 실무 전문가, 강사, 대학생 등을 가르쳐 왔다. 최신 IT 트렌드와 각종 프로그래밍 과정의 교육 커리큘럼을 개발하였으며, 미국과 일본 등 해외에서 최신 기술을 적용하는 프로젝트에 관여하고 있다.

약력
서울디지털대학교 컴퓨터공학과 초빙 교수
㈜ 유엔에스네트웍스 CTO
서울대학교 대학원 박사, GIS 전공
SK텔레콤 T아카데미 전문 강사
SK텔레콤 T아카데미 안드로이드 커리큘럼 등 교육 커리큘럼 개발 다수
국내/ 해외 모바일 앱 및 웹 서비스 컨설팅/ 설계/ 개발 경력 10년 이상
웹 서비스, 서버 플랫폼, 모바일 서버, 모바일 기기용 자바 VM 설계/ 개발 등 다수

집필 도서
『Do it! 안드로이드 앱 프로그래밍 - 개정 4판』(2017년)
『자바+안드로이드를 다루는 기술』(2014년)

품목정보

발행일
2017년 03월 06일
쪽수, 무게, 크기
704쪽 | 1440g | 188*257*28mm
ISBN13
9791187370802
크기.체중의 한계
상세 설명 참조

만든이 코멘트

안녕하세요 이 책의 편집자입니다.
2018-12-05
이 책을 사랑해 주시는 독자 여러분 안녕하세요?

그동안 여러분이 이 책에 보내주신 소중한 의견을 모아
《Do it! Node.js 프로그래밍》을 더 편하게 공부할 수 있도록 안내하는 가이드 문서를 만들었습니다.

공부에 많은 도움이 되었으면 좋겠습니다.

{ npm 설치 가이드 및 정오표 확인하기 }
https://drive.google.com/file/d/1jK0rAUwZpi2ilmCsbd5NAZvYDmV2DFM5/view
안녕하세요 이 책의 편집자입니다.
2018-11-29
?이 책을 사랑해 주시는 독자 여러분 안녕하세요?

그동안 여러분이 이 책에 보내주신 소중한 의견을 모아 《Do it! Node.js 프로그래밍》을 더 편하게 공부할 수 있도록 안내하는 가이드 문서를 만들었습니다. 공부에 많은 도움이 되었으면 좋겠습니다. ?

●● 관련 자료는 아래 링크에서 확인할 수 있습니다. ●●
https://drive.google.com/open?id=1jK0rAUwZpi2ilmCsbd5NAZvYDmV2DFM5


이 책으로 공부하기 전에

● 이 책은 실습을 진행하며 npm을 자주 사용합니다
npm(Node Package Manager)은 노드의 모듈을 관리(설치 및 삭제)하는 프로그램입니다. 아주 간단한 구조의 서버를 만들 때는 모듈이 많이 필요하지 않겠죠? 즉, 처음부터 모든 모듈을 설치할 필요가 없습니다. 이 책은 모듈이 필요할 때 npm으로 모듈을 설치하도록 안내합니다. 만약 모듈을 그때그때 설치하는 것이 번거롭다면 이 문서의 ①을 참고하세요. 각 챕터를 진행하기 전에 설치해야 하는 모듈을 정리해 놓았습니다.

● 이 책의 소스코드 참고하는 방법
이 책의 본문에 실린 소스코드의 일부는 생략되어 있습니다. 만약 소스코드 전체를 확인하려면 이지스퍼블리싱 [자료실]에서 Node.js를 검색하여 실습 파일을 압축해 놓은 것(brackets_nodejs.zip)을 다운로드하세요. 그런 다음 ‘참조 파일’에 위치한 파일을 찾아 참고하면 됩니다.

● 수정된 소스코드 안내
업데이트된 모듈을 사용하기 위하여 일부 소스코드가 수정되었습니다. 자세한 내용은 이 문서의 ②를 참고하세요.

Chapter 4 → ch04_test15.js 파일 (본문 129쪽)
Chapter 7 → route_loader.js 파일 (본문 314쪽)

● 정오표를 확인하세요
여러분이 질문한 내용을 정오표에 정리해 두었습니다. 다음은 본문을 보완한 쪽수를 정리한 표입니다. 자세한 내용은 이 문서의 ③을 참고하세요.

출판사 리뷰

서버 개발, 처음 시작하나요?
《Do it! Node.js 프로그래밍》과 함께 쉽고 빠른 Node.js를 만나 보세요!

이 책은 실제로 실무에서 사용하는 코드를 중심으로 구성하였습니다. 만약 여러분이 프로젝트에 투입되어 지금 당장 서버를 만들어야 한다면, 이 책을 빠르게 훑어보세요. 책에서 제공하는 서버 프로그램을 약간만 수정하면 바로 실무에 사용할 수 있습니다.

* 서버 제작 코드를 사용 목적에 맞게 수정해서 서비스하는 Node.js의 A to Z이 책은 Node.js를 서버 프로그래밍 실무에 적용할 때 필요한 내용을 모두 담았습니다. 이 책의 예제들은 단편적인 코드만 나열해서 해당 코드의 정의만 내리지 않고, 단계별로 하나씩 만들게 하므로 레고 블록 쌓듯 완성품을 만들 수 있습니다. 웹 서버를 기본으로 각각 다른 서버로 변경하는 서버 개발을 총망라하고 있으니 여러분도 지금 당장 시작해 보세요!

* 누구나 쉽게 개발할 수 있는 5가지 서버 분야 총망라!
당신은 웹 개발자? 앱 개발자? 아니면 윈도우 프로그램 개발자인가요? 당신이 어떤 서비스를 만드는 개발자이든, 이 책은 필요한 서버를 만들면서 “서버, 그렇게 어렵지 않네? 서버를 만드는 일이 조금은 쉬워졌어!”라고 말할 수 있도록 상세한 내용을 다룹니다. 그리고 누구나 쉽게 접할 수 있는 쉬운 자바스크립트 언어를 사용하기 때문에 개발자의 목적에 맞는 서버를 짧은 코드로 쉽게 만들 수 있습니다.

* 『Do it! Node.Js 프로그래밍』 전면 개정판! 무엇이 달라졌나요?
1. 초판과 개정판의 주요 차이점
Do it! Node.js 프로그래밍 책의 초판과 개정판의 주요 차이점은 개발 도구입니다. 다소 어렵게 느껴지는 이클립스 대신, 개정판에서는 브라우저에서 쉽게 디자인할 수 있는 모던 텍스트 에디터인 ‘브라켓’을 사용합니다. Node.js 최신 버전을 사용한다는 점은 동일합니다.
또한 Express 최신 버전을 사용하려는 독자들의 요구를 반영하여 개정판에서는 Express와 일부 모듈을 최신 버전으로 업데이트했습니다.

2. 초판을 구입한 독자들에게 개정판 PDF 제공
초판을 구입한 독자들을 위해 새로 변경된 개발 도구 사용 방법에 대한 PDF 파일을 이지스퍼블리싱 홈페이지(www.easyspub.co.kr)에서 무료로 제공합니다.
브라켓이라는 개발 도구의 사용 방법을 알고 나면 제공되는 개정판 소스 파일을 브라켓에서 사용할 수 있습니다. 책에서 다루는 내용은 동일하므로 최신 버전에 맞게 변경된 소스 부분을 참조하면 됩니다.

* 동영상 강의&저자 Q&A로 학습 효율을 절정으로 끌어 올리세요!
쉬운 Node.js를 더욱 쉽게 익힐 수 있는 저자 직강 동영상 강의가 유튜브에 무료로 공개되어 있습니다. 공부하다 궁금한 점이 생기면 저자가 운영하는 사이트(http://tech-town.org)를 이용해 보세요!

* 혼자 이 책을 공부하기가 막막하신가요?
Do it! 스터디룸(cafe.naver.com/doitstudyroom)에서 이 책을 같이 공부할 친구를 찾아보세요. Node.js뿐 아니라 다른 IT 도서도 스터디할 수 있습니다.

리뷰/한줄평35

리뷰

7.8 리뷰 총점

한줄평

8.4 한줄평 총점

클린봇이 부적절한 글을 감지 중입니다.

설정