장바구니 담기 close

장바구니에 상품을 담았습니다.

Node.js로 프로그래밍 시작하기

Node.js로 프로그래밍 시작하기

  • 조나단웩슬러
  • |
  • 에이콘출판
  • |
  • 2020-01-31 출간
  • |
  • 548페이지
  • |
  • 188 X 235 X 25 mm
  • |
  • ISBN 9791161753829
판매가

36,000원

즉시할인가

32,400

배송비

무료배송

(제주/도서산간 배송 추가비용:3,000원)

수량
+ -
총주문금액
32,400

※ 스프링제본 상품은 반품/교환/환불이 불가능하므로 신중하게 선택하여 주시기 바랍니다.

출판사서평




★ 이 책에 쏟아진 찬사 ★

"Node.js로 가는 길을 실용적이고 명료하게 제시한다"
카일리 심슨(Kyle Simpson), Getify

"JavaScript 프로그래머를 한 주 안에 Node 닌자로 키워준다"
조셉 화이트(Joseph White), Joecasa Consulting

"최신 기술을 사용해 Node.js 앱 개발을 단계별로 안내해주는 위대한 책"
제레미 랭(Jeremy Lange), Sertifi

"Node의 핵심을 배우고 빠른 생산성을 갖추기 위한 모범이 되는 책"
비풀 굽타(Vipul Gupta), Microsoft

"이해하기 쉬우면서 모던하고 재미있는 Node.js 안내서"
브라이스 달링(Bryce Darling), Advanced Data & Network Solutions

★ 이 책에서 다루는 내용 ★

■ ES2015 이후의 새로운 기능들
■ 비동기 코드 작성
■ 데이터 모델 생성
■ JavaScript 모듈 디버깅


★ 이 책의 대상 독자 ★

웹 애플리케이션을 빌드하고자 Node.js 및 관련 도구를 배우는 데 관심이 있는 독자를 위한 책이다. 이미 JavaScript에 친숙하지만 웹 개발 경험이 없다면 더욱 유용할 것이다.
프로젝트 기반으로 구성돼 있어 각자 컴퓨터에서의 실습에 익숙해야 한다. 백엔드나 서비스 기술에 배경지식은 이 책을 이해하는 데 큰 도움이 될 것이다. 신입 개발자라면 다음 기술에 익숙해져야 한다.
■ JavaScript
■ HTML
■ CSS
■ 터미널/CLI
JavaScript ES6 엔진에 관한 지식은 도움은 되지만 필수는 아니다.


★ 이 책의 구성 ★

0부에서는 시작에 필요한 배경지식을 제공하고 Node.js와 개발 도구 설치 과정을 안내한다.
1부에서는 기본적인 웹 개발 개념을 다루고 기초부터 시작해 Node.js에서 첫 번째 웹 애플리케이션을 작성할 수 있는 지침을 제공한다.
2부에서는 대부분의 Node.js 개발자가 애플리케이션을 작성하는 데 사용하는 웹 프레임워크 Express.js를 소개한다. Express.js가 제공하는 것, 작동 방식 및 사용자 정의 기능 등을 배운다. MVC(Model-View-Controller) 애플리케이션 아키텍처 패턴도 학습한다.
3부에서는 애플리케이션을 데이터베이스에 연결하는 과정을 설명한다. 덧붙여 몇 가지 새로운 도구를 설치하고 몽고DB로 데이터베이스를 구조화하는 방법을 설명한다.
4부에서는 데이터 모델을 작성하는 방법을 설명한다. 데이터베이스의 데이터 생성, 읽기, 수정, 삭제를 하는 CRUD 작업을 다룬다.
5부에서는 객체지향 구조에서 사용자 계정을 나타내는 코드 작성을 설명한다. 새로운 사용자를 위해 데이터 보안 및 로그인 양식 작성도 설명한다.
6부에서는 API 제작을 설명한다. API의 구성 요소, API의 보호 방법, REST 아키텍처를 사용해 API를 디자인하는 방법을 배운다.
7부에서는 애플리케이션에 실시간 채팅 시스템 구축 방법을 추가한다. 메인스트림 애플리케이션이 사용자에게 좀 더 빠르고 효율적으로 데이터를 가져오기 위해 사용하는 라이브러리 Socket.io를 사용해 폴링, 웹 소켓 및 데이터 브로드캐스팅 기능을 제공한다.
8부에서는 배포 프로세스를 설명한다. 배포에 필요한 도구와 계정을 배울 것이다.


