Sprint 💡

Swagger - API 문서
Hot reload - 수정된 부분만 재빌드로 서버 재시작 속도 빠르게
AuthGuard - 회원 인증 미들웨어
nest에서의 에러 핸들링
신고, 리뷰, 프로필, 카테고리, FAQ 기능 구현 → 초기 틀만 작성
jest - 기초 테스트 코드만 작성
쿼리빌더 사용 - select, leftjoin 등 외래키 참조

Liked 💙

 nest를 약 한달간 만지다보니 어느순간 내 손에 익숙해져 있었다. 처음 nest를 접했을 때는 강가에 내놓은 아기마냥 불안했고 아무것도 몰랐다. 하지만 지금은 초등학교 저학년 수준으로 성장한 것 같다. nest를 통해 객체 지향에 더욱 가까워졌다는 느낌이 들었다. 아쉬웠던 점을 얘기할 때 이어서 나오겠지만 프로젝트를 진행함에 있어서 내가 부족했던 것들이 무엇인지에 대해 깨달을 수 있었고 인내심을 기를 수 있어 좋았다.

Learned ✏️ 

배운 것들은 너무나 많다.

 nest부터 시작하자면 hot reload라고 보통 코드를 수정하고 서버를 재시작하게 된다면 전체 코드가 빌드되어 시간이 오래걸린다. 하지만 hot reload를 통해 수정한 코드만 빌드해서 서버 재시작할 때의 시간을 단축할 수 있었다. 그리고 API 문서를 보다 편리하게 관리해주는 Swagger를 배웠다. 이전까지 Github 이슈 또는 포스트맨을 활용해 API 문서를 Front 팀에게 공유해줬는데 Swagger를 이용해 API 문서 경로만 공유해준다면 실시간으로 반영되는 API를 손쉽게 접근할 수 있어졌다.

 유저 인증 미들웨어 코드를 작성했다. 수형이가 만든 Auth에서 클론 코딩으로 붙여넣기한 수준이지만 나에게는 아주 좋은 복습이어서 다시한번 되새길 수 있었다. 그리고 에러 핸들링을 공부했다. nest에서 기본적으로 제공하는 에러들이 있는데 경우별로 존재해서 상당히 많았다. 그중 경로를 잘못입력했거나 값이 없거나 인증이 안됐거나 또는 서버에서 에러가 났거나 하는 등의 에러들은 실질적으로 도움이 많이 됐다.

 기능 작성에 돌입하면서 많은 것들을 알게 됐는데 그 중 하나가 외래키 참조다. DB에서 외래키 참조 방식과 nest에서의 참조 방식 표현이 달라 이해하기까지 어려움을 느꼈지만 하다보니 이해돼서 이제는 조금 능숙하게 코드를 작성할 수 있다.

 테스트 코드 작성은 어렵지 않겠거니 했는데 정말 많이 어려웠다. 이전에는 메모리상에 존재하는 가짜 값을 가지고 테스트를 했는데 이제는 실제 DB에 있는 더미 데이터를 활용해서 하려니 모듈을 임포트하는 과정이 어려웠다. 그래도 어떤식으로 불러오고 작성하는 지 느낌을 잡을 수 있었다.

Lacked 🙁

 신고 체크박스 기능에 시간을 너무 많이 잡아먹었다. 처음 생각했던 체크박스는 컬럼별로 존재해야 한다고 생각했었는데 두 테이블 간의 관계를 생각하고 또 생각하니 결국 일 대 다 관계가 아닌 다 대 다 관계이기에 이슈가 발생할 수 밖에 없었다. DB에 대한 이해도가 높았다면 이런일이 발생하지 않았을 거라 생각해서 DB에 대한 공부가 부족했고 외래키 참조 관계에 대한 이해도를 쌓아야겠다는 생각이 들었다.

 그리고 여러 일이 겹치다보니 스스로에게 여유가 없었고 업무를 진행하면서 백엔드 팀원들에게 종종 질문이 들어오는데 하고있던 일에 집중이 풀리면서 스스로 스트레스를 느껴 차갑게 대할때가 많았다. 도움을 요청하는 팀원에게 보다 더 부드럽게 알려줬어야 한다는 생각이 들어 다음에는 더 유의해야겠다.

 

  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기