master 브랜치의 소스코드는 개정4판 소스코드입니다. 개정3판, 개정2판, 초판 소스코드는 nodejs-book에 있습니다.
소스코드를 받으신 후에는 터미널에서 코드의 루트경로(package.json이 있는)로 이동하신 후 npm i를 입력해서 node_modules를 설치하셔야 합니다. .env 파일과 node_modules 폴더는 이 소스 코드에 포함되어 있지 않습니다.
코드에 오타&오류가 있거나 개선점이 있다면 적극적으로 issue 제기나 Pull Request 보내주시면 됩니다!
조현영 지음 | 길벗출판사 | 604쪽 | 40,000원
1장 노드 시작하기
- 1.1 핵심 개념 이해하기
- 1.1.1 서버
- 1.1.2 자바스크립트 런타임
- 1.1.3 이벤트 기반
- 1.1.4 논블로킹 I/O
- 1.1.5 싱글 스레드
- 1.2 AI 시대의 노드
- 1.2.1 서버로서의 노드
- 1.2.2 서버 외의 노드
- 1.3 개발 환경 설정하기
- 1.3.1 노드 설치하기
- 1.3.2 노드 버전 바꾸기
- 1.3.3 npm 버전 업데이트하기
- 1.3.4 비주얼 스튜디오 코드 설치하기
- 1.4 함께 보면 좋은 자료
2장 노드 기능 알아보기
- 2.1 REPL 사용하기
- 2.2 JS 파일 실행하기
- 2.3 ts 파일 실행하기
- 2.4 모듈로 만들기
- 2.4.1 CommonJS 모듈
- 2.4.2 ECMAScript 모듈
- 2.4.3 서로 다른 모듈 불러오기
- 2.4.4 다이내믹 임포트
- 2.4.5 __filename, __dirname
- 2.5 노드 내장 객체 알아보기
- 2.5.1 global
- 2.5.2 console
- 2.5.3 타이머
- 2.5.4 process
- 2.5.5 기타 내장 객체
- 2.6 노드 내장 모듈 사용하기
- 2.6.1 os
- 2.6.2 path
- 2.6.3 url
- 2.6.4 dns
- 2.6.5 crypto
- 2.6.6 util
- 2.6.7 worker_threads
- 2.6.8 child_process
- 2.6.9 기타 모듈들
- 2.7 파일 시스템 접근하기
- 2.7.1 동기 메서드와 비동기 메서드
- 2.7.2 버퍼와 스트림 이해하기
- 2.7.3 기타 fs 메서드 알아보기
- 2.7.4 스레드 풀 알아보기
- 2.8 이벤트 이해하기
- 2.9 예외 처리하기
- 2.9.1 자주 발생하는 에러들
- 2.10 함께 보면 좋은 자료
3장 http 모듈로 서버 만들기
- 3.1 요청과 응답 이해하기
- 3.2 REST와 라우팅 사용하기
- 3.3 쿠키와 세션 이해하기
- 3.4 https와 http2
- 3.5 cluster
- 3.6 함께 보면 좋은 자료
4장 패키지 매니저
- 4.1 npm 알아보기
- 4.2 package.json으로 패키지 관리하기
- 4.2.1 노드, npm 버전 관리하기
- 4.3 패키지 버전 이해하기
- 4.4 기타 npm 명령어
- 4.4.1 업그레이드 후 npm 충돌 시
- 4.5 패키지 배포하기
- 4.6 함께 보면 좋은 자료
5장 익스프레스 웹 서버 만들기
- 5.1 익스프레스 프로젝트 시작하기
- 5.2 자주 사용하는 미들웨어
- 5.2.1 morgan
- 5.2.2 static
- 5.2.3 body-parser
- 5.2.4 cookie-parser
- 5.2.5 express-session
- 5.2.6 미들웨어의 특성 활용하기
- 5.2.7 multer
- 5.3 Router 객체로 라우팅 분리하기
- 5.4 404 에러 처리 미들웨어와 와일드카드/선택적 주소
- 5.5 req, res 객체 살펴보기
- 5.6 템플릿 엔진 사용하기
- 5.6.1 넌적스
- 5.6.2 에러 처리 미들웨어
- 5.7 함께 보면 좋은 자료
6장 MySQL
- 6.1 데이터베이스란?
- 6.2 MySQL 설치하기
- 6.2.1 윈도
- 6.2.2 맥
- 6.2.3 리눅스(우분투)
- 6.3 워크벤치 설치하기
- 6.3.1 윈도
- 6.3.2 맥
- 6.3.3 리눅스(우분투)
- 6.3.4 커넥션 생성하기
- 6.4 데이터베이스 및 테이블 생성하기
- 6.4.1 데이터베이스 생성하기
- 6.4.2 테이블 생성하기
- 6.5 CRUD 작업하기
- 6.5.1 Create(생성)
- 6.5.2 Read(조회)
- 6.5.3 Update(수정)
- 6.5.4 Delete(삭제)
- 6.6 드리즐 사용하기
- 6.6.1 MySQL 연결하기
- 6.6.2 관계 정의하기
- 6.6.3 CRUD 작업하기
- 6.6.4 쿼리 수행하기
- 6.7 함께 보면 좋은 자료
7장 익스프레스로 SNS 서비스 만들기
- 7.1 프로젝트 구조 갖추기
- 7.2 데이터베이스 세팅하기
- 7.3 Passport 모듈로 로그인 구현하기
- 7.3.1 로컬 로그인 구현하기
- 7.3.2 카카오 로그인 구현하기
- 7.4 멀터 패키지로 이미지 업로드 구현하기
- 7.5 프로젝트 마무리하기
- 7.5.1 스스로 해보기
- 7.5.2 핵심 정리
- 7.6 함께 보면 좋은 자료
8장 타입스크립트로 전환하기
- 8.1 타입스크립트 기본 문법
- 8.2 커뮤니티 타입 정의 적용하기
- 8.3 라이브러리 코드 타이핑하기
- 8.4 내가 작성한 코드 타이핑하기
- 8.5 함께 보면 좋은 자료
9장 Nest.js 사용해보기
- 9.1 Nest.js 설치하기
- 9.2 모듈 추가하기
- 9.3 가드 추가하기
- 9.4 미들웨어 연결하기
- 9.4.1 기존 미들웨어 연결하기
- 9.4.2 .env 파일 사용하기
- 9.4.3 직접 미들웨어 작성하기
- 9.4.4 네스트에서 달라지는 미들웨어
- 9.5 모듈과 프로바이더 직접 만들기
- 9.6 인터셉터와 생애 주기
- 9.6.1 직접 인터셉터 만들기
- 9.6.2 네스트 생애 주기
- 9.6.3 순환 의존성
- 9.7 예외 필터 연결하기
- 9.8 컨트롤러 핸들러와 매개변수 데코레이터
- 9.9 파이프와 검증/변환
- 9.10 프로바이더와 의존성 스캐너
- 9.10.1 파악 단계
- 9.10.2 인스턴스화 단계
- 9.10.3 서비스
- 9.11 게이트웨이
- 9.11.1 웹 소켓
- 9.11.2 네스트에서 Socket.IO 사용하기
- 9.11.3 클라이언트에서 연결하기
- 9.12 이벤트
- 9.13 전역 등록하기
- 9.14 함께 보면 좋은 자료
10장 AI 비서 웹 앱 만들기
- 10.1 기본 화면 갖추기
- 10.2 AI 기능 추가하기
- 10.3 스트리밍 채팅 구현하기
- 10.4 프런트엔드 스트리밍 완성하기
- 10.5 세션 관리하기
- 10.6 안정성 강화하기
- 10.7 프로젝트 마무리하기
- 10.7.1 스스로 해보기
- 10.7.2 함께 보면 좋은 자료
11장 AWS로 배포하기
- 11.1 서비스 운영을 위한 패키지
- 11.1.1 morgan과 express-session
- 11.1.2 cross-env
- 11.1.3 pm2
- 11.1.4 윈스턴
- 11.1.5 helmet
- 11.1.6 connect-redis
- 11.1.7 추가로 해두면 좋은 것들
- 11.2 깃과 깃허브 사용하기
- 11.2.1 깃 설치하기
- 11.2.2 깃허브 사용하기
- 11.3 AWS 시작하기
- 11.4 AWS에 배포하기
- 11.5 함께 보면 좋은 자료