목차


Unit 0. 시작하기

Lesson 0. Node.js의 설정과 JavaScript 엔진 설치
__0.1 여러분이 배울 것들
__0.2 Node.js의 이해
__0.3 왜 Node.js로 개발하는가?
__0.4 준비 사항
__0.5 요약

Lesson 1. 환경설정
__1.1 Node.js 설치
__1.2 텍스트 에디터 설치
__1.3 SCM과 배포 도구 설치
__1.4 터미널에서 Node.js REPL로 작업하기
__1.5 요약

Lesson 2. Node.js 애플리케이션 실행
__2.1 JavaScript 파일의 생성
__2.2 Node.js로 JavaScript 파일 실행하기
__2.3 개별 JavaScript 명령 실행하기
__2.4 요약

Unit 1. Node.js의 시작

Lesson 3. Node.js 모듈의 생성
__3.1 npm 실행
__3.2 Node.js 애플리케이션의 초기화
__3.3 요약

Lesson 4. Node.js에서 웹 서버 만들기
__4.1 웹 서버의 이해
__4.2 npm으로 애플리케이션 초기화
__4.3 애플리케이션 코딩
__4.4 애플리케이션의 실행
__4.5 요약

Lesson 5. 수신 데이터 다루기
__5.1 서버 코드의 수정
__5.2 요청 데이터의 분석
__5.3 웹 애플리케이션에 라우트 붙이기
__5.4 요약

Lesson 6. 라우트와 외부 파일
__6.1 fs 모듈을 이용한 정적 파일 제공
__6.2 에셋 제공
__6.3 라우트를 다른 파일로 바꿔 연결하기
__6.4 요약

Lesson 7. 캡스톤 프로젝트: 첫 번째 웹 애플리케이션 만들기
__7.1 애플리케이션의 초기화
__7.2 애플리케이션 디렉터리 구조의 이해
__7.3 router.js 및 main.js 파일의 생성
__7.4 뷰 페이지 생성
__7.5 에셋 추가
__7.6 라우트 생성
__7.7 요약

Unit 2. Express.js를 통한 웹 개발

Lesson 8. Express.js의 설정
__8.1 Express.js 패키지 설치
__8.2 첫 Express.js 애플리케이션의 작성
__8.3 웹 프레임워크를 이용한 작업
__8.4 요약

Lesson 9. Express.js에서의 라우트
__9.1 Express.js로 라우트 만들기
__9.2 요청 데이터의 분석
__9.3 MVC의 사용
__9.4 요약

Lesson 10 뷰와 템플릿의 연결
__10.1 템플릿 엔진의 연결
__10.2 컨트롤러로부터의 데이터 전달
__10.3 요소들 및 레이아웃 설정
__10.4 요약

Lesson 11. 설정과 에러 처리
__11.1 시작 스크립트 수정
__11.2 Express.js의 에러 처리
__11.3 정적 파일의 제공
__11.4 요약

Lesson 12. 캡스톤 프로젝트: Express.js를 통한 Confetti Cuisine 사이트 개선
__12.1 애플리케이션 초기화
__12.2 애플리케이션 제작
__12.3 라우트의 추가
__12.4 뷰로 라우팅
__12.5 정적 뷰 제공
__12.6 뷰로의 콘텐츠 전달
__12.7 에러 처리
__12.8 요약

Unit 3. 데이터베이스 연결

Lesson 13. 몽고DB 데이터베이스 셋업
__13.1 몽고DB 세팅
__13.2 몽고DB 셸에서 명령어 실행
__13.3 애플리케이션에 몽고DB 연결
__13.4 요약

