8월 9일 (금) 회고 - dev-FEFIVE/NadoCat GitHub Wiki
각자 자유로운 형식으로 작성해주세요.
문소영
오늘은 드디어 관심글을 get하는 api를 개발했다. prisma 공부하기 싫어서 api개발을 미뤘었는데 어제 공부를 하고 오늘 드디어 개발을 시작할 수 있었다. 개발을 하며 좋아요 테이블의 uuid, categoryId, postId를 활용하여 postId를 뽑아야 했는데 postId를 가져오는 방식을 고민하느라 오래걸렸다. 결국 likes 테이블에서 사용자의 uuid에 따라 categoryId를 뽑고 이것을 다시 BoardCategories에서 category(이름)으로 변환한 뒤, map함수를 사용해 post를 뽑는 방식으로 구현했다. 뿌듯하다.
박민혜
- 로그인이 너무 어렵다. 로그인 시 jwt로 암호화를 해줘야 하는데 기억이 안나서 예전에 배운걸 다시 찾아봤다. OAuth도 붙여야 하는데 공식문서를 보고 있음에도 불구하고 도무지 이해가 안가서 일단 로그인부터 구현하기로 했다. 그런데 로그인을 구현하고나서 비밀번호 찾기랑 자동로그인 기능도 구현해야 하는데 이건 또 어떡하지? 프론트가 없어서 감이 안오는데 SCSS를 사용해 본 적이 없어서 살짝 막막하다.
박소현
- 게시글 삭제 기능을 구현하는데, 외래키 제약 조건을 의식해서 알맞는 순서대로 잘 구상했다고 생각했는데 외래키 제약 조건 위반 에러가 계속 뜨는 것이다. 함수 호출 순서를 계속 바꿔보면서 진땀을 흘렸는데, 원인은 함수 자체를 잘못 만들어서 그런거였다. 함수 중에 엉뚱한 테이블로 작성된 것이 있었다. 이것 때문에 시간 너무 많이 걸렸는데, 허망했다. 에러를 만나면 에러 내용에만 집착하지말고 관련 코드 전체를 꼼꼼히 잘 봐야겠다.
이화정
- 게시글 삭제 시 관련 댓글 삭제를 추가했다. 게시글이 삭제되면 댓글 데이터를 가지고 있을 필요가 없다고 판단하여 댓글도 같이 삭제되도록 구현하였는데 이게 맞나 싶긴 하다. 게시글과 댓글 둘 다 조회되지 않도록 설정하는 게 더 맞는 방법이 아닐까라는 생각도 든다.
- 친구 맺기 API를 구현하면서
/users/follows/{following_id}
와/users/{user_id}/follows/{following_id}
이 매우 고민이 되었다. 무엇이 더 프로젝트에서 적절한지 고민을 해봐야겠다. 일단은 user_id를 또 노출시킬 필요가 있을까라는 생각이 들어 전자의 형태로 구현하였다. - 이전 회의에서 1개의 데이터를 삭제하더라도 deleteMany를 사용할 수 있도록 결정하였는데 나도 같은 이슈를 겪었다. 친구 삭제 API를 구현하면서 delete의 where에 uuid, followingId는 유니크한 값이 아니라서 사용할 수 없었다. 그래서 일단 조회를 하고 조회한 값의 friendId를 이용해 delete 하는 형태로 구현했다.
장세림
- 커서 방식으로 페이지네이션 구현중 쿼리문 where절에 사용되는 uuid와 postId가 복합 유니크 키로 설정되어 있어 cursur 설정에 문제가 있었다. 문제를 해결하기 위해 필요한 쿼리 로직에 맞게 설정을 변경했다. DB설계 단계에서 복합 유니크 키와 같은 제약 조건이 추후 로직에 어떤 영향을 미칠지 고려했다면 더 좋았을 것 같다.
- 현재 DB 구조에서는 게시글 테이블의 썸네일 컬럼을 적절히 사용할 수 없다. 다른 팀원들 모두 같은 문제를 겪고 있는데, DB구조를 변경하거나 썸네일을 다른 방식으로 가져오는 방법을 고려해봐야 할 것 같다.