상세 컨텐츠

본문 제목

Node.js 프로젝트 투입 일주일 전

전체 출간 도서

by 비제이퍼블릭 2021. 12. 27. 09:17

본문

Node.js 프로젝트 투입 일주일 전

부제 Node.js의 다양한 모듈을 활용한 웹 서버 개발 실전 노하우

저자 고승원

 

출간/배본가능일 2021년 12월 29일

정가 26,000 

페이지 364

판형 크라운판 (173 * 230)

 

ISBN 979-11-6592-117-0 (93000)

 

책 소개 

이것이 진짜 Node.js 실무 스킬이다

웹 서버 개발 실전 노하우를 한 권으로!

 

이 책은 철저히실무위주의 학습서로, Node.js로 서버 애플리케이션을 구축하기 위한 기능만을 다룹니다. 로그 관리 · 이메일 발송 · 스케줄러 · 엑셀 파일 생성 · 웹소켓 · 크롤링 등 저자가 실제 프로젝트에서 가장 많이 사용했던 웹 서버 운영 기능과 실무 노하우를 담았습니다. 또한, Node.js의 다양한 모듈을 활용한 빠른 서버 개발과 SQL 구축 영역을 디테일하게 설명하고 MongoDB NoSQL까지 망라합니다.

 

자바스크립트라는 하나의 언어로 웹 애플리케이션 프런트엔드와 백엔드를 모두 구축해 보세요! 여러분도 풀스택 개발자가 될 수 있습니다.

 

이 책을 통해 익힐 수 있는 실무 기술

• 웹 서버 구축하기

Node.js의 다양한 미들웨어 모듈 효과적으로 사용하기

• 클라이언트 요청 체계적으로 관리하기

• 웹 프런트엔드 개발자와 빠르고 효율적으로 소통하기

• 약속된 특정 시간에 작업을 실행하는 스케줄러 만들기

• 전자 메일로 작업 요청, 일정, 할 일과 같은 이벤트 전송하기

• 기업 내 유의미한 데이터를 집계하고 엑셀 파일로 생성하기

• 사용자 인증, 시스템 데이터 리포트 등을 포함한 이메일 발송하기

MySQL과 같은 RDB, MongoDB와 같은 NoSQL을 연결하고 조회/생성/수정/삭제 등의 데이터 조작하기

 

저자 소개 

고승원

소프트웨어 기술을 통해 세상에 선한 영향력을 주고 싶은 22년 차 소프트웨어 개발자

 

국내외 기업의 ERP 시스템을 구축하는 UX/비즈니스 컨설턴트로 일하며 서비스 기획부터 개발까지 전 과정에 대한 경험을 쌓았고, 현재는 주식회사 리턴밸류(ReturnValues)의 대표이사를 맡고 있다. 후배들에게 정말 필요한 기술을 전달하자는 사명감으로 블로그와 유튜브 채널 <개발자의 품격>을 통해 60편이 넘는 IT 기술 문서와 유익한 지식을 나누고 있다.

 

• ㈜리턴밸류 대표이사

• 팬임팩트코리아 기술 전문 위원

• 유튜브: https://www.youtube.com/c/개발자의품격

• 블로그: https://seungwongo.medium.com

 

• 저서

- Vue.js 프로젝트 투입 일주일 전』, 비제이퍼블릭

- 『바닐라 자바스크립트』, 비제이퍼블릭

- 『저는 아직 아이들에게 코딩을 가르치지 않습니다』, 비제이퍼블릭

- 『디자인 씽킹을 넘어 프로그래밍 씽킹으로』, 비제이퍼블릭

- The Essentials of Smart Contract Development for Solidity Developers, 아마존

 

목차

Chapter 01. Node.js

1.1 Node.js?

1.2 Node.js의 특징

___ 1.2.1 논블로킹(Non-blocking) I/O

___ 1.2.2 싱글 스레드(Single Thread)

___ 1.2.3 이벤트 루프(Event Loop)

1.3 npm(Node Package Manager)

 

Chapter 02. 개발환경 구성

2.1 Visual Studio Code 설치하기

___ 2.1.1 맥에서 Visual Studio Code 설치

___ 2.1.2 윈도우에서 Visual Studio Code 설치

2.2 Node.js 설치하기

___ 2.2.1 맥에서 Node.js 설치

___ 2.2.2 윈도우에서 Node.js 설치

___ 2.2.3 터미널 모드 변경

2.3 자바스크립트 개발에 유용한 Visual Studio Code Extension 설치하기

___ 2.3.1 JavaScript(ES6) code snippets