Lesson 14. Mongoose를 사용한 모델 제작
__14.1 Node.js 애플리케이션으로 Mongoose 설정
__14.2 스키마의 생성
__14.3 모델의 분류
__14.4 요약

Lesson 15. 컨트롤러와 모델과의 연결
__15.1 구독자를 위한 컨트롤러 만들기
__15.2 포스팅된 데이터의 모델로의 저장
__15.3 Mongoose로 프로미스 사용
__15.4 요약

Lesson 16. 캡스톤: 사용자 구독 저장
__16.1 데이터베이스의 설정
__16.2 데이터 모델링
__16.3 구독자 뷰와 라우터 추가
__16.4 요약

Unit 4. 사용자 모델 제작

Lesson 17. 데이터 모델의 개선
__17.1 모델에 유효성 평가 추가
__17.2 REPL에서의 테스팅 모델
__17.3 모델 조합의 생성
__17.4 연결 모델로부터의 데이터 포퓰레이팅
__17.5 요약

Lesson 18. 사용자 모델의 구현
__18.1 사용자 모델 작성
__18.2 모델에 CRUD 메소드 붙이기
__18.3 인덱스 페이지 작성
__18.4 액션의 정리
__18.5 요약

Lesson 19. 모델의 생성과 읽기
__19.1 새로운 사용자 폼 제작
__19.2 뷰로부터 새로운 사용자 생성
__19.3 show를 통한 사용자 데이터 읽기
__19.4 요약

Lesson 20. 모델의 업데이트와 삭제
__20.1 사용자 정보 편집 폼 생성
__20.2 뷰에서 사용자 수정 폼
__20.3 delete 액션에서 사용자 삭제
__20.4 요약

Lesson 21. 캡스톤 프로젝트: Confetti Cusine에 CRUD 모델 추가
__21.1 시작하기
__21.2 모델의 생성
__21.3 뷰의 생성
__21.4 라우트 구조화
__21.5 컨트롤러 제작
__21.6 요약

Unit 5. 사용자 계정 인증

Lesson 22. 세션과 플래시 메시지의 추가
__22.1 플래시 매시지 모듈 설정
__22.2 컨트롤러 액션에 플래시 메시지 추가
__22.3 요약

Lesson 23. 사용자 로그인 폼 생성과 패스워드 해시
__23.1 사용자 로그인 폼
__23.2 패스워드의 해싱
__23.3 express-validator 로 유효성 체크 미들웨어 추가
__23.4 요약

Lesson 24. 사용자 인증 추가
__24.1 Passport.js의 실행
__24.2 패스포트 등록 사용을 위한 Create 액션 수정
__24.3 로그인 시 사용자 인증
__24.4 요약

Lesson 25. 캡스톤 프로젝트: Confetti Cuisine에 사용자 인증 추가
__25.1 준비 작업
__25.2 로그인 폼의 생성
__25.3 passport.js를 이용한 암호화 추가
__25.4 플래시 메시징 추가
__25.5 express-validator로 유효성 체크 미들웨어 추가
__25.6 Passport.js로 인증 추가
__25.7 로그인과 로그아웃
__25.8 요약

Unit 6. API 빌드

Lesson 26. 애플리케이션에 API 추가
__26.1 라우트의 구성
__26.2 API의 생성
__26.3 클라이언트로부터 API호출
__26.4 요약

Lesson 27. 애플리케이션에서 API 액세스
__27.1 API 네임스페이스의 적용
__27.2 모달을 통한 강좌의 결합
__27.3 모델 간 통신을 위한 API 엔드포인트 생성
__27.4 요약

Lesson 28. API 보안
__28.1 간단한 보안 구현
__28.2 API 토큰 추가
__28.3 JSON 웹 토큰의 사용
__28.4 요약

Lesson 29. 캡스톤 프로젝트: API 구현
__29.1 라우트의 재구성
__29.2 강좌의 일부 추가
__29.3 AJAX 함수 생성
__29.4 API 엔드포인트 추가
__29.5 사용자 등록을 위한 액션 생성
__29.6 요약

Unit 7. 채팅 기능 추가

