Node.js 교과서 : 기본기에 충실한 Node.js 18 입문서 (개정3판)

Node.js 교과서 : 기본기에 충실한 Node.js 18 입문서 (개정3판)

$43.92
Description
Node.js 베스트셀러 1위! 개정 3판!
한 권으로 끝내는, 노드 기본부터 실무까지 전 과정 총망라!
다양한 서비스를 직접 만드는, 실무에 가장 가까운 강의!
개정 3판을 맞아 노드와 npm 패키지 버전을 최신으로 업데이트하고, 컨트롤러와 서비스를 분리해 사용하는 방식으로 예제 구조를 변경하면서 9~13장까지 모든 코드를 수정하며 완성도를 높였다. ES2022에 맞춰 Map/Set과 널 병합, 옵셔널 체이닝을 예제 코드 전반에 사용하고 관련 문법을 설명했으며, 정식 지원되는 ECMAScript 모듈 사용법도 추가했다. 또한, 요즘 적극적으로 도입되는 추세에 맞춰 노드 프로젝트를 타입스크립트로 전환하는 방법도 추가했다.
이 책은 프런트부터 서버, 데이터베이스, 배포까지 아우르는 광범위한 내용을 다룬다. 군더더기 없는 직관적인 설명으로 기본 개념을 확실히 이해하고, 노드의 기능과 생태계를 사용해보면서 실제로 동작하는 서버를 만들어보자. 웹 서버, 웹 API 서버, 노드 서비스 테스트, SNS 서비스, 실시간 GIF 채팅방, 경매 시스템, 커맨드라인 인터페이스까지 경험할 수 있으며, 예제와 코드는 최신 문법을 사용해 실무에 바로 참고하거나 적용할 수 있게 했다.

저자

조현영

저자:조현영
문과출신이지만,자바스크립트로프로그래밍의매력에빠졌습니다.지금은카카오모빌리티에서개발파트장으로일하고있으며,개발조직관리와안정적인서비스운영에관심이많습니다.개인블로그와유튜브를운영하며온라인강의를진행하고있습니다.저서로는『Node.js교과서,개정2판』(2020,길벗)과『Let’sGetIT자바스크립트프로그래밍』(2021,길벗)이있습니다.

목차

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.2npm버전업데이트하기
____1.4.3비주얼스튜디오코드설치하기
__1.5함께보면좋은자료

2장알아둬야할자바스크립트
__2.1ES2015+
____2.1.1const,let
____2.1.2템플릿문자열
____2.1.3객체리터럴
____2.1.4화살표함수
____2.1.5구조분해할당
____2.1.6클래스
____2.1.7프로미스
____2.1.8async/await
____2.1.9Map/Set
____2.1.10널병합/옵셔널체이닝
__2.2프런트엔드자바스크립트
____2.2.1AJAX
____2.2.2FormData
____2.2.3encodeURIComponent,decodeURIComponent
____2.2.4데이터속성과dataset
__2.3함께보면좋은자료

3장노드기능알아보기
__3.1REPL사용하기
__3.2JS파일실행하기
__3.3모듈로만들기
____3.3.1CommonJS모듈
____3.3.2ECMAScript모듈
____3.3.3다이내믹임포트
____3.3.4__filename,__dirname
__3.4노드내장객체알아보기
____3.4.1global
____3.4.2console
____3.4.3타이머
____3.4.4process
____3.4.5기타내장객체
__3.5노드내장모듈사용하기
____3.5.1os
____3.5.2path
____3.5.3url
____3.5.4dns
____3.5.5crypto
____3.5.6util
____3.5.7worker_threads
____3.5.8child_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.2REST와라우팅사용하기
__4.3쿠키와세션이해하기
__4.4https와http2
__4.5cluster
__4.6함께보면좋은자료

5장패키지매니저
__5.1npm알아보기
__5.2package.json으로패키지관리하기
__5.3패키지버전이해하기
__5.4기타npm명령어
__5.5패키지배포하기
__5.6함께보면좋은자료