___ 2.3.2 ESLint

___ 2.3.3 Prettier - Code formatter

___ 2.3.4 Live Server

 

Chapter 03. 서버 프로그램을 위한 자바스크립트

3.1 변수 선언자 이해하기

___ 3.1.1 var 선언자

___ 3.1.2 let 선언자

___ 3.1.3 const 선언자

3.2 화살표 함수(Arrow Function)

3.3 Array 내장 함수

___ 3.3.1 sort()

___ 3.3.2 filter()

___ 3.3.3 map()

___ 3.3.4 reduce()

3.4 Template Literals

3.5 Spread Operator

3.6 Object Destructuring

3.7 Array Destructuring

3.8 Default Function Parameter

3.9 Rest Parameter

3.10 Promise

3.11 Async/Await

3.12 클래스(Class)

___ 3.12.1 Class 정의

___ 3.12.2 Class 사용

___ 3.12.3 Class 내부 함수 정의

___ 3.12.4 Class 상속

3.13 정규 표현식(Regular Expression)

___ 3.13.1 정규식 만들기

___ 3.13.2 정규식 함수

___ 3.13.3 정규식 특수 문자

___ 3.13.4 정규식 플래그

 

Chapter 04. Node.js 시작하기

4.1 Node.js에서 자바스크립트 파일 실행하기

4.2 모듈(Module)

 

Chapter 05. Node.js 내장 모듈/객체

5.1 Console

___ 5.1.1 Console 클래스

___ 5.1.2 전역 객체 console

5.2 Timers

5.3 Process

___ 5.3.1 Process events

___ 5.3.2 process.env

___ 5.3.3 process.nextTick

___ 5.3.4 process.exit()

5.4 OS

5.5 Path

___ 5.5.1 path.basename(path[,ext])

___ 5.5.2 path.delimiter

___ 5.5.3 path.dirname(path)

___ 5.5.4 path.extname(path)

___ 5.5.5 path.format(pathObject)

___ 5.5.6 path.isAbsolute(path)

___ 5.5.7 path.join([...paths])

___ 5.5.8 path.parse(path)

___ 5.5.9 path.sep

5.6 URL

___ 5.6.1 WHATWG API

___ 5.6.2 레거시 API

5.7 Crypto

5.8 File system

___ 5.8.1 fs.readFile(path, [options], callback)

___ 5.8.2 fs.readFileSync(path, [options])

___ 5.8.3 fs.writeFile(path, data, [options], callback)

___ 5.8.4 writeFileSync(path, data, [options])

___ 5.8.5 fs.watchFile(filename[, options], listener)

 

Chapter 06. json-server 이용하기

6.1 REST API

6.2 json-server 설치

6.3 json 파일 생성

6.4 json-server 실행

6.5 GET 요청

6.6 POST 요청

6.7 PUT 요청

6.8 DELETE 요청

 

Chapter 07. Express로 웹 서버 구축하기

7.1 Express.js로 웹 서버 만들기

___ 7.1.1 package.json 파일 생성

___ 7.1.2 Express 설치

___ 7.1.3 app.js 생성

7.2 라우팅 처리하기

___ 7.2.1 라우팅(Routing)

___ 7.2.2 라우트(Route) 메소드

___ 7.2.3 라우트(Route) 경로

___ 7.2.4 라우트(Route) 핸들러

___ 7.2.5 응답 메소드

___ 7.2.6 app.route()

___ 7.2.7 express.Router

7.3 Express에서 에러 처리하기

7.4 Express에서 정적 파일 제공하기

7.5 미들웨어 모듈

___ 7.5.1 body-parser

___ 7.5.2 compression

___ 7.5.3 cookie-session

___ 7.5.4 express-session

___ 7.5.5 cors

___ 7.5.6 morgan

___ 7.5.7 multer

___ 7.5.8 response-time

___ 7.5.9 connect-timeout

7.6 Postman 설치 및 익스프레스 라우트 테스트

___ 7.6.1 Postman 설치하기

___ 7.6.2 익스프레스 라우트 테스트하기

 

Chapter 08. 데이터베이스 사용하기

8.1 MySQL

___ 8.1.1 맥에서 MySQL 설치하기

___ 8.1.2 윈도우에서 MySQL 설치하기

___ 8.1.3 Workbench 설치하기

___ 8.1.4 데이터베이스 및 테이블 생성하기

___ 8.1.5 MySQL 모듈 사용하기

___ 8.1.6 Sequelize

8.2 MongoDB

___ 8.2.1 맥에서 MongoDB 설치하기

