BEST
개발 · 프로그래밍

/

백엔드

[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core

자바스크립트, 타입스크립트 다음은 백엔드 개발! NestJS를 이용한 REST API 백엔드 개발, Socket IO 개발 및 배포를 할 수 있게 됩니다.

(5.0) 수강평 74개

수강생 1,335명

Thumbnail

초급자를 위해 준비한
[웹 개발] 강의입니다.

이런 걸
배워요!

  • NestJS

  • TypeORM

  • Postgresql

  • Docker

  • Docker Compose

  • REST API

백엔드가 처음이어도 누구나 OK! 
트렌디한 NestJS로 서버 개발을 배워보세요.

NestJS 프레임워크 마스터 클래스 : Part 1

Node.js 기반 백엔드 서버 프레임워크, NestJS의 라이프사이클에서 사용되는 모든 코어 기능을 배우는 데 집중합니다.

자바스크립트, 타입스크립트를 배웠다면 
이제는 백엔드 개발입니다!

  • NestJS의 세세한 기능과 다양한 Annotation을 제대로 사용하는 방법에 대해 배웁니다.
  • Documentation에 충실한, 디테일한 강의를 진행합니다.

Javascript와 Typescript만 알고 있다면 이 강의를 통해서 NestJS로 REST API를 구성하고, Socket IO를 사용해 AWS에 다양한 방법으로 프로덕션 배포하는 방법에 대해 배울 수 있습니다.

Node.js 기반 백엔드 서버 기술을 배우고 싶은 분

JS/TS 학습 이후 후속 강의를 찾는 분

트렌디하고 인기있는 백엔드 기술을 배우고 싶은 분

이 강의는 단순히 겉핥기식의 NestJS 초보 탈출 강의가 아닙니다. NestJS에서 제공해 주는 기능들을 전반적으로 모두 포함하고 있으며 차근차근 난이도를 올려가며 어떤 상황에서 사용해야 하는 기능인지 예제를 통해 학습할 수 있도록 가르칩니다.

JS/TS 기초가 궁금하다면


배우는 내용을 
확인해보세요.

💡 백엔드와 REST API 설계를 처음 배우는 학생들도 차근차근 따라올 수 있도록 천천히 난이도를 올리는 섬세한 커리큘럼을 제작했습니다. 가장 인기있는 SNS 중 하나인 인스타그램을 모방한 백엔드를 설계하며 백엔드 설계를 배웁니다.

NestJS를 이용해서 REST API 백엔드를 구축하고 배포할 수 있게 됩니다.

TypeORM을 이용한 다양한 데이터베이스 설계를 할 수 있습니다.

Socket.IO(소켓IO)를 이용한 실시간 채팅 서비스 개발 및 구현을 해봅니다.

Docker(도커)를 이용한 개발 환경 세팅 및 프로덕션 환경 세팅을 할 수 있습니다.

상세 커리큘럼

1. 강의 소개 및 각종 이론

NestJS 강의를 학습하기 위한 기본 지식들을 습득합니다. 키노트 기반으로 진행되며 단순히 NestJS에 대한 내용뿐만 아니라 백엔드 엔지니어 가이드, Node.js 간단 오버뷰 및 기술적 설명, HTTP, NestJS 소개 등 실무를 시작하기 전에 꼭 필요한 지식들을 담았습니다.

2. 환경설정

NestJS를 배우기 위해 macOS와 Windows에서의 환경설정을 진행합니다.

3. Node.js와 Express를 이용한 서버 구성 

Node.js에서 기본적으로 제공해주는 패키지인 HTTP를 이용해서 서버를 구성해보고 NestJS가 내부적으로 사용하고 있는 노드 인기 라이브러리인 Express를 이용한 서버 구성을 간단히 진행해보며 장단점을 살펴봅니다.

4. 프로젝트 컨셉 정리

강의에서 사용할 인스타그램 SNS 컨셉에 대해 설명합니다.

5. 컨트롤러 (Controller)

NestJS의 REST API를 구성하는 최전방 요소 중 하나인 컨트롤러에 대해 배워봅니다.

6. 쿼리와 파라미터 (Query and Parameters)

컨트롤러에서 데이터를 받을 수 있는 여러 방법 중 Query와 Parameter를 이용한 방법에 대해 배워봅니다.

7. 서비스 (Service)

컨트롤러에서 실행할 로직을 담당하는 서비스를 구현해 봅니다.

8. Module, Provider and Inversion of Control (IoC)

API를 구성하는 여러 컴포넌트들을 하나로 묶는 역할인 모듈에 대해 배워보고 IoC 컨테이너를 통한 Provider Dependency Injection이 어떻게 이뤄지는지 알아봅니다. 

9. SQL과 Docker

네스트에서 데이터베이스를 연동하기 위한 기본적인 SQL 지식을 배웁니다. 추가로 Postgresql을 실행할때 사용할 도커 사용법을 간단히 배워봅니다.

10. TypeORM으로 데이터베이스 연동하기

기존 메모리에서만 관리하던 데이터를 장기적으로 관리할 수 있도록 TypeORM을 이용해 Postgresql과 연동해 데이터를 관리하는 방법에 대해 배워봅니다.

11. TypeORM 이론 (기능 정리)

TypeORM 기능에 대해 전반적으로 알아보는 이론 강의입니다. 흔히 사용되는 함수들과 파라미터들에 대해 배웁니다.

12. Table Relation (관계)

One to One Relationship, One to Many Relationship, Many to One Relationship, Many to Many Relationship에 대해 이론과 TypeORM을 이용한 구현법을 배워봅니다.

13. 디버거 사용하기

VSCode에서 NestJS 디버거를 세팅하고 디버거를 이용해서 디버깅을 하는 방법에 대해 배워봅니다.

14. Authentication (인증)

토큰(Token)을 이용한 인증 절차 및 로그인 회원가입 시스템 구축법에 대해 배워봅니다.

15. Pipe (파이프)

값을 검증하고 변환하는 Pipe의 다양한 사용법을 탐구해봅니다.

16. 상속을 이용한 BaseModel 구현

TypeORM으로 테이블을 구현할 때 반복되는 프로퍼티 및 Column을 작성하지 않는 방법에 대해 배웁니다.

17. PgAdmin

PgAdmin을 이용한 Postgresql 데이터베이스 테이블 조회법에 대해 알아봅니다.

18. Guard (가드)

엔드포인트와 컨트롤러를 보호하는 역할을 하는 Guard에 대해 배워봅니다.

19. Custom Decorator (커스텀 데코레이터)

직접 Decorator를 만들고 어떤 로직들을 Decorator를 이용해서 구현 해볼 수 있는지 탐구해봅니다.

20. Postman 기능 심화

단순히 요청을 보내는 기능 외에 환경변수 사용법, Environment 설정법, Test 설정법, 토큰 탑재법 등 API 테스트를 더욱 효율적으로 만들어주는 기능들을 배워봅니다.

21. Class Validator

클래스의 프로퍼티를 Decorator를 이용해서 검증할 수 있는 기능인 Class Validator에 대해서 배워봅니다.

22. Class Transformer

클래스 프로퍼티를 Decorator를 이용해서 변환할 수 있는 기능인 Class Transformer에 대해서 배워봅니다.

23. Pagination 기본기 - Cursor Pagination

커서 기반 페이지네이션을 구현하는 가장 기본적인 방법에 대해 배워봅니다.

24. Pagination 기본기 - Page Pagination

페이지 기반 페이지네이션을 구현하는 가장 기본적인 방법에 대해 배워봅니다.

25. Pagination 심화 - 일반화 하기

다양한 엔드포인트에서 쉽게 페이지네이션을 구현 할 수 있도록 로직을 일반화하는 방법에 대해 배워봅니다.

26. Config 모듈 사용하기

NestJS 프레임워크에 환경 변수를 주입할 수 있는 방법인 Config 모듈 사용법에 대해 배워봅니다.

27. File Upload - 클래식 방법

가장 클래식한 파일 업로드 방법에 대해 배워봅니다.

28. Static File Serving (스태틱 파일 서빙하기)

NestJS에서 스태틱 파일을 외부로 서빙할 수 있는 세팅법에 대해 배워봅니다. 이전 섹션과 연계되어 업로드한 파일을 링크를 통해 조회하는 방법을 알아봅니다.

29. 파일 업로드 - 선 업로드 방법

Form Data로 모든 데이터를 한번에 묶는 형태가 아닌 파일을 먼저 업로드한 후 파일의 경로만 제공해서 클래식한 방법보다 비교적 빠른 방법으로 파일 업로드를 구현하는 방법에 대해 알아봅니다.

30. Transaction (트랜잭션)

All or Nothing 기능인 데이터베이스의 트랜젝션 기능을 TypeORM을 이용해서 구현하는 방법에 대해 알아봅니다.

31. Interceptor (인터셉터)

NestJS의 인터셉터 사용 방법과 간단한 RxJS 사용법에 대해 알아봅니다. 사용하기 좋은 예제로 트랜잭션을 인터셉터로 구현하는 방법에 대해 알아봅니다.

32. Exception Filter (익셉션 필터)

NestJS에서 대표적으로 예외 처리를 하는 방법인 Exception Filter 사용법에 대해 알아봅니다.

33. Middleware (미들웨어)

NestJS에 들어오는 요청에 가장 먼저 적용되는 미들웨어에 대해 알아봅니다.

34. Websocket Socket.IO - 기본기

Socket.IO 기본 사용법에 대해 알아봅니다.

35. Websocket Socket.IO - 심화

NestJS에서 제공해 주는 Socket IO 관련 각종 Decorator에 대해 알아봅니다.

36. 모듈 네스팅

Post - Comment 예제를 이용해서 하위 모듈 생성에 대한 필요성을 알아봅니다.

37. RBAC - Role Based Access Control

어드민 페이지 관련 서버 기능을 제작할 때 특히나 중요한 RBAC 기반의 API를 구현하는 방법에 대해 알아봅니다.

38. Authorization

NestJS 스타일로 권한 부여 기능을 제작하는 방법에 대해 알아봅니다.

39. Following System

팔로잉 시스템을 구현해 봅니다.

40. Follow Count, Comment Count 작업하기

각종 Count 기능 관련 로직을 구현해 봅니다.


누적 수강생 9,000명 이상 
지식공유자 코드팩토리입니다!

저는 2022년 플러터 강의를 시작으로 인프런 및 유튜브에서 꾸준히 활동을 해왔습니다. 비교적 작은 생태계인 플러터 강의만으로 인프런 2022 Rookie of the Year를 달성했고, 이제 저의 메인 기술 영역인 Javascript 스택과 DevOps 그리고 클라우드 쪽으로 강의 파이프라인을 확장하기 위해 다양한 강의를 준비 중입니다.

(인프런이 만난 사람, 코드팩토리 인터뷰 >>)

Javascript 강의로 제 강의력을 판단하기 어렵다면 인프런 내 코드팩토리의 플러터 강의 후기를 확인해보세요! 항상 발전하고 좋은 강의를 제작하는 코드팩토리가 되겠습니다.

★★★★★

17년차 개발자입니다. 이 강의는 플러터에 입문하시는 분들에게도 추천하고, 실무용 프로젝트에도 매우 유용한 강의입니다. 이보다 좋은 강의가 없네요. 여기가 진짜입니다. 수강료가 아깝지 않을 정도로 깔끔하게 설명해주시고, 정말 많은 도움을 받고 있는 강의입니다.

★★★★★

정말 완벽에 가까운 강의입니다. 플러터를 공부하려고 거의 모든 책을 구매하였고, 온라인 클론 코딩도 많이 접하였습니다. 다른 플랫폼에서 플러터에 대해 정말 차근차근 잘 알려주는 강의도 들어봤습니다. 그런데 이게 제일 유용합니다. 가장 실무적이고 가성비가 있습니다. 이것을 먼저 배우고 부족한 부분을 채워나가시길 진심으로 조언합니다.

★★★★★

그 많은 강의들 중에서 코드팩토리님의 강의는 베스트 오브 더 베스트라고 생각합니다. 제가 본 다른 강의들의 대부분이 어느 한 부분에서 소홀하거나 패스하는 경우가 많아서 배우는 입장에서 연결이 되지 않아 이해를 놓치고 아쉬운 경우가 정말 많았는데 코드팩토리님의 강의는 그런 게 없습니다. 일단 들어보시면 후회 안 하실 겁니다. 후회가 아니라 만족과 더불어 저처럼 찐팬이 되시리라 생각합니다.

★★★★★

전세계 플랫폼, 유튜브, 오프라인 강의 통틀어 플러터 관련 제일 좋은 강의 중 하나가 아닐까 싶습니다. 한국어가 모국어라 이 강의를 들을 수 있다는 점에 다행이다 싶을 정도입니다. 실무적인 부분과 기술적인 부분이 함께 양립되어 있고, 제대로 개념을 하나하나 깨우치면서 단계를 밟아나가는 강의는 이 강의만한 것이 없다고 생각합니다.

수강생을 위한 특별한 추가 혜택

1) 정기적으로 유튜브에서 라이브 방송을 진행하고 있습니다. 모든 유형의 개발 고민과 질문을 받고 있으며 강의를 진행하며 어려움이 있을 경우 즉각적으로 대답을 드릴 수 있는 시간을 할당하기 위해 노력 중입니다. 더이상 소통이 안 되는 강사 때문에 스트레스 받지 마세요!

