본문 바로가기

리디 접속이 원활하지 않습니다.
강제 새로 고침(Ctrl + F5)이나 브라우저 캐시 삭제를 진행해주세요.
계속해서 문제가 발생한다면 리디 접속 테스트를 통해 원인을 파악하고 대응 방법을 안내드리겠습니다.
테스트 페이지로 이동하기

[되기] Node.js 백엔드 개발자 되기 상세페이지

컴퓨터/IT 개발/프로그래밍 ,   컴퓨터/IT 컴퓨터/앱 활용

[되기] Node.js 백엔드 개발자 되기

TypeScript + Node.js + Express + NestJS로 배우는 자바스크립트 백엔드 입문자를 위한 풀 패키지 [ 필수 리눅스 명령어 수록 ]
소장종이책 정가38,000
전자책 정가20%30,400
판매가30,400
[되기] Node.js 백엔드 개발자 되기 표지 이미지

리디 info

[도서 안내]
본 도서 『Node.js 백엔드 개발자 되기』 는 2023년 5월 8일, 본문 내 목차 표시되지 않는 오류 해결되었습니다.
기존 구매자분들께서는 앱 내의 '내 서재'에 다운받은 도서를 삭제하신 후, '구매목록'에서 재다운로드 하시면 수정된 도서로 이용하실 수 있습니다. 도서 이용에 참고 부탁드립니다.
※ 단, 재다운로드시 기존 도서에 남긴 독서노트(형광펜, 메모, 책갈피)는 초기화되거나 위치가 변경됩니다.


[되기] Node.js 백엔드 개발자 되기작품 소개

<[되기] Node.js 백엔드 개발자 되기> ★ 자바스크립트 Node.js 백엔드 개발자가 되고 싶다면
★ HTML/CSS/자바스크립트 그다음에 꼭 보세요
실력을 갖춘 개발자로 성장하려면 시작이 중요합니다. 그래서 이 책은 무엇부터 익혀야 하는지 막막한 입문자에게 백엔드 개발의 필수 지식을 학습 로드맵 중심으로 설명합니다. 이어서 자바스크립트 기반 백엔드 개발에 꼭 필요한 3대장인 타입스크립트 언어와 Node.js 런타임, 익스프레스와 NestJS 웹 프레임워크를 활용하여 최신 트렌드에 맞게 그리고 실무에 유용하도록 백엔드 기술을 알려줍니다. 검색, 댓글, 페이지네이션 기능을 제공하는 게시판, 채팅방 기능이 있는 실시간 통신 채팅 프로젝트까지 탄탄하고 유용하게 알려드립니다. 모든 장 끝에는 연습문제가 수록되어 있어 배운 내용을 확인할 수 있습니다. 이 책이 여러분의 백엔드 개발자 여정에 든든한 나침반이 되어 줄 겁니다.


〈되기〉 시리즈 소개
〈되기〉 시리즈는 이름 그대로 IT 분야에서 성장하려는 여러분을 위해 준비한 책입니다. 엄선된 IT 기술들을 로드맵과 함께 제시하고, 실무 중심으로 공부할 수 있도록 안내합니다. 여러분이 해당 분야에서 실무자로 빠르게 성장할 수 있도록 지원하겠습니다.


출판사 서평

★ 백엔드 세상에 오신 걸 환영합니다
★ HTML/CSS/자바스크립트 그다음 책을 소개합니다
환영합니다. 백엔드 개발자가 되고 싶은데 무엇을 어떻게 할지 모르겠는 분이라면, 잘 찾아오셨습니다. 이 책은 HTML/CSS/자바스크립트를 공부하고 나서 자바스크립트 기반 백엔드 입문자가 알아야 하는 내용을 알려줍니다. 한 분야의 개발자로 성장하려면 참으로 많은 것을 알아야 합니다. 마냥 쉬운 것만 배워서는 안 됩니다. 조금 힘들더라도 실전에서 사용하는 기술 중심으로 깊이 있게 배워야 실력이 쌓입니다. 그래서 이 책은 입문자뿐만 아니라, 기본을 다시 다지고 싶은 현업 개발자에게도 유용한 내용을 Node.js를 중심으로 충실히 담았습니다. 타입스크립트를 알고 있으면 학습에 도움이 됩니다. 타입스크립트 문법은 부록에서 알려드립니다.