Lesson 30. socket.io로의 작업
__30.1 socket.io의 사용
__30.2 채팅 박스 생성
__30.3 서버와 클라이언트의 연결
__30.4 요약

Lesson 31. 채팅 메시지의 저장
__31.1 사용자와 메시지의 연결
__31.2 채팅에서 사용자 이름 표시
__31.3 메시지 모델의 생성
__31.4 요약

Lesson 32. 채팅 알림 표시 추가
__32.1 다른 소켓으로의 브로드캐스팅
__32.2 내비게이션에 채팅 표시기 생성
__32.3 요약

Lesson 33. 캡스톤 프로젝트: Confetti Cuisine에 채팅 기능 추가
__33.1 socket.io 설치
__33.2 서버에 socket.io 설정
__33.3 클라이언트에서 socket.io 설정
__33.4 메시지 모델 생성
__33.5 접속 시 메시지 읽어들이기
__33.6 채팅 아이콘 설정
__33.7 요약

Unit 8. 프로덕션에서의 코드 배포와 관리
Lesson 34. 애플리케이션 배포
__34.1 배포 준비
__34.2 애플리케이션의 배포
__34.3 프로덕션에서 데이터베이스 설정
__34.4 요약

Lesson 35. 프로덕션에서의 관리
__35.1 시드 데이터 읽기
__35.2 린팅
__35.3 애플리케이션의 디버깅
__35.4 요약

Lesson 36 애플리케이션의 테스팅
__36.1 코어 모듈의 기본 테스팅
__36.2 mocha와 chai를 이용한 테스팅
__36.3 데이터베이스 및 서버 테스팅
__36.4 요약

Lesson 37. 캡스톤 프로젝트: Confetti Cuisine의 배포
__37.1 린팅과 로깅
__37.2 배포를 위한 준비
__37.3 Heroku로의 배포
__37.4 데이터베이스의 설정
__37.5 프로덕션에서의 디버깅
__37.6 요약

Appendix A. ES6에서 소개하는 JavaScript 문법

Appendix B. 로깅과 Node.js의 전역 객체의 사용

교환 및 환불안내

도서교환 및 환불
  • ㆍ배송기간은 평일 기준 1~3일 정도 소요됩니다.(스프링 분철은 1일 정도 시간이 더 소요됩니다.)
  • ㆍ상품불량 및 오배송등의 이유로 반품하실 경우, 반품배송비는 무료입니다.
  • ㆍ고객님의 변심에 의한 반품,환불,교환시 택배비는 본인 부담입니다.
  • ㆍ상담원과의 상담없이 교환 및 반품으로 반송된 물품은 책임지지 않습니다.
  • ㆍ이미 발송된 상품의 취소 및 반품, 교환요청시 배송비가 발생할 수 있습니다.
  • ㆍ반품신청시 반송된 상품의 수령후 환불처리됩니다.(카드사 사정에 따라 카드취소는 시일이 3~5일이 소요될 수 있습니다.)
  • ㆍ주문하신 상품의 반품,교환은 상품수령일로 부터 7일이내에 신청하실 수 있습니다.
  • ㆍ상품이 훼손된 경우 반품 및 교환,환불이 불가능합니다.
  • ㆍ반품/교환시 고객님 귀책사유로 인해 수거가 지연될 경우에는 반품이 제한될 수 있습니다.
  • ㆍ스프링제본 상품은 교환 및 환불이 불가능 합니다.
  • ㆍ군부대(사서함) 및 해외배송은 불가능합니다.
  • ㆍ오후 3시 이후 상담원과 통화되지 않은 취소건에 대해서는 고객 반품비용이 발생할 수 있습니다.
반품안내
  • 마이페이지 > 나의상담 > 1 : 1 문의하기 게시판 또는 고객센터 1800-7327
교환/반품주소
  • 경기도 파주시 문발로 211 1층 / (주)북채널 / 전화 : 1800-7327
  • 택배안내 : CJ대한통운(1588-1255)
  • 고객님 변심으로 인한 교환 또는 반품시 왕복 배송비 5,000원을 부담하셔야 하며, 제품 불량 또는 오 배송시에는 전액을 당사에서부담 합니다.