회고

2021-12-20 TIL

Facts (사실, 객관)

 

  • 엘리스 SW트랙 1차 프로젝트 진행 중
  • 코드 리뷰 내용 반영
  • 게시글 관련 API 작성

 

Feelings (느낌, 주관)

 

코치님들의 코드 리뷰를 통해 중간 평가를 받았다. 백엔드의 경우 중복 제거와 예외 처리에 관한 피드백이 대부분이었다. 미들웨어를 적용함으로써 반복적으로 작성된 예외처리의 중복을 제거하고, RESTful하지 않은 상태 코드 반환도 수정해주었다. 

 

낮잠을 자는 바람에 결국 패턴이 다시 꼬이기 시작했다. 이런 저런 핑계로 운동을 하지 않았다. 

 

백엔드 코치님이 언급해주신 swagger를 활용하여 API 문서를 작성해보고자 했으나, 개발 의존성도 추가해줘야 하고 여러모로 사용에 익숙해질 시간이 필요해 보였다. 대신에 수업시간에 배운 postman을 활용하여 API문서를 작성하여 팀원들에게 공유했다. 로그인할 때마다 쿠키를 다시 설정해줘야 하는 번거로움이 있긴 하지만, 대체로 편리하다.

 

Findings (배운 점)

 

  • 미들웨어는 코드의 중복 제거에 효과적이다.
  • 미들웨어로 request객체에 속성을 주입시켜 넘겨주는 방식도 유용하다. 고차함수를 쓰면 파라미터도 받을 수 있다.
  • mongoose를 활용하여 populate할 때 경로를 지정하여 선택된 속성만 넘겨받을 수 있다.
    const post = await Post.findOne({ _id: id })
      .populate('author', 'email nickname')
      .populate({
        path: 'comments',
        populate: {
          path: 'author',
          select: 'nickname',
        },
      })
      .populate({
        path: 'comments.reComments',
        populate: {
          path: 'author',
          select: 'nickname',
        },
      });

 

  • 배열이 아닌 객체를 populate해야 한다.
  • mongoDB의 objectId에 toString()메서드를 적용할 수 있다.
  • PUT 요청에 대한 성공으로 204 혹은 200 상태 코드를 응답한다.
  • errorr객체에 접근하여 특정 에러에 대한 별도의 예외처리를 해줄 수 있다.
  • postman에 쿠키를 세팅해 줄 수 있다.

 

Things to do (해야 할 것들)

 

  • 필수 API 모두 구현
  • 알고리즘 풀이.....언제쯤?
  • 운동

 

Affirmation(자기 선언)

 

  • 밸런스를 유지하자

'회고' 카테고리의 다른 글

2021-12-22 TIL  (0) 2021.12.23
2021-12-21 TIL  (0) 2021.12.21
2021-12-18 TIL  (0) 2021.12.18
2021-12-17 TIL  (0) 2021.12.18
2021-12-16 TIL  (0) 2021.12.17