자바스크립트 백엔드, 3대장으로 시작하세요
자바스크립트 백엔드는 〈프로그래밍 언어〉, 〈런타임〉, 〈웹 프레임워크〉 3대장으로 시작하세요. 자바스크립트 백엔드 환경의 핵심은 Node.js입니다. Node.js를 강력하게 이용하려면 객체지향 프로그래밍 기법을 제공하는 타입스크립트가 필요합니다. 지금까지 Node.js는 서버 프레임워크로 익스프레스를 사용해왔지만 최근에는 NestJS를 채택하는 추세입니다. 하지만 현업에서는 이 두 도구를 모두 다룰 줄 알아야 하므로 이 책은 익스프레스와 NestJS를 모두 다룹니다. 그러면 3대장을 구체적으로 알아볼까요?


〈타입스크립트〉는 자바스크립트를 기반으로 정적 타입 문법을 추가한 프로그래밍 언어입니다. 대형 프로젝트에서 많이 사용하며, 요즘 대부분의 회사에서는 팀 작업 시 필수로 선택하는 언어입니다. ES6를 기반으로 한 새로운 문법을 제공하며, 자바스크립트와 완벽히 호환됩니다. 마이크로소프트의 지원을 받아 비교적 최근 언어이지만, 강력한 생태계를 가지고 있습니다(부록 A 참고).


〈Node.js〉는 서버 단에서 자바스크립트를 실행할 수 있는 자바스크립트 런타임입니다. Node.js는 요구사항이 많고 빠르게 변하는 환경에 있는 개발자에게 좋은 선택입니다. 프론트엔드와 같은 코드를 사용할 수도 있으며, Node.js의 개발자 생태계는 매우 풍성해서 개발 시간 단축 및 시스템의 안정성을 높일 수 있는 장점이 있습니다.


〈익스프레스〉는 Node.js에서 가장 많이 사용되는 웹 프레임워크입니다. 미니멀리스트 프레임워크를 지향하고 있으며, 확장이 용이한 구조로 되어 있어 많은 확장 라이브러리가 있습니다. 〈NestJS〉는 최신의 자바스크립트 최신 기술을 적용해, 생산성 있는 웹 애플리케이션을 빠르고 안정적으로 만들 수 있게 도와주는 웹 프레임워크입니다.


개발자 되기 시리즈는 여러분에게 앞으로 나아갈 길을 먼저 제시합니다
입문자를 위한 백엔드 로드맵을 만나보세요
저자는 백엔드 개발자로 입문할 때 겪은 난감함을 떠올렸습니다. 무엇을 어떻게 할지 몰랐습니다. 로드맵이 필요했습니다. 하지만 누구도 제대로 된 로드맵을 제공해주지 않았습니다. 그래서 저자는 입문자에게 필요한 백엔드 로드맵을 먼저 제시하고 설명합니다. 로드맵에는 수많은 기술이 나열되어 있습니다. 책 한 권에 로드맵에 있는 모든 걸 담을 수도, 한 번에 모두 배울 수도 없습니다. 이 책은 그중에서도 출발점으로 삼을 기본 지식을 자바스크립트 Node.js를 중심으로 추려 알려줍니다.





실무에 유용한 기술로 익히세요
기술은 빠르게 변합니다. 지금은 대세이지만 지는 기술, 아직은 미약하지만 뜨는 기술이 있습니다. 트렌드가 변하는 데는 그럴 만한 이유가 있습니다. 반면 기본은 트렌드와 무관하게 변하지 않습니다. 그래서 기본은 탄탄하게, 기술셋은 트렌디하면서 실무에 유용하게 설명했습니다.


경험을 녹인 고퀄리티 코드를 접하세요
인터넷을 검색하면 손쉽게 동작하는 코드를 얻을 수 있습니다. 그렇게 얻은 코드 대부분은 기능이 부족하거나 서비스가 성장하면서 다양한 이슈를 낳게 됩니다. 이 책에 들어 있는 코드는 그런 인터넷 복붙 코드가 아닙니다. 대규모 서비스를 개발하고 운영한 경험을 녹인 코드입니다. 예를 들어 게시판 코드는 많지만, 실무에 진짜로 필요한 기능을 제대로 제공하는 코드는 인터넷에 없습니다. 이 책에서 제대로 동작하는 검색, 댓글 첨삭, 페이지네이션, 파일 업로드, 소셜 로그인 기능을 담은 게시판을 만나보기 바랍니다.