2) 강의 구매 후 인프런 이메일 인증 시 Discord 유료 커뮤니티에 입장 가능합니다. 또한 잘 활성화되어있는 코드팩토리 공식 카카오 채널도 적극 활용해주세요!

3) 어떤 프로그래밍 기술을 배우든 환경설정은 수강생들이 매우 어려워하는 요소 중 하나입니다. 물론 직접 해결하려고 노력하는 모습은 좋은 개발자가 되기위해 매우 중요한 요소이지만 도저히 못하겠다면 지체 말고 저를 활용해주세요. 카카오 채널에 들어오셔서 강의를 말씀해 주신 다음 원격 신청을 해주시면 시간 조율 후 환경설정은 모두 직접 봐드리고 있습니다! 더이상 시작도 못한 채 포기하지 마세요!

코드팩토리 통합 링크 바로가기


Q&A 💬

Q. 자바스크립트/타입스크립트를 배웠는데 다음으로 뭘 배워야 할지 모르겠어요.

Javascript와 Typescript를 숙지했다면 JS/TS 기반의 라이브러리나 프레임워크로 넘어갈 준비가 끝났습니다. NestJS는 JS/TS 세계관에서 가장 인기 있는 프레임워크 중 하나입니다. NestJS를 배우면 커리어 선택지도 넓어지고 다음으로 배울 기술을 선택하는 데도 큰 도움이 됩니다. 뭘 배워야 할지 모르는 상황이라면 코드팩토리의 NestJS 강의로 공부를 시작해 보세요!