___ 8.2.2 윈도우에서 MongoDB 설치하기

___ 8.2.3 DB 툴 설치하기

___ 8.2.4 데이터베이스 및 컬렉션 생성하기

___ 8.2.5 mongoose 모듈 사용하기

 

Chapter 09. 애플리케이션 운영과 고성능 웹을 위한 Node.js

9.1 로그 관리

9.2 메일링 서비스

___ 9.2.1 Nodemailer

___ 9.2.2 SMTP transport

___ 9.2.3 이메일 보내기

___ 9.2.4 Gmail을 사용해서 이메일 보내기

___ 9.2.5 mailtrap 서비스 이용해서 이메일 보내기

9.3 작업 스케줄러(Job Scheduler)

___ 9.3.1 node-cron

___ 9.3.2 작업 스케줄 설정하기

___ 9.3.3 타임존 설정하기

___ 9.3.4 ScheduledTask 함수

___ 9.3.5 정해진 시간에 이메일 발송하기

9.4 엑셀 파일 처리

___ 9.4.1 xlsx

___ 9.4.2 엑셀 파일 읽기

___ 9.4.3 엑셀 파일 내용 수정하기

___ 9.4.4 클라이언트에서 업로드한 엑셀 파일 읽기

___ 9.4.5 엑셀 파일 생성하기

___ 9.4.6 셀 스타일

___ 9.4.7 데이터베이스 데이터를 조회해서 엑셀 파일로 생성하기

___ 9.4.8 이메일에 엑셀 파일 첨부하기

___ 9.4.9 엑셀 파일 클라이언트로 다운로드

9.5 iCalendar 이벤트 생성

___ 9.5.1 iCalendar 이벤트 생성하기

___ 9.5.2 iCalendar 이벤트 이메일 발송하기

9.6 웹소켓

___ 9.6.1 웹소켓이란

___ 9.6.2 웹소켓 서버 구현하기

___ 9.6.3 웹소켓 클라이언트 구현하기

9.7 크롤링

___ 9.7.1 크롤링이란

___ 9.7.2 axios, cheerio 모듈

___ 9.7.3 인프런 강의 목록 크롤링하기

9.8 forever

9.9 클러스터 모드

9.10 PM2

___ 9.10.1 PM2 사용하기

___ 9.10.2 클러스터 모드로 실행하기

___ 9.10.3 Ecosystem File

 

Chapter 10. Node.js 미니 프로젝트: 제품 판매 웹앱 구현

10.1 애플리케이션 Overview

10.2 프로젝트 소프트웨어 구성

10.3 Node.js + Express 서버 구성

___ 10.3.1 app.js

___ 10.3.2 sql.js

10.4 데이터베이스 구성

 

출판사 리뷰 

진짜 '실전'에 가까운 책을 원한다면 이 책입니다

 

이 책은 Node.js로 서버를 개발할 때 절대 놓쳐서는 안 되는 내용만을 담은 문법 중심이 아닌 기능 중심의 책입니다. 실무에서 반드시 구현해야 하는 웹 서버 및 고급 애플리케이션 기능을 어떤 npm 모듈을 사용해서 구축하는지 그리고 어떻게 동작하는지 안내합니다.

 

책에서 소개하는 각각의 기능을 마스터할 때마다 여러분은 이를 실제 프로젝트에서 구현할 수 있는 역량이 늘어날 것입니다. 그리고 매번 바뀌는 개발 환경이나 갑작스러운 프로젝트 투입에도 당황하지 않고 풀스택 개발자로서의 역량을 바로 발휘할 수 있을 것입니다. 이 책을 통해 무심코 사용했던 기술, 놓치지 말아야 할 새로운 기술에 대해 다시 한번 점검하는 시간을 가지시기 바랍니다.

 

이 책은 저자의 다른 책 『Vue.js 프로젝트 투입 일주일 전』의 시리즈서입니다. 챕터 10 '미니 프로젝트: 제품 판매 웹앱의 프런트엔드 부분을 『Vue.js 프로젝트 투입 일주일 전』에서 개발하고, 이 책에서는 백엔드 부분을 다룹니다.

 

이 책의 독자

• 자바스크립트에 대한 기본 지식이 있는 독자

• 실무에 Node.js를 바로 적용하기를 원하는 독자

• 프런트엔드와 백엔드를 모두 구현하는 풀스택 개발자가 되길 원하는 독자

• 서버 개발자로 커리어를 시작하고 싶은 신입 개발자

 

소스코드 다운로드

https://github.com/seungwongo/node-project

관련글 더보기

댓글 영역