변경하거나 수정한 코드를 확실하게 표시합니다.
현업에서처럼 이 책에서도 지속적으로 코드를 수정해 완성하기 때문에 기존 코드 어디를 수정 혹은 삭제했는지 알 수 있어야 합니다. 편리하게 찾을 수 있게 변경 사항이 있는 코드를 삭제선과 노란 배경색으로 표시했습니다.






이 책에서 다루는 내용을 소개합니다
이 책은 학습 흐름을 끊지 않기 위해 개발 환경부터 미리 구축해놓은 후, Node.js를 중심으로 레벨 1부터 레벨 3로 나눠 자바스크립트 백엔드 개발 소양을 쌓아 나갑니다. 모든 장에는 연습문제를 수록했으며, 부록 A에서는 '타입스크립트 입문에서 고급 기능까지', 부록 B에서는 '꼭 알아야 하는 리눅스 명령어 21개'를 알려드립니다.


_Level 1 백엔드 개발자 입문하기
0장에서 개발 환경을 구축한 후에, 1장에서 백엔드 개발자가 무엇을 알아야 하는지와 어떤 일을 하는지 안내합니다. 알아두면 도움이 되는 넓고 얕은 지식을 알려드리기 때문에 생소한 단어가 많이 출현할 겁니다. 한 번에 모든 걸 이해하려 들지 않아도 됩니다. 처음에 한 번 읽고 나서, 나머지 책 분량을 모두 읽은 후 다시 읽어보세요. 그러면 '백엔드 개발자 되기'라는 궁극의 의도를 제대로 파악할 수 있을 겁니다.


_Level 2 Node.js와 Express로 백엔드 입문하기
최종 목표는 익스프레스(Express)로 게시판을 만들 수 있는 능력을 습득하는 겁니다. 사용자의 요구사항을 처리하고 반영하고 수정하는 게시판을 만들면 실무에 필요한 다양한 기술을 익힐 수 있습니다. 2장에서는 Node.js 동작 방식, 3장에서는 익스프레스로 웹 서버 만들기, 4장에서는 npm 사용 방법, 5장에서는 자바스크립트 비동기 처리 방법, 6장에서는 몽고디비를 다룹니다. 7장에서는 검색과 댓글 첨삭과 페이지네이션이되는 게시판을 만듭니다.


_Level 3 NestJS 프레임워크로 점핑하기
NestJS를 활용해 개발하는 방법을 알아봅시다. 8장에서는 NestJS를 알아보고, 9장에서는 NestJS 환경 변수 설정하기, 10장에서는 회원 가입과 로그인, 11장에서는 OAuth를 사용한 구글 로그인 인증, 12장에서는 파일 업로드 기능을 구현합니다. 마지막으로 13장에서는 웹소켓으로 실시간 채팅을 구현합니다.



함께 만들 예제를 소개합니다
_express로 댓글 첨삭과 페이지네이션이 되는 게시판 만들기(7장)
게시판은 웹 프레임워크로 만들 때 자주 등장하는 예제입니다. 하지만 제대로 된 게시판을 만들려면 생각보다 고려해야 할 사항이 많습니다. 검색, 페이징, 상세페이지에서 댓글 영역 처리하기 등을 제공하는 일은 상당히 까다롭습니다. 게시판만 잘 만들 수 있다면 현업에 필요한 대부분의 로직을 만들 수 있다고 해도 아주 틀린 말은 아닐 겁니다. 실제로 사용할 수 있을 정도의 기능을 가지고 있는 게시판을 함께 구현해봅니다.


_구글 OAuth를 사용해 구글 로그인 구현해보기(10장, 11장)
구글의 OAuth를 사용해 인증을 구현합니다. OAuth는 2006년에 구글과 트위터가 만든 개방형 인가의 표준입니다. 네이버, 구글, 카카오톡 등이 OAuth 기능을 활용한 소셜 로그인을 지원합니다. OAuth를 사용하면 유저의 인증 정보를 외부에서 받아오기 때문에 상대적으로 안전합니다. 유저 입장에서는 회원가입을 일일이 하지 않아도 되고 ID와 패스워드를 외우지 않아도 되니 편리합니다.