Q. 자바스크립트/타입스크립트는 할 줄 아는데, 서버 기술을 배우고 싶어요.

NestJS는 JS/TS 세계관에서 가장 인기 있는 서버 프레임워크입니다. Express로 서버를 시작하는 경우가 많지만 오히려 초보일수록 체계가 잘 다져져 있는 NestJS 프레임워크를 먼저 배워보는게 좋습니다. 나아가, NestJS는 내부적으로 Express를 사용하고 있기 때문에 Express 사용법도 익힐 수 있습니다.

Q. 서버를 배우고 싶은데 어떤 프레임워크를 선택할지 모르겠어요.

현대에는 다양한 서버 프레임워크를 배울 수 있습니다. NestJS 외에 다른 프레임워크도 많이 있지만 그중에서도 NestJS는 전세계적으로 가장 많이 사랑받고 있으며 특히나 MSA에 많이 쓰이는 프레임워크 중 하나입니다. 미래지향적이면서 동시에 바로 지금 많은 사랑을 받고 있는 프레임워크를 배워보고 싶다면 NestJS를 선택해 보세요!

💾 실습 환경 안내

수강하기에 앞서 현재 사용하고 계신 OS 및 PC 사양을 확인해주세요.

Windows

  • WSL 버전 1.1.3.0+
  • Windows 10/11 64bit Home 또는 Pro 21H2 버전 이상
  • 4GB 이상의 RAM
  • Hardware Virtualization (하드웨어 가상화)가 가능한 시스템

