코딩/수업

[엘리스랩] 온라인 원데이 NestJS 부트캠프 후기

나동 2024. 12. 7. 15:24

 

NestJS 부트캠프 후기: 6시간의 밀도 높은 여정 🚀

오늘은 엘리스랩에서 주최한 온라인 원데이 NestJS 부트캠프에 참여했어요!

NestJS는 예전부터 꼭 공부해보고 싶었던 주제였고, 사이드 프로젝트에서 백엔드까지 직접 해야하다 보니 필요성을 절실히 느끼고 있었어요.

 

그러다가 이 수업을 알게 되었는데 Nest.js에 Docker, Swagger까지 배울 수 있는 좋은 기회인 것 같아서 신청했어요!

휴가를 쓰고 참여한만큼 열심히 수업을 듣고 많이 배워가야겠다 생각했어요. 😁

 


📅 수업 시작: 타이트한 6시간의 대장정

오전 근무를 마치고 집으로 급히 돌아가 1시가 조금 넘은 시간에 강의실에 입장했어요.

다행히 오늘 수업 아젠다를 설명해주시는 중이었어요. ㅎㅎ

목차를 보니 6시간 동안 이렇게 많은 내용을 과연 다 소화할 수 있을까 싶었어요.

사실 6시간이 짧은 시간이 아닌데 말이죠! 그만큼 다루는 주제가 많았어요.

 

 


이론부터 실습까지: NestJS와 친해지기 🖥️

이론 정리

수업은 기본적인 백엔드 개념 정리로 시작됐어요.
RESTful API, 인증과 인가, Http 상태 코드를 짚어주신 후 본격적으로 NestJS에 대한 설명이 이어졌어요.

 

NestJS란?

  • Node.js 기반의 고급 백엔드 프레임워크
  • 주요 구성 요소: Modules, Controllers, Services, Middlewares
  • 스프링 부트와 구조적으로 유사

 

그렇게 한시간동안 이론 설명을 해주시고 질의응답 후 본격적인 실습이 시작되었어요.

실습 환경을 위해 WebStorm, Docker, DataGrip, Postman 등을 미리 설치했어요.

실습 준비

실습이 시작되고 진짜 Nest.js를 써보았습니다! 😆 몇가지 명령어로 금세 프로젝트를 만들 수 있었어요~

  • CLI 명령어로 프로젝트 시작하기
npm i -g @nestjs/cli # cli 설치
nest -version # 설치 확인
nest new elice-lab-project # 새 프로젝트 생성
  • PostgreSQL 설정 및 Docker 활용 환경변수를 설정하고 Docker를 통해 DB 컨테이너를 띄웠어요.
docker-compose up -d  # 컨테이너 실행

 

DataGrip으로 PostgreSQL DB까지 연결 완료! 간단한 설정으로도 이렇게 편리하게 진행되다니, 놀랍더라고요. 😮

짧은 시간에 많은 기술들을 처음 사용해봐서 새롭고 신기했어요.

DataGrip에서 PostgreSQL DB도 연결해주었어요.

저도 다른 수강생분들도 중간중간 막히는 구간들이 있었는데요.

수강생들이 낙오되지 않게 화면 공유로 한명한명 챙겨주시는게 좀 감동이었어요 ☺️

저도 오류를 해결하고 같은 오류로 헤매는 학생들이 있을까봐 어떻게 했는지 채팅으로 공유하게 되더라고요!

 


💻 본격 실습: NestJS로 배우는 CRUD API 구현의 기본

NestJS로 CRUD API 제작

nest --help 명령어를 통해 각종 CLI 명령어를 학습하면서 실제 프로젝트를 진행했어요.

g는 generate로 생성, mo는 module, res는 resource를 나타내요.

  • Database 모듈 생성
nest g mo database
  • Resource 생성
nest g res product

 

TypeORM으로 DB 테이블을 생성하고, Postman으로 API 테스트를 해봤어요.

컨트롤러랑 서비스 만들어서 데이터를 추가해봤어요. 짠! product 테이블에 데이터가 들어왔어요! 🥳

그리고 강의실 채팅창에 직접 만든 테이블을 공유했어요! 온라인인데도 같이 수업을 듣는 느낌이 들어서 좋았어요~

마찬가지로 여러가지 컨트롤러와 서비스를 만들어보면서 CRUD api 만드는 법을 배웠어요.

 

 


🛠️ API 문서화와 데이터 처리: 실용적 백엔드 완성하기

Swagger로 API 문서화

마지막 시간에는 API 문서화, 응답 직렬화, 에러 핸들링을 배웠어요!

npm install @nestjs/swagger swagger-ui-express

 

Swagger 페이지를 만들어봤는데, 매번 쓰기만 하다가 직접 만들어보니 신기했어요.

Nest.js에서 쓰는 라이브러리들이 정말 편하게 되어있더라고요.

백엔드는 이렇게 다 갖춰져있어서 간단한 작업은 편하게 할 수 있구나..! 생각이 들었어요.

 

에러 핸들링 및 응답 직렬화

  • Class Validator 설치
npm install class-validator class-transforme

  • TransformInterceptor 구현

마지막으로 Response를 가공해서 보내주도록 TransformInterceptor까지 만들어봤어요.

 


🎉 알찬 강의, 그리고 후기

6시간 강의,, 정말 길었지만 그만큼 알찬 강의였어요.

지금까지 수강생분들의 피드백을 바탕으로 난이도에도 신경을 쓰셨다고 하시더라고요! 😃

그래서그런지 너무 쉽지도 않고 어느정도 배경지식만 있으면 따라갈 수 있는 적당한 난이도로 진행이 되었다고 느꼈어요.

무료 원데이클래스인데도 특전 강의까지 제공을 해주셔서 이렇게까지 퍼주어도 되는건가!!싶었어요.

다른 강의는 거의 아는 내용일테니 타입스크립트 심화 강의를 조금 들어볼까싶어요. ㅎㅎ

 

 

휴가가 아깝지 않을만큼 양질의 강의였습니다!

NestJS의 매력에 한층 더 빠져든 하루였네요! 😊