_파일 업로드 구현(12장)
파일 업로드 기능을 구현합니다. 문자뿐 아니라 영상이나 이미지 같은 포맷이 애플리케이션에 널리 활용됩니다. 이런 다양한 포맷을 애플리케이션에서 사용하려면 파일 업로드 기능이 필요합니다.


_실시간 채팅 구현하기(13장)
실시간 채팅을 구현합니다. 웹소켓은 서버도 클라이언트의 요청 없이 응답을 줄 수 있습니다. 13장에서는 웹소켓이 무엇인지 알아보고, 메아리 애플리케이션과 채팅 애플리케이션을 만들어보면서 실시간으로 갱신되는 애플리케이션에 대한 감을 잡아봅시다.

“오늘날 웹 애플리케이션은 프론트엔드와 백엔드의 경계가 모호합니다. 심지어 자바스크립트만 알면 혼자서도 개발이 가능한 환경이 되었습니다. 이 책은 먼저 자바스크립트 백엔드 개발자가 갖추어야 할 DNS와 HTTP 같은 기초 백엔드 지식을 알려줍니다. 이어서 대표적인 자바스크립트 런타임 환경인 Node.js, 전통의 강자 익스프레스, 최근 핫하게 부상한 NestJS를 사용해 백엔드 개발에 필요한 데이터베이스 활용, 인증, 비동기 처리, 웹소켓 전송 같은 핵심 기능을 풍부한 예제를 곁들여 알려줍니다. 이 책은 백엔드 개발의 길이 막막했던 입문자와 개발자께 훌륭한 조력자가 되어줄 겁니다.”
강상진_ Akamai Technologies 클라우드 스페셜리스트


“백엔드 개발을 할 때 수많은 기술 중에서 필요한 기술을 선택해야 합니다. 그래서 기본 기술들이 무엇이고 왜 필요한지 이해하는 것이 중요합니다. 이 책은 백엔드 개발 로드맵을 제시하고, 학습 코스를 시각적으로 보여주고 나서 각 기술을 원리와 함께 차근차근 설명합니다.
Node.js가 어떻게 동작하는지, 익스프레스가 어떻게 유용했는지, 그럼에도 왜 NestJS가 대두되는지를 이유를 들어 설명한 후, 서비스 개발에 필요한 회원가입, 인증, 파일 업로드, 웹소켓을 사용해 게시판과 채팅 애플리케이션을 개발합니다. 백엔드 전문가가 쓴 이 책이 더 많은 백엔드 전문가를 낳는 토대가 되리라 고대합니다.”
강대명_ 레몬트리 CTO


“인터넷 세상이 열린 후 게시판은 항상 우리가 사용하던 애플리케이션입니다. 흔하기 때문에 쉽게 지나칠 수 있으나 사실 게시판을 제대로 만들려면 많은 어려움이 있고 고민할 지점이 적지 않습니다. 저자는 페이지네이션되고 댓글을 달 수 있는 게시판을 만드는 과정을 통해 자바스크립트와 타입스크립트를 익히고, Node.js/익스프레스/NestJS/몽고디비와 같이 널리 쓰이는 기술을 알려줍니다. 저자의 설명을 하나씩 따라 가고 코드를 입력하면 백엔드에 대해 기본적인 사항을 배울 수 있습니다.”
정현준_ 개발자


“프로덕트를 만들어내는 방법을 알고 적절한 기술을 선택하는 능력이 중요한 시대가 되었습니다. 이 책은 백엔드 전반에 걸쳐 주요 개념을 친절히 소개해주고 현업에서 많이 쓰는 기술을 사용한 예제가 가득합니다. 지금의 기술 실력을 키울 수 있을 뿐만 아니라, 시간이 흘러 기술이 변화하더라도 이 책을 통해 배운 기초 실력은 쉽게 흔들리지 않을 겁니다. 이러한 이유로 백엔드 개발을 이 책으로 입문하시길 적극 추천드립니다.”
서지연_ 컨택스츠아이오 백엔드 개발자


