[WIL] 내일배움캠프 7주차

My_Code·2024년 6월 2일
0

TIL

목록 보기
44/113
post-thumbnail

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


💻 WIL(Weekly I Learned)

📌 주간 학습 목차

✏️ 월요일

  • 예비군 때문에 늦어서 빠르게 개인과제를 진행함

  • 그래도 강의는 전부 시청했기에 강의에서 배운 내용을 기반으로 빠르게 진행함

  • 인증, 인가를 적용하는 부분에서 생각보다 시간이 오래 걸림

  • 내 머리속에서 내가 이해할 수 있도록 정리하는 게 가장 어려웠음

  • Insomnia에서 Bearer 토큰을 사용하면 req.headers에 자동으로 Authorization 이름으로 값이 들어감


✏️ 화요일

  • 월요일에 대부분의 기능을 구현해서 구현 자체는 수월했음

  • Insomnia로 각 API들을 테스트하는 시간이 생각보다 오래 걸림

  • 시간이 빠듯할 것 같기에 지난번 과제에서 사용한 EC2 인스턴스를 이용해서 배포함

  • Access Token과 Refresh Token의 역할에 대해 조금 더 이해가 필요함


✏️ 수요일

  • 과제 제출 당일이기에 서둘러서 리드미 작성을 마무리 함

  • 그리고 과제로 더 고민해 보기 라는 질문이 있었기에 작성해서 제출함

  • 대부분의 내용은 과제 내용을 기반으로 한 질문이었기에 나름 쉽게 작성함

  • 하지만 MySQL, Prisma -> MongoDB, mongoose로 바꾸는 방법에 대해서는 제대로 답변하지 못함

  • 인터넷을 찾아봐도 명쾌한 답변이 나오지 않았음


✏️ 목요일

  • 과제 제출이 끝났기에 팀프로젝트 발제 전까지 개인과제 해설 영상을 시청함

  • 해설 영상을 기반으로 코드를 리팩토링 함

  • 튜터님께서 문자열이나 숫자와 같은 상수들을 객체화해서 따로 관리하는 방법을 알려주셨음

  • 이 방법을 사용하니 중복이 줄어들었고, 나중에 유지보수에도 좋을 것 같음

  • 그리고 Prisma의 where절 조건을 역할에 조건문을 통해 다르게 적용하는 법 역시 생각도 못한 방법이었기에 굉장히 유용했음


✏️ 금요일

  • 대망의 팀프로젝트가 발제되는 날

  • 당연하게도 코드 구현에 들어가기 전에 S.A 작성을 먼저 함

  • 와이어프레임, API 명세서, ERD 작성 등을 진행함

  • ERD 작성 중 테이블 간의 관계를 설정하는 것이 제일 어렵고 오래 걸렸음

  • 사실 관계는 성능을 위해서 상황에 맞춰서 정하는 것이기에 정의하는 것이 어려웠음

  • 특히 사용자가 게시글에 좋아요를 누른다는 상황에서의 관계가 가장 어려웠음

  • trade_like 라는 테이블을 명시적으로 만들어서 사용자와 trade_like를 1:N으로 구현해도 되고, 사용자와 게시글 테이블을 N:M 관계로 만들어 암시적으로 trade_like 테이블을 만들어 줘도 되었음

  • 결국 팀원들과 회의에서 쉽게 결정이 나지 않자 튜터님에게 피드백을 받고 N:M 관계로 구현하기로 함



📌 향후 계획

  • 팀프로젝트가 발제되었고 제출까지 주말과 공휴일이 껴있기 때문에 빠르게 구현할 필요가 있음

  • 나의 역할을 기능적 API들을 구현하는 것이 아니라 Prisma를 구현하고 Joi같은 유효성 검사 등 부수적으로 필요한 내용들을 만드는 것임

  • 그렇기에 팀원들의 진행에 맞춰서 나 역시 필요한 코드들을 구현할 계획임



📌 이번 주 느낀 점

  • 이번 주는 지난주의 예비군 훈련으로 인한 피로가 덜 풀린거 같음...ㅋㅋㅋㅋ

  • 그 상태에서 개인 과제도 진행하고 이어서 팀프로젝트도 진행하니 머리가 멍해지는 느낌임

  • 그래도 이번에 진행한 강의와 개인과제가 굉장히 도움이 많이 되었음

  • 특히 개인 과제 해설 강의에서 튜터님께서 상수들을 관리하는 방법이나 스프레드 연산자의 활용, where절의 조건 분기 등 유익한 내용이 많았기에 굉장히 좋은 시간이었음


profile
조금씩 정리하자!!!

0개의 댓글