You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
백엔드 Feed 관련 회의
Repository에서 DTO를 반환하는 것
우르
- 레포가 DTO를 의존한다 = 레파지토리가 컨트롤러를 참조하는 격패키지로 봤을 땐 도메인이 DTO를 반환하는 것과 같다.
홍실
- 문제가 되는 FeedCommentCount는 영속성 계층에 속하는 DTO라고 생각한다.방안 - infrastructure.persistence 패키지를 만들고 FeedCommentCount를 옮긴다.
우르
- Room 코드처럼 JdbcTemplate를 사용해서 DAO 클래스에서 쿼리를 호출하도록 하는 건? 최대한 의존성 관계는 지켜보자.결론 - infrastructure.persistence 패키지를 만들어서 그 내부에 FeedCommentCount Dto를 만들어두고 Dao가 해당 Dto를 반환하도록 하자.
DTO안에 DTO를 가지는 구조
: 피드 정보 DTO가 피드 작성자 정보 DTO를 포함하고 있음.(inner class)
피드 Id로 피드 작성자 정보를 가져오는 API를 따로 만드는 건? - 피드 하나를 불러올 때 필요한 API가 3개가 된다.
안드로이드 의견
- 피드 줄 때 피드 작성자 정보까지 한 뎁스로(flat하게) 주는 것이 좋을 것 같다.⇒계층적인 형식으로 보내는 게 좋을 것 같다.
결론 - 지금 구현된 모델 그대로 가는 것으로.
CommentQueryService
제리
- Optional을 파라미터로 쓰는 것은 안티패턴.하지만 옵셔널 체크를 위한 목적이라면 괜찮지 않나.
우르
- 옵셔널 자체가 null인 경우 때문에 지양해야 하는 것.댓글 목록을 조회할 때 feedId와 memberId를 입력으로 받는데, 둘 다 optional 값이니 피드의 댓글을 조회하는 API과 사용자의 댓글을 조회하는 API를 분리하는 것이 좋지 않을까?
우르 - 중복 제거를 위해 하나의 API로 묶은 것이었음. 하지만 다시보니 읽는 사람들이 이해하기 어렵다면 바꾸는 편이 나을 듯.
결론 - 급한 이슈는 아니니, 이슈만 파두고 추후 수정해보자.
피드 SoftDelete
홍실 - 보통은 삭제된 피드를 뷰에서 보여주지는 않는다. 삭제한 피드에 접근할 수 있는 경우도 없고.
제리 - API 호출 시 삭제된 피드를 제외하고 전달하기 때문에 괜찮을 것 같다. 피드를 hardDelete를 하면 댓글의 삭제 정책과도 얽히게 된다.
우르 - 피드를 softDelete하고 삭제된 피드의 댓글을 조회하려고 할 때 ‘삭제된 피드의 댓글입니다’로 표기하면 될 듯. 정책적으로도, softDelete는 통계를 남기기 위한 자료를 남겨두기에도 좋다.
결론 - SoftDelete를 하는 것으로 현상유지.
Beta Was this translation helpful? Give feedback.
All reactions