저자 소개

박승규
아직도 개발이 재미 있는 15년차 천상 개발자입니다. 웹 개발, 게임 백엔드 개발, 플랫폼 및 인프라 개발 등 다양한 영역을 경험했습니다. 현재는 카카오엔터테인먼트에서 백엔드 개발자로 일합니다. 현) 카카오엔터테인먼트 페이지 서비스 개발팀 전) 트리노드 (포코팡, 포코포코) 서버 개발자 전) NHN Japan 플랫폼 개발팀

목차

[레벨 1 백엔드 개발자 입문하기]


00장 개발 환경 구축하기
_0.1 윈도우 개발 환경 구축
__0.1.1 Node.js 설치
__0.1.2 깃 설치
__0.1.3 비주얼 스튜디오 코드 설치
_0.2 맥OS 개발 환경 구축
__0.2.1 Node.js 설치
__0.2.2 깃 설치
__0.2.3 비주얼 스튜디오 코드 설치
_0.3 리눅스 개발 환경 구축
__0.3.1 Node.js 설치
__0.3.2 깃 설치
__0.3.3 비주얼 스튜디오 코드 설치
_0.4 예제 소스 코드 내려받기
_0.5 VSCode로 내려받은 소스 코드 실행하기
_0.6 VSCode 입문자를 위한 사용법 안내
__0.6.1 코드 실행하기
__0.6.2 디버깅하기
__0.6.3 VSCode 단축키


01장 알아두면 좋은 백엔드 개발자를 위한 지식
_1.1 백엔드 개발자가 알아야 하는 것
_1.2 백엔드 개발자의 업무
_1.3 백엔드 아키텍처
_1.4 백엔드 프로그래밍 언어
_1.5 데이터베이스
__1.5.1 RDB
__1.5.2 NoSQL(Not Only SQL)
_1.6 클라우드 서비스
_1.7 자바스크립트 생태계
__1.7.1 패키지 매니저
__1.7.2 빌드 도구
__1.7.3 개발 도구
__1.7.4 웹 프레임워크
__1.7.5 백엔드 개발 환경
__1.7.6 인프라
_학습 마무리
_연습문제


[레벨 2 Node.js와 Express로 백엔드 입문하기]


02장 Node.js로 백엔드 입문하기
_2.1 Node.js 소개
_2.2 Node.js는 서버에서 어떻게 자바스크립트를 실행할까?
__2.2.1 Node.js의 구성요소
__2.2.2 자바스크립트 실행을 위한 V8 엔진
__2.2.3 이벤트 루프와 운영체제 단 비동기 API 및
스레드 풀을 지원하는 libuv
__2.2.4 Node.js 아키텍처
_2.3 Node.js의 기술적인 특징
__2.3.1 싱글 스레드
__2.3.2 이벤트 기반 아키텍처
__2.3.3 이벤트 루프
_2.4 Node.js 과연 쓸 만한가?
_2.5 나의 첫 Node.js 서버 프로그램
__2.5.1 hello.js 파일 생성 및 실행
__2.5.2 curl 내려받기 및 테스트해보기
_2.6 정말로 동시에 요청을 처리하는지 성능 테스트하기
__2.6.1 K6 설치
__2.6.2 K6로 성능 테스트 스크립트 작성하기
_학습 마무리
_연습문제


03장 Node.js와 익스프레스로 웹 애플리케이션 서버 구현하기
_3.1 OK를 반환하는 서버 만들기
_3.2 라우터 만들기
_3.3 createServer( ) 리팩터링하기
_3.4 동적으로 응답하기
_3.5 라우터 리팩터링하기
_3.6 익스프레스 프레임워크 사용하기
__3.6.1 익스프레스 설치하기
__3.6.2 나의 첫 익스프레스 서버 만들기
__3.6.3 Node.js 라이브러리로 만든 서버를 익스프레스로 구현하기
_3.7 익스프레스로 간단한 API 서버 만들기
__3.7.1 게시판 API 코드 작성하기
__3.7.2 API 규칙에 맞게 서버 구현하기
_3.8 게시판 API 테스트하기
__3.8.1 curl로 GET 호출하기
__3.8.2 curl로 POST를 호출해 게시글 등록하기
__3.8.3 curl로 DELETE를 호출해 게시글 삭제하기
_학습 마무리
_연습문제