6장익스프레스웹서버만들기
__6.1익스프레스프로젝트시작하기
__6.2자주사용하는미들웨어
____6.2.1morgan
____6.2.2static
____6.2.3body-parser
____6.2.4cookie-parser
____6.2.5express-session
____6.2.6미들웨어의특성활용하기
____6.2.7multer
__6.3Router객체로라우팅분리하기
__6.4req,res객체살펴보기
__6.5템플릿엔진사용하기
____6.5.1퍼그(제이드)
____6.5.2넌적스
____6.5.3에러처리미들웨어
__6.6함께보면좋은자료

7장MySQL
__7.1데이터베이스란?
__7.2MySQL설치하기
____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.5CRUD작업하기
____7.5.1Create(생성)
____7.5.2Read(조회)
____7.5.3Udate(수정)
____7.5.4Delete(삭제)
__7.6시퀄라이즈사용하기
____7.6.1MySQL연결하기
____7.6.2모델정의하기
____7.6.3관계정의하기
____7.6.4쿼리알아보기
____7.6.5쿼리수행하기
__7.7함께보면좋은자료

8장몽고디비
__8.1NoSQLvs.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.5CRUD작업하기
____8.5.1Create(생성)
____8.5.2Read(조회)
____8.5.3Update(수정)
____8.5.4Delete(삭제)
__8.6몽구스사용하기
____8.6.1몽고디비연결하기
____8.6.2스키마정의하기
____8.6.3쿼리수행하기
__8.7함께보면좋은자료

9장익스프레스로SNS서비스만들기
__9.1프로젝트구조갖추기
__9.2데이터베이스세팅하기
__9.3Passport모듈로로그인구현하기
____9.3.1로컬로그인구현하기
____9.3.2카카오로그인구현하기
__9.4multer패키지로이미지업로드구현하기
__9.5프로젝트마무리하기
____9.5.1스스로해보기
____9.5.2핵심정리
__9.6함께보면좋은자료

10장웹API서버만들기
__10.1API서버이해하기
__10.2프로젝트구조갖추기
__10.3JWT토큰으로인증하기
__10.4다른서비스에서호출하기
__10.5SNSAPI서버만들기
__10.6사용량제한구현하기
__10.7CORS이해하기
__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핵심정리
____11.6.3함께보면좋은자료

12장웹소켓으로실시간데이터전송하기
__12.1웹소켓이해하기
__12.2ws모듈로웹소켓사용하기
__12.3Socket.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.2Commander,Inquirer사용하기
__14.3프로젝트마무리하기
____14.3.1스스로해보기
____14.3.2핵심정리
____14.3.3함께보면좋은자료

15장AWS와GCP로배포하기
__15.1서비스운영을위한패키지
____15.1.1morgan과express-session
____15.1.2시퀄라이즈
____15.1.3cross-env
____15.1.4sanitize-html,csurf
____15.1.5pm2
____15.1.6winston
____15.1.7helmet,hpp
____15.1.8connect-redis
____15.1.9nvm,n
__15.2깃과깃허브사용하기
____15.2.1깃설치하기
____15.2.2깃허브사용하기
__15.3AWS시작하기
__15.4AWS에배포하기
__15.5GCP시작하기
__15.6GCP에배포하기
__15.7함께보면좋은자료

16장서버리스노드개발
__16.1서버리스이해하기
__16.2AWSS3사용하기
__16.3AWS람다사용하기
__16.4구글클라우드스토리지사용하기
__16.5구글클라우드펑션스사용하기
__16.6함께보면좋은자료

17장타입스크립트노드개발
__17.1타입스크립트기본문법
__17.2커뮤니티타입정의적용하기
__17.3라이브러리코드타이핑하기
__17.4내가작성한코드타이핑하기
__17.5함께보면좋은자료

찾아보기

출판사 서평

