Node.js 교과서
해외주문/바로드림/제휴사주문/업체배송건의 경우 1+1 증정상품이 발송되지 않습니다.
패키지
북카드
키워드 Pick
키워드 Pick 안내
관심 키워드를 주제로 다른 연관 도서를 다양하게 찾아 볼 수 있는 서비스로, 클릭 시 관심 키워드를 주제로 한 다양한 책으로 이동할 수 있습니다.
키워드는 최근 많이 찾는 순으로 정렬됩니다.
Node.js 14로, 노드의 기본부터 실무까지 전 과정 총망라!
다양한 서비스를 직접 만드는, 실무에 가장 가까운 강의!
이 책은 프런트부터 서버, 데이터베이스, 배포까지 아우르는 광범위한 내용을 다룬다. 군더더기 없는 직관적인 설명으로 기본 개념을 확실히 이해하고, 노드의 기능과 생태계를 사용해보면서 실제로 동작하는 서버를 만들어보자. 예제와 코드는 최신 문법을 사용했고 실무에 참고하거나 당장 적용할 수 있다.
작가정보
문과 출신이지만, 자바스크립트를 통해 프로그래밍의 매력에 빠졌다. 지금은 스타트업에서 CTO로 일하며 데이터 수집, 정제와 오픈 소스 기여에 관심이 많다. 개인적으로는 블로그와 유튜브를 운영 중이며 온라인 강좌를 진행하고 있다.
- 깃허브 ㆍ https://github.com/zerocho
- 블로그 ㆍ https://www.zerocho.com
- 유튜브 ㆍ https://www.youtube.com/c/zerochotv
- 강좌 ㆍ https://www.inflearn.com/courses?s=조현영
목차
- 1장 노드 시작하기
__1.1 핵심 개념 이해하기
____1.1.1 서버
____1.1.2 자바스크립트 런타임
____1.1.3 이벤트 기반
____1.1.4 논 블로킹 I/O
____1.1.5 싱글 스레드
__1.2 서버로서의 노드
__1.3 서버 외의 노드
__1.4 개발 환경 설정하기
____1.4.1 노드 설치하기
____1.4.2 npm 버전 업데이트하기
____1.4.3 비주얼 스튜디오 코드 설치하기
__1.5 함께 보면 좋은 자료
2장 알아두어야 할 자바스크립트
__2.1 ES2015+
____2.1.1 const, let
____2.1.2 템플릿 문자열
____2.1.3 객체 리터럴
____2.1.4 화살표 함수
____2.1.5 구조분해 할당
____2.1.6 클래스
____2.1.7 프로미스
____2.1.8 async/await
__2.2 프런트엔드 자바스크립트
____2.2.1 AJAX
____2.2.2 FormData
____2.2.3 encodeURIComponent, decodeURIComponent
____2.2.4 데이터 속성과 dataset
__2.3 함께 보면 좋은 자료
3장 노드 기능 알아보기
__3.1 REPL 사용하기
__3.2 JS 파일 실행하기
__3.3 모듈로 만들기
__3.4 노드 내장 객체 알아보기
____3.4.1 global
____3.4.2 console
____3.4.3 타이머
____3.4.4 __filename, __dirname
____3.4.5 module, exports, require
____3.4.6 process
__3.5 노드 내장 모듈 사용하기
____3.5.1 os
____3.5.2 path
____3.5.3 url
____3.5.4 querystring
____3.5.5 crypto
____3.5.6 util
____3.5.7 worker_threads
____3.5.8 child_process
____3.5.9 기타 모듈들
__3.6 파일 시스템 접근하기
____3.6.1 동기 메서드와 비동기 메서드
____3.6.2 버퍼와 스트림 이해하기
____3.6.3 기타 fs 메서드 알아보기
____3.6.4 스레드풀 알아보기
__3.7 이벤트 이해하기
__3.8 예외 처리하기
____3.8.1 자주 발생하는 에러들
__3.9 함께 보면 좋은 자료
4장 http 모듈로 서버 만들기
__4.1 요청과 응답 이해하기
__4.2 REST와 라우팅 사용하기
__4.3 쿠키와 세션 이해하기
__4.4 https와 http2
__4.5 cluster
__4.6 함께 보면 좋은 자료
5장 패키지 매니저
__5.1 npm 알아보기
__5.2 package.json으로 패키지 관리하기
__5.3 패키지 버전 이해하기
__5.4 기타 npm 명령어
__5.5 패키지 배포하기
__5.6 함께 보면 좋은 자료
6장 익스프레스 웹 서버 만들기
__6.1 익스프레스 프로젝트 시작하기
__6.2 자주 사용하는 미들웨어
____6.2.1 morgan
____6.2.2 static
____6.2.3 body-parser
____6.2.4 cookie-parser
____6.2.5 express-session
____6.2.6 미들웨어의 특성 활용하기
____6.2.7 multer
__6.3 Router 객체로 라우팅 분리하기
__6.4 req, res 객체 살펴보기
__6.5 템플릿 엔진 사용하기
____6.5.1 퍼그(제이드)
____6.5.2 넌적스
____6.5.3 에러 처리 미들웨어
__6.6 함께 보면 좋은 자료
7장 MySQL
__7.1 데이터베이스란?
__7.2 MySQL 설치하기
____7.2.1 윈도
____7.2.2 맥
____7.2.3 리눅스(우분투)
__7.3 워크벤치 설치하기
____7.3.1 윈도
____7.3.2 맥
____7.3.3 리눅스(우분투)
____7.3.4 커넥션 생성하기
__7.4 데이터베이스 및 테이블 생성하기
____7.4.1 데이터베이스 생성하기
____7.4.2 테이블 생성하기
__7.5 CRUD 작업하기
____7.5.1 Create(생성)
____7.5.2 Read(조회)
____7.5.3 Update(수정)
____7.5.4 Delete(삭제)
__7.6 시퀄라이즈 사용하기
____7.6.1 MySQL 연결하기
____7.6.2 모델 정의하기
____7.6.3 관계 정의하기
____7.6.4 쿼리 알아보기
____7.6.5 쿼리 수행하기
__7.7 함께 보면 좋은 자료
8장 몽고디비
__8.1 NoSQL vs. SQL
__8.2 몽고디비 설치하기
____8.2.1 윈도
____8.2.2 맥
____8.2.3 리눅스(우분투)
__8.3 컴퍼스 설치하기
____8.3.1 윈도
____8.3.2 맥
____8.3.3 리눅스(우분투)
____8.3.4 커넥션 생성하기
__8.4 데이터베이스 및 컬렉션 생성하기
__8.5 CRUD 작업하기
____8.5.1 Create(생성)
____8.5.2 Read(조회)
____8.5.3 Update(수정)
____8.5.4 Delete(삭제)
__8.6 몽구스 사용하기
____8.6.1 몽고디비 연결하기
____8.6.2 스키마 정의하기
____8.6.3 쿼리 수행하기
__8.7 함께 보면 좋은 자료
9장 익스프레스로 SNS 서비스 만들기
__9.1 프로젝트 구조 갖추기
__9.2 데이터베이스 세팅하기
__9.3 Passport 모듈로 로그인 구현하기
____9.3.1 로컬 로그인 구현하기
____9.3.2 카카오 로그인 구현하기
__9.4 multer 패키지로 이미지 업로드 구현하기
__9.5 프로젝트 마무리하기
____9.5.1 스스로 해보기
____9.5.2 핵심 정리
__9.6 함께 보면 좋은 자료
10장 웹 API 서버 만들기
__10.1 API 서버 이해하기
__10.2 프로젝트 구조 갖추기
__10.3 JWT 토큰으로 인증하기
__10.4 다른 서비스에서 호출하기
__10.5 SNS API 서버 만들기
__10.6 사용량 제한 구현하기
__10.7 CORS 이해하기
__10.8 프로젝트 마무리하기
____10.8.1 스스로 해보기
____10.8.2 핵심 정리
____10.8.3 함께 보면 좋은 자료
11장 노드 서비스 테스트하기
__11.1 테스트 준비하기
__11.2 유닛 테스트
__11.3 테스트 커버리지
__11.4 통합 테스트
__11.5 부하 테스트
__11.6 프로젝트 마무리하기
____11.6.1 스스로 해보기
____11.6.2 핵심 정리
12장 웹 소켓으로 실시간 데이터 전송하기
__12.1 웹 소켓 이해하기
__12.2 ws 모듈로 웹 소켓 사용하기
__12.3 Socket.IO 사용하기
__12.4 실시간 GIF 채팅방 만들기
__12.5 미들웨어와 소켓 연결하기
__12.6 채팅 구현하기
__12.7 프로젝트 마무리하기
____12.7.1 스스로 해보기
____12.7.2 핵심 정리
____12.7.3 함께 보면 좋은 자료
13장 실시간 경매 시스템 만들기
__13.1 프로젝트 구조 갖추기
__13.2 서버센트 이벤트 사용하기
__13.3 스케줄링 구현하기
__13.4 프로젝트 마무리하기
____13.4.1 스스로 해보기
____13.4.2 핵심 정리
____13.4.3 함께 보면 좋은 자료
14장 CLI 프로그램 만들기
__14.1 간단한 콘솔 명령어 만들기
__14.2 commander, inquirer 사용하기
__14.3 프로젝트 마무리하기
____14.3.1 스스로 해보기
____14.3.2 핵심 정리
____14.3.3 함께 보면 좋은 자료
15장 AWS와 GCP로 배포하기
__15.1 서비스 운영을 위한 패키지
____15.1.1 morgan과 express-session
____15.1.2 시퀄라이즈
____15.1.3 cross-env
____15.1.4 sanitize-html, csurf
____15.1.5 pm2
____15.1.6 winston
____15.1.7 helmet, hpp
____15.1.8 connect-redis
____15.1.9 nvm, n
__15.2 깃과 깃허브 사용하기
____15.2.1 깃 설치하기
____15.2.2 깃허브 사용하기
__15.3 AWS 시작하기
__15.4 AWS에 배포하기
__15.5 GCP 시작하기
__15.6 GCP에 배포하기
__15.7 함께 보면 좋은 자료
16장 서버리스 노드 개발
__16.1 서버리스 이해하기
__16.2 AWS S3 사용하기
__16.3 AWS 람다 사용하기
__16.4 구글 클라우드 스토리지 사용하기
__16.5 구글 클라우드 펑션스 사용하기
__16.6 함께 보면 좋은 자료
찾아보기
추천사
-
각 장별로 설치 및 실행, 사용 방법, 이유 등을 상세히 설명해주고, 초보자를 위한 코드 설명과 참고 자료 링크도 많습니다. 또한, 공부하는 데 가장 중요한 에러 메시지를 같이 살펴보면서, 에러 메시지의 중요성도 다루고 있습니다. 불친절하게 느껴지는 에러 메시지를 이 책에서는 쉽게 설명해줍니다.
-
이번 개정판은 초판에서 독자들이 궁금해하던 내용을 보완함으로써 Node.js에 대한 문턱을 더 낮췄다고 생각합니다. 개념 설명과 함께 항상 예제 코드를 제공하여 단순히 이론을 설명하는 데만 그치는 것이 아니라 활용 방법까지 충실히 설명한다는 점, 후반부에서는 배포까지 진행해보면서 실제 웹 서비스가 어떻게 이루어지는지 보여주는 점이 인상적이었습니다.
-
실습이 잘 구성되어 있으므로 반드시 직접 해보면서 서버의 개념을 이해하는 것이 좋습니다. 서버에 입문하는 분, 노드를 최신 문법에 맞춰서 개발하고 싶은 분에게 추천합니다.
-
이 책에 대한 저의 한줄평은 ‘Node.js의 처음과 끝이 적혀 있는 모범적인 교과서’입니다. Node.js를 경험해본 개발자이자 노드의 처음과 끝을 탐구하려는 개발자에게 권합니다.
-
매우 흥미로웠던 부분은 후반부에 노드 서비스 테스트를 다루는 항목입니다. 노드로 유닛 테스트, 통합 테스트, 부하 테스트까지 다루니, 실무에서 활용하기에 모자람이 없습니다. 이 책을 통해 노드의 프레임워크부터 새롭게 추가된 기능들, 실무에 바로 적용해도 괜찮은 양질의 지식을 함께 얻어 가기를 추천합니다.
-
개인적으로 10년 이상 자바스크립트를 사용해왔지만 이벤트, 논 블로킹 I/O, 스레드 등의 자바스크립트 메커니즘을 이처럼 알기 쉽게 요약한 레퍼런스는 처음 접했습니다. 더불어 Node.js 이전에 다른 기술 진영에서 오랫동안 고민하며 개선해온 노하우가 책에 두루 녹아 있습니다.
출판사 서평
기본기는 확실하게 다지고, 시행착오는 줄이자!
노드의 개념과 기능을 익히고, 직접 서버를 만들고, 배포하는 전 과정을 한 권에 담았습니다. 노드의 핵심 개념인 런타임, 이벤트 기반, 논 블로킹 I/O, 싱글 스레드 모델을 확실히 이해한 뒤, 내장 객체와 내장 모듈을 사용해보면서 기능을 습득하세요. 데이터베이스인 MySQL과 몽고디비, 패키지 매니저인 npm, 웹 서버 프레임워크인 익스프레스, 템플릿 엔진인 퍼그와 넌적스 등 노드 생태계를 배우며 실제로 동작하는 서버를 만들고, AWS와 GCP를 통해 배포해보세요!
실무에서 활용할 수 있는 지식, 코드, 예제!
노드와 함께 사용하는 템플릿 엔진과 모듈에 대해 상세히 설명하여 실무 활용도를 높였습니다. 실제로
응용할 수 있는 다양한 예제를 효율성 높고, 가독성 좋은 코드로 만들어 수록했습니다.
- 웹 서버 : 익스프레스, 넌적스, Router로 라우팅 객체 분리
- SNS 서비스 : multer, axios, MySQL, 시퀄라이즈
- 웹 API 서버 : JWT 토큰, 호출 서버, 사용량 제한
- 노드 서비스 테스트 : 유닛 테스트, 통합 테스트, 부하 테스트
- 실시간 GIF 채팅방 : 몽고디비, 몽구스, 웹소켓, Socket.IO
- 경매 시스템 : 서버센트 이벤트, 스케줄링
- 커맨드라인 인터페이스(CLI) : commander, inquirer
실무 코드라면 ES2015+ 문법으로!
2015년 자바스크립트 문법에 큰 변화가 있었고, 그 후에도 매년 새로운 버전으로 업데이트되고 있습니다. 노드도 이 문법을 반영하여 주기적으로 버전을 업데이트합니다. 실무에서는 대부분 ES2015 이상의 자바스크립트, 즉 ES2015+를 사용하고, 이 책의 코드도 그렇습니다. 이 책을 통해 새로운 문법의 기본 개념을 익히고, 실무에서도 응용해보세요
[지은이 서문]
단순히 입문서로서 기본적인 내용을 설명하는 데 그치지 않고, 실무에서 자주 사용하는 코딩 스타일(최신 문법과 폴더 구조)과 패키지 위주로 내용을 구성했습니다. 나중에 실무를 할 때 이 책의 소스 코드를 가져다 써도 되는데, 실무 코드와 이 책의 내용을 비교해보면 큰 틀에서 거의 차이가 없다는 사실을 알게 될 것입니다. 웹 생태계가 너무 급변한다고 걱정하시는 분들이 많은 터라 변하지 않는 개념과 원리 중심으로 설명하고자 했습니다. 2~3년이 지나도 유용한 내용을 담는 것이 이 책의 목표입니다.
- 지은이 서문 중에서
기본정보
ISBN | 9791165212308 | ||
---|---|---|---|
발행(출시)일자 | 2020년 07월 25일 | ||
쪽수 | 756쪽 | ||
크기 |
181 * 233
* 35
mm
/ 1322 g
|
||
총권수 | 1권 | ||
이 책의 개정정보 |
새로 출시된 개정판이 있습니다.
개정판보기
|
Klover
e교환권은 적립 일로부터 180일 동안 사용 가능합니다.
리워드는 작성 후 다음 날 제공되며, 발송 전 작성 시 발송 완료 후 익일 제공됩니다.
리워드는 리뷰 종류별로 구매한 아이디당 한 상품에 최초 1회 작성 건들에 대해서만 제공됩니다.
판매가 1,000원 미만 도서의 경우 리워드 지급 대상에서 제외됩니다.
일부 타인의 권리를 침해하거나 불편을 끼치는 것을 방지하기 위해 아래에 해당하는 Klover 리뷰는 별도의 통보 없이 삭제될 수 있습니다.
- 도서나 타인에 대해 근거 없이 비방을 하거나 타인의 명예를 훼손할 수 있는 리뷰
- 도서와 무관한 내용의 리뷰
- 인신공격이나 욕설, 비속어, 혐오발언이 개재된 리뷰
- 의성어나 의태어 등 내용의 의미가 없는 리뷰
리뷰는 1인이 중복으로 작성하실 수는 있지만, 평점계산은 가장 최근에 남긴 1건의 리뷰만 반영됩니다.
구매 후 리뷰 작성 시, e교환권 200원 적립
문장수집
e교환권은 적립 일로부터 180일 동안 사용 가능합니다. 리워드는 작성 후 다음 날 제공되며, 발송 전 작성 시 발송 완료 후 익일 제공됩니다.
리워드는 한 상품에 최초 1회만 제공됩니다.
주문취소/반품/절판/품절 시 리워드 대상에서 제외됩니다.
구매 후 리뷰 작성 시, e교환권 100원 적립