04장 npm과 yarn으로 패키지 관리하기
_4.1 npm 소개
_4.2 패키지와 모듈
_4.3 package.json 파일을 만들기
_4.4 패키지 설치, 업데이트, 삭제
__4.4.1 패키지 설치하기
__4.4.2 패키지 업데이트하기
__4.4.3 설치한 패키지 확인하기
__4.4.4 패키지 삭제하기
_4.5 스크립트 기능과 NPX
__4.5.1 npm 스크립트 파일을 정의하기
__4.5.2 NPX로 코드 포매팅 명령어 prettier 실행하기
_4.6 패키지 잠금
_4.7 npm의 대안 yarn
_학습 마무리
_연습문제


05장 자바스크립트에서 비동기 처리하기
_5.1 자바스크립트 비동기 소개
_5.2 콜백 함수 소개
_5.3 Promise 객체
__5.3.1 동시에 여러 Promise 객체 호출하기
__5.3.2 Promise 예외 처리하기
__5.3.3 프로미스의 문제점
_5.4 async await 구문
_학습 마무리
_연습문제


06장 NoSQL 데이터베이스 몽고디비 사용하기
_6.1 몽고디비 소개
__6.1.1 데이터베이스 기본 용어
__6.1.2 몽고디비 특징
_6.2 몽고디비 아틀라스 설정하기
_6.3 몽고디비 CRUD API 만들기
_6.4 몽고디비 콤파스로 데이터 확인하기
_6.5 몽구스를 사용해 CRUD 만들기
__6.5.1 몽구스 설치하기
__6.5.2 몽구스로 스키마 만들기
__6.5.3 몽구스와 익스프레스로 CRUD API 만들기
_6.6 REST 클라이언트로 API 테스트하기
_학습 마무리
_연습문제


07장 페이지네이션되는 게시판 만들기
_7.1 프로젝트 구조 소개
_7.2 게시판 프로젝트 셋업
__7.2.1 Node.js 프로젝트 초기 설정
__7.2.2 익스프레스 설치 및 프로젝트 디렉터리 구조 잡기
__7.2.3 핸들바 템플릿 엔진 설치 및 설정하기
_7.3 화면 기획하기
__7.3.1 리스트 화면 기획
__7.3.2 글쓰기 화면 기획
__7.3.3 상세 화면 기획
_7.4 UI 화면 만들기
__7.4.1 리스트 UI 만들기
__7.4.2 글쓰기 UI 만들기
__7.4.3 상세페이지 UI 만들기
_7.5 API 만들기
__7.5.1 몽고디비 연결을 위한 유틸리티 만들기
__7.5.2 UI 페이지에서 사용할 핸들바 커스텀 헬퍼 만들기
__7.5.3 nodemon 설정하기
__7.5.4 글쓰기 API 만들기
__7.5.5 리스트 API 만들기
__7.5.6 상세페이지 API 만들기
__7.5.7 글 수정 API
__7.5.8 글 삭제 API
__7.5.9 댓글 추가 API
__7.5.10 댓글 삭제 API
_학습 마무리
_연습문제


[레벨 3 NestJS 프레임워크로 점핑하기]


08장 NestJS 시작하기
_8.1 왜 NestJS가 필요할까?
_8.2 NestJS 소개
__8.2.1 익스프레스와 NestJS 비교하기
__8.2.2 NestJS 둘러보기
_8.3 NestJS 설치하고 실행하기
__8.3.1 의존성 패키지 설치하기
__8.3.2 타입스크립트 설정하기
__8.3.3 NestJS의 모듈과 컨트롤러 만들기
__8.3.4 hello-nest 앱 실행시켜보기
__8.3.5 NestJS의 네이밍 규칙
_8.4 NestJS로 웹 API 만들기
__8.4.1 프로젝트 생성과 설정
__8.4.2 컨트롤러 만들기
__8.4.3 블로그 API 작성하기
__8.4.4 메모리에 데이터를 저장하는 API 만들기
__8.4.5 파일에 정보를 저장하도록 API 업그레이드하기
_8.5 의존성 주입하기
_8.6 몽고디비 연동하기
__8.6.1 의존성 설치
__8.6.2 스키마 만들기
__8.6.3 몽고디비를 사용하는 리포지토리 추가하기
__8.6.4 서비스 코드 변경
__8.6.5 모듈에 몽고 디비 설정과 프로바이더 설정 추가하기
_학습 마무리
_연습문제


