[2024.07.08 TIL] 내일배움캠프 58일차 (공연 예매 개인과제, Readme 작성)

My_Code·2024년 7월 8일
0

TIL

목록 보기
75/113
post-thumbnail

본 내용은 내일배움캠프에서 활동한 내용을 기록한 글입니다.


💻 TIL(Today I Learned)

📌 Today I Done

✏️ 새로운 웹 프레임워크에 대한 어려움

  • Nest.js라는 새로운 웹 프레임워크에 익숙해지는데 생각보다 오래 걸렸다.

  • Express와 다르게 Nest.js에서 자동으로 지원해주는 과정들이 있어서 서버가 돌아가는 과정을 한번에 이해하기 어려웠음

  • 특히나 Express는 오랜 기간동안 사용했기에 그 만큼 익숙해지고 어느 정도의 구조를 알고 있음

  • 하지만 Nest.js는 사용한지 일주일 밖에 되지 않았기 때문에 조금 더 공부가 필요해 보임


✏️ 서버의 실행 순서와 모듈의 구성 이해의 어려움

  • 위에서 말한 것처럼 Nest.js를 처음 쓸 때, 내가 가장 어렵게 느낀 부분은 서버의 실행 순서였음

  • 다행히 튜터님께서 공식문서에 있는 실행 순서를 알려 주셔서 이해하는데 큰 도움이 되었음

  • https://docs.nestjs.com/faq/request-lifecycle

  • 순서를 알았으니 각 기능의 중심이 되는 모듈에 대한 궁금증이 생겼음

  • 모듈에서는 해당 모듈에서 사용할 패키지를 imports하고, 서비스에서 가져와 사용할 것들을 providers에 추가하고, 어떤 컨트롤러를 사용할지 controllers에 작성하고, 다른 곳에서 해당 모듈의 어떤 것을 가져다 사용할 때 어떤 것을 exports할지 작성함

  • 다시 정리하면 imports는 외부 모듈이나 라이브러리를 가져와 사용할 것들을 작성하고,

  • providers는 현재 모듈에서 사용할 Service들을 작성,

  • controllers는 현재 모듈에서 사용할 Controller들을 작성,

  • exports는 현재 모듈에서의 기능 중 외부에서 사용할 수 있게 할 것들을 작성함

  • 그래서 만약에 해당 모듈에서의 서비스에서 다른 모듈의 서비스를 사용할려면 모듈의 providers나 imports에 명시해야 됨

  • 서비스에서 다른 서비스과 의존성을 맺으면 먼저 providers에 가서 찾아보고 거기에 없으면 imports에서 찾아보고, 만약 거기에도 없으면 app 모듈에 가서 찾음


✏️ 미들웨어, 가드, 인터셉터, 파이프 개념의 어려움

  • 미들웨어는 Express와 똑같은 개념이기 때문에 어떤 용도인지 어느정도 파악했음

  • 문제는 가드, 인터셉터, 파이프가 그냥 다 비슷하거나 똑같아 보였음

  • https://assu10.github.io/dev/2023/04/08/nest-middleware-guard-interceptor-pipe-exceptionfilter-lifecycle/

  • 공식문서도 좋았지만 위 블로그에서도 잘 정리했기에 위 블로그를 참고했음

  • 가드는 보통 인증, 인가와 같이 사용자를 필터링하는 역할을 함

  • 인터셉터는 해당 API, 메서드 실행 전/후에 추가될 로직을 실행하는 역할을 함

  • 이프는 해당 API가 실행되기 전에 들어가는 입력값에 대한 변환 또는 유효성 검사를 하는 역할을 함



📌 Tomorrow's Goal

✏️ 개인과제 해설 강의 시청 및 코드 리팩토링

  • 오늘 들은 강의 내용은 대대분이 세팅하는 내용이었음

  • 그렇기에 내일은 강의를 시청하고 그에 맞게 코드를 리팩토링할 예정

  • 되도록이면 남은 강의를 최대한 다 듣고 개인 공부 시간을 가질 예정



📌 Today's Goal I Done

✔️ Readme 작성

  • 오늘은 개인과제 마무리 및 제출하는 날이기에 필요한 문서 작업을 함

  • Readme를 통해서 지난주까지 구현한 내용들을 정리함

  • 프로젝트에 대한 소개부터 주요 기능 및 설명, 테스트 사진 등을 작성함


profile
조금씩 정리하자!!!

0개의 댓글