노드와함께사용하는템플릿엔진과모듈에대해상세히설명하여실무활용도를높였습니다.실제로
응용할수있는다양한예제를효율성높고,가독성좋은코드로만들어수록했습니다.
_웹서버:익스프레스,퍼그,넌적스
_SNS서비스:Passport,multer,bcrypt,MySQL,시퀄라이즈
_웹API서버:RESTAPI,JWT토큰,호출서버,사용량제한,CORS
_노드서비스테스트:유닛테스트,테스트커버리지,통합테스트,부하테스트
_실시간GIF채팅방:웹소켓,Socket.IO,ws모듈,몽고디비,몽구스
_경매시스템:서버센트이벤트,스케줄링
_커맨드라인인터페이스(CLI):commander,inquirer
_서버리스노드:AWSS3,AWS람다,구글클라우드스토리지,구글클라우드펑션스

실무코드라면ES2015+&타입스크립트로!
실무에서는대부분ES2015+를사용하고,이책의코드도그렇습니다.추가로ES2022에맞춰Map/Set과널병합,옵셔널체이닝을설명하고,예제코드전반에사용했습니다.정식지원되는ECMAScript모듈사용법도다룹니다.또한,타입스크립트를적극적으로도입하는요즘추세에맞춰노드프로젝트를타입스크립트로전환하는방법을추가했습니다.이책을통해새로운문법을익히고,실무에서도응용해보세요!

추천사

Node.js에대한깊고방대한지식을독자에게아낌없이전달해주는책입니다.개인적으로평소에궁금했던Node.js의작동원리와CommonJS관련내용이도움이되었습니다.Node.js를제대로공부해보고싶은분들에게강력히추천합니다.-박현우(티맥스WAPL프런트엔드개발자)
단순한정의나열이아니라실무에서사용되는개념과기능을설명하고이를프로젝트에적용해실습함으로써실제서비스를만들때어떻게사용되고어디에필요한지이해할수있었습니다.
-이호섭(프런트엔드개발팀)

최신자바스크립트의주요변경사항과클라우드환경에서의활용,타입스크립트에대한내용까지잘정리되어있어이책한권으로최신Node.js의전반적인내용을모두이해할수있습니다.
-김상영(LG전자ID클라우드솔루션Project)

Node.js의수많은기능을다양하게활용할수있도록관련된부분은거의모두다루고있습니다.또한,테스트부분은다른책에서는볼수없는이책만의강점이라고생각합니다.
-김미수(웹개발자)

Node.js의기본기능부터웹활용과의차이까지각항목별로세세하게비교하고있습니다.ECMAScript최신버전의자바스크립트기능과트렌드를Node.js실습을통해익힐수있습니다.
-문주영(웹프런트엔드개발자)

저를비롯해수많은입문자가제로초님의Node.js강의로Node.js를시작했을겁니다.개정3판에서는NodeBird프로젝트에타입스크립트를적용하는장이추가되고프로젝트의코드가예전에비해훨씬간결해져서타입스크립트를사용하는환경이나실무에서활용하고자하는사람들에게더많은도움을줄수있을것같습니다.
-권민승(백엔드개발자)

1,2판에이어3판이나오면서최신Node.js가적용되고있으며저자의블로그에서꾸준히피드백이이뤄지는만큼언제읽더라도안정적으로학습할수있으리라생각합니다.
-임창우(차라투주식회사)

비동기개념부터ES2015등과같은필수개념까지설명해주고,다양한예제와더불어예외처리하는방법도다루므로실무에더욱도움이됩니다.특히부하테스트하는부분을재미있게봤습니다.-이호철(프런트엔드개발자)

RESTAPI같은서버개발을위해반드시알아야하는내용과HTTP/HTTPS,세션,쿠키등웹개발에필수적인내용그리고소켓프로그래밍,실시간처리,깃,AWS/GCP등클라우드플랫폼,람다를활용한서버리스서비스등Node.js와관련된모든내용을총망라한책입니다.이책에서실무적으로도움이되는많은아이디어와인사이트를얻을수있었습니다.
-임혁(Hotseller(5년차개발자))