macOS Intel

  • macOS 11버전 이상
  • 4GB 이상의 RAM
  • VirtualBox가 설치돼있지 않은 시스템

macOS ARM64

  • 2023년 9월 18일 기준 요구사항 없음 (최신 M 시리즈 맥북 모두 호환 가능)

📢 학습 자료, 선수 지식 안내

이런 분들께
추천드려요!

학습 대상은
누구일까요?

  • REST API 백엔드 개발을 배워보고 싶은 사람

  • Javascript 및 Typescript 강의를 막 끝낸 사람

  • Node.JS를 배우고 싶은 사람

선수 지식,
필요할까요?

  • Javascript

  • Typescript

안녕하세요
코드팩토리입니다.

안녕하세요 프로그래밍 강사 코드팩토리입니다!

코드팩토리 통합 링크
https://links.codefactory.ai

 

🏭 코드팩토리 유튜브 바로가기
🔥 코드팩토리 Discord 바로가기
💬 코드팩토리 카카오 오픈톡 바로가기

 

💼 주식회사 코드팩토리 대표

 

🏆 2023년 인프런 베스트셀러 수상

🏆 <<Must Have 코드팩토리의 플러터 프로그래밍>> 서적 2023 상반기 교보문고 컴퓨터/IT 부문 베스트셀러 23위

🏆 AWS Certified Developer Associate

🏆 AWS Certified Solutions Architect

커리큘럼

전체

214개 ∙ (24시간 36분)

강의 게시일: 
마지막 업데이트일: 

수강평

아직 충분한 평가를 받지 못한 강의입니다.
모두에게 도움이 되는 수강평의 주인공이 되어주세요!