Skip to content

jnubugo/nodejs-book

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

98 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

조현영 지음 길벗출판사 664쪽 32000원

인프런에서 오신 분들은 ch14가 ch9보다 먼저 나온다는 것을 알아두시면 됩니다.

소스 코드를 받으신 후에는 터미널에서 코드의 루트경로(package.json이 있는)로 이동하신 후 npm i를 입력해서 node_modules를 설치하셔야 합니다. node_modules는 이 소스 코드에 포함되어 있지 않습니다.

코드에 오타&오류가 있거나 개선점이 있다면 적극 Pull Request 보내주시면 됩니다!

MySQL은 5.7버전을 설치하시고(8버전을 설치하면 legacy authentication 속성을 활성화해야 합니다) Sequelize는 4버전을 설치하셔야(npm i sequelize@4) find 관련 에러가 안 납니다.

소개

목차

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 VS Code 설치하기
  • 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 async/await
  • 2.2 프런트엔드 자바스크립트
    • 2.2.1 AJAX
    • 2.2.2 FormData
    • 2.2.3 encodeURLComponent, decodeURLComponent
    • 2.2.4 data attribute와 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
    • 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.6 파일 시스템 접근하기
    • 3.6.1 동기 메서드와 비동기 메서드
    • 3.6.2 버퍼와 스트림 이해하기
    • 3.6.3 기타 fs 메서드
  • 3.7 이벤트 이해하기
  • 3.8 예외 처리하기
  • 3.9 함께 보면 좋은 자료

4장 http 모듈로 웹 서버 만들기

  • 4.1 요청과 응답 이해하기
  • 4.2 쿠키와 세션 이해하기
  • 4.3 REST API와 라우팅
  • 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 Express-generator로 빠르게 설치하기
  • 6.2 익스프레스 구조 이해하기
  • 6.3 미들웨어
    • 6.3.1 커스텀 미들웨어 만들기
    • 6.3.2 morgan
    • 6.3.3 body-parser
    • 6.3.4 cookie-parser
    • 6.3.5 static
    • 6.3.6 express-session
    • 6.3.7 connect-flash
  • 6.4 Router 객체로 라우팅 분리하기
  • 6.5 템플릿 엔진 사용하기
  • 6.5.1 Pug(Jade)
  • 6.5.2 EJS
  • 6.5.3 에러 처리 미들웨어
  • 6.6 함께 보면 좋은 자료

7장 MySQL

  • 7.1 데이터베이스란?
  • 7.2 MySQL 설치하기
    • 7.2.1 윈도
    • 7.2.2 macOS
    • 7.2.3 리눅스(우분투)
  • 7.3 워크벤치 설치하기
    • 7.3.1 윈도
    • 7.3.2 macOS
    • 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 macOS
    • 8.2.3 리눅스(우분투)
  • 8.3 컴퍼스 설치하기
    • 8.3.1 윈도
    • 8.3.2 macOS
    • 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 ws 모듈로 웹 소켓 사용하기
  • 11.3 Socket.IO 사용하기
  • 11.4 실시간 GIF 채팅방 만들기
  • 11.5 채팅 구현하기
  • 11.6 프로젝트 마무리하기
    • 11.6.1 스스로 해보기
    • 11.6.2 핵심 정리
    • 11.6.3 함께 보면 좋은 자료

12장 실시간 경매 시스템 만들기

  • 12.1 프로젝트 구조 갖추기
  • 12.2 서버센트 이벤트 사용하기
  • 12.3 스케줄링 구현하기
  • 12.4 프로젝트 마무리하기
    • 12.4.1 스스로 해보기
    • 12.4.2 핵심 정리
    • 12.4.3 함께 보면 좋은 자료

13장 구글 API로 장소 검색 서비스 만들기

  • 13.1 프로젝트 구조 갖추기
  • 13.2 Google Places API 사용하기
  • 13.3 Google Maps API 사용하기
  • 13.4 위치 기반 검색 수행하기
  • 13.5 프로젝트 마무리하기
    • 13.5.1 스스로 해보기
    • 13.5.2 핵심 정리
    • 13.5.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 sequelize
    • 15.1.3 cross-env
    • 15.1.4 retire
    • 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 Git과 GitHub 사용하기
    • 15.2.1 Git 설치하기
    • 15.2.2 GitHub 사용하기
  • 15.3 AWS 시작하기
  • 15.4 AWS에 배포하기
  • 15.5 GCP 시작하기
  • 15.6 GCP에 배포하기
  • 15.7 함께 보면 좋은 자료

16장 서버리스 노드 개발

  • 16.1 서버리스 이해하기
  • 16.2 AWS S3 사용하기
  • 16.3 AWS Lambda 사용하기
  • 16.4 Google Cloud Storage 사용하기
  • 16.5 Google Cloud Functions 사용하기
  • 16.6 함께 보면 좋은 자료

책을 마무리하며

찾아보기

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 67.4%
  • HTML 25.0%
  • CSS 7.6%