09장 NestJS 환경 변수 설정하기
_9.1 환경 변수 소개
_9.2 프로젝트 생성 및 설정하기
_9.3 NestJS 설정 및 테스트하기
__9.3.1 app.module.ts에 ConfigModule 설정하기
__9.3.2 .env 파일 생성하기
__9.3.3 app.controller.ts에 코드 추가하기
__9.3.4 테스트하기
_9.4 ConfigModule을 전역 모듈로 설정 하기
__9.4.1 .env에 환경 변수 설정하기
__9.4.2 weather 모듈 만들기
__9.4.3 날씨 API 테스트용 핸들러 함수로 테스트하기
_9.5 여러 환경 변수 파일 사용하기
__9.5.1 환경별로 서버가 기동되도록 스크립트 수정하기
__9.5.2 local, dev, prod 환경 변수 생성
__9.5.3 환경 변수에 따라서 다른 환경 변수 파일을 사용하도록 설정 수정하기
__9.5.4 테스트용 핸들러 함수로 테스트하기
_9.6 커스텀 환경 설정 파일 사용하기
__9.6.1 환경 변수 파일 생성하기
__9.6.2 ConfigModule에 load 옵션 추가하기
__9.6.3 커스텀 환경 변수 읽기 테스트하기
_9.7 서버 기동과 환경 설정 파일 초기화 순서 알아보기
_9.8 YAML 파일을 사용해 환경 변수 설정하기
__9.8.1 js-yaml 설치하기
__9.8.2 config.yaml 파일 생성하기
__9.8.3 config.ts 수정하기
__9.8.4 테스트용 핸들러 함수로 테스트하기
_9.9 캐시 옵션 사용하기
_9.10 확장 변수 사용하기
__9.10.1 확장 변수를 사용할 수 있게 추가 설정하기
__9.10.2 테스트용 핸들러 함수로 테스트하기
_9.11 main.ts에서 환경 변수 사용하기
_학습 마무리
_연습문제


10장 회원 가입과 인증하기
_10.1 실습용 프로젝트 설정하기
__10.1.1 nest-cli로 프로젝트 생성하기
__10.1.2 User 모듈 생성하기
__10.1.3 SQLite 데이터베이스 설정하기
_10.2 유저 모듈의 엔티티, 서비스, 컨트롤러 생성하기
__10.2.1 엔티티 만들기
__10.2.2 컨트롤러 만들기
__10.2.3 서비스 만들기
__10.2.4 테스트하기
_10.3 파이프로 유효성 검증하기
__10.3.1 전역 ValidationPipe 설정하기
__10.3.2 UserDto 만들기
__10.3.3 테스트하기
_10.4 인증 모듈 생성 및 회원 가입하기
__10.4.1 인증 모듈 만들기 및 설정하기
__10.4.2 회원 가입 메서드 만들기
__10.4.3 sqlite 익스텐션으로 테이블 확인하기
_10.5 쿠키를 사용한 인증 구현하기
__10.5.1 AuthService에 이메일과 패스워드 검증 로직 만들기
__10.5.2 가드를 사용해 인증됐는지 검사하기
_10.6 패스포트와 세션을 사용한 인증 구현하기
__10.6.1 라이브러리 설치 및 설정
__10.6.2 로그인과 인증에 사용할 가드 구현하기
__10.6.3 세션에 정보를 저장하고 읽는 세션 시리얼라이저 구현하기
__10.6.4 email, password 인증 로직이 있는 LocalStrategy 파일 작성하기
__10.6.5 auth.module.ts에 설정 추가하기
__10.6.6 테스트하기
__10.6.7 로그인과 세션 저장까지 순서
_학습 마무리
_연습문제


11장 OAuth를 사용한 구글 로그인 인증하기
_11.1 OAuth 소개
__11.1.1 OAuth 프로토콜 흐름
__11.1.2 액세스 토큰을 재발행하는 흐름
_11.2 구글 OAuth를 사용하기 위한 준비하기
__11.2.1 구글 클라우드에서 프로젝트 생성하기
__11.2.2 OAuth 동의 화면을 만들기
__11.2.3 OAuth 클라이언트의 ID와 비밀번호 만들기
_11.3 구글 OAuth 구현 순서
_11.4 NestJS 환경 설정 파일 추가하기
_11.5 구글 OAuth 스트래티지 만들기
_11.6 GoogleAuthGuard 만들기
_11.7 컨트롤러에 핸들러 메서드 추가하기
__11.7.1 테스트하기
_11.8 User 엔티티 파일 수정하기
_11.9 UserService에 구글 유저 검색 및 저장 메서드 추가하기
_11.10 GoogleStrategy에 구글 유저 저장하는 메서드 적용하기
_11.11 GoogleAuthGuard에 세션을 사용하도록 변경하기
_11.12 테스트하기
_학습 마무리
_연습문제


12장 파일 업로드 기능 구현하기
_12.1 프로젝트 생성 및 의존성 설치하기
_12.2 파일 업로드 API를 만들고 테스트하기
__12.2.1 테스트하기
_12.3 업로드한 파일을 특정한 경로에 저장하기
__12.3.1 테스트하기
_12.4 정적 파일 서비스하기
__12.4.1 테스트하기
_12.5 HTML 폼으로 업로드하기
_학습 마무리
_연습문제


13장 웹소켓을 사용한 실시간 채팅 구현하기
_13.1 웹소켓 소개
__13.1.1 웹소켓의 동작 방법
_13.2 메아리 애플리케이션 만들기 : 웹소켓
__13.2.1 ws 패키지 설치하기
__13.2.2 서버 측 구축하기 : server.js 파일 작성 및 서버 구동
__13.2.3 클라이언트 측 구현하기 : client.html 파일 작성
__13.2.4 테스트하기
__13.2.5 향후 과제 확인하기
_13.3 간단한 채팅 애플리케이션 만들기 : socket.io
__13.3.1 socket.io 프로젝트 생성하기
__13.3.2 패키지 설치하기
__13.3.3 html 파일을 불러오도록 main.ts 설정하기
__13.3.4 서버 측 작업을 위한 게이트웨이 만들기
__13.3.5 게이트웨이를 모듈에 등록하기
__13.3.6 클라이언트를 위한 index.html 수정하기
__13.3.7 테스트하기
_13.4 채팅방 기능이 있는 채팅 애플리케이션 만들기
__13.4.1 네임스페이스 사용하기
__13.4.2 닉네임 추가하기
__13.4.3 채팅방 생성하기
__13.4.4 공지 영역과 채팅방 입장 구현하기
__13.4.5 채팅방에서 대화 나누기 구현하기
__13.4.6 테스트하기
_학습 마무리
_연습문제


appendix A 타입스크립트 입문에서 고급 기능까지
appendix B 꼭 알아야 하는 리눅스 명령어 21개


리뷰

구매자 별점

5.0

점수비율
  • 5
  • 4
  • 3
  • 2
  • 1

3명이 평가함

리뷰 작성 영역

이 책을 평가해주세요!

내가 남긴 별점 0.0

별로예요

그저 그래요

보통이에요

좋아요

최고예요

별점 취소

구매자 표시 기준은 무엇인가요?

'구매자' 표시는 리디에서 유료도서 결제 후 다운로드 하시거나 리디셀렉트 도서를 다운로드하신 경우에만 표시됩니다.

무료 도서 (프로모션 등으로 무료로 전환된 도서 포함)
'구매자'로 표시되지 않습니다.
시리즈 도서 내 무료 도서
'구매자’로 표시되지 않습니다. 하지만 같은 시리즈의 유료 도서를 결제한 뒤 리뷰를 수정하거나 재등록하면 '구매자'로 표시됩니다.
영구 삭제
도서를 영구 삭제해도 ‘구매자’ 표시는 남아있습니다.
결제 취소
‘구매자’ 표시가 자동으로 사라집니다.

이 책과 함께 구매한 책


이 책과 함께 둘러본 책



본문 끝 최상단으로 돌아가기

spinner
모바일 버전