백 엔드(26)
-
[클론 코딩] 네이버 카페 - 댓글 삭제
네이버 카페 댓글은 삭제시 2가지 방식으로 삭제되었음을 사용자에게 보여준다.답글이 달린 댓글의 경우 '삭제된 댓글'이라는 메시지를 노출그 외의 경우 댓글 노출 목록에서 삭제(=DB에 정보가 없으니 당연함) 즉, 주의할 점은 답글이 달린 댓글이라는 건데 단순히 메시지만 노출해주면 될 것 같지만, 중요한건 댓글이 삭제되더라도 해당 댓글만 삭제될 뿐 나머지 댓글(+답글)들은 삭제 전과 같은 순서로 계속 노출되어야 한다는 것이다. 이런 부분 때문에 이전에 댓글 정보에 그룹 넘버를 지정해 기존 순서를 유지할 수 있도록 한 것이다. 또한 '댓글수'와 '답글수'를 따로 계산할 요량으로 변수를 두었지만 이는 댓글 삭제시 댓글수가 변경되어 기존에 생각했던데로 그룹번호로 쓰는데 문제가 있어 '그룹번호'와 '댓글수'로..
2024.06.10 -
[클론 코딩] 네이버 카페 - 댓글 수정
네이버 카페는 댓글 수정시 댓글의 '본문'을 수정할 수 있으며, 변경된 닉네임은 적용이 되지 않는다. 또한 작성일 정보가 수정일 정보로 바뀌어 사용자에게 제공된다. Commentpackage CloneCoding.NaverCafe.domain.comment;@Entity@Table(name = "COMMENT")@Getter@Builder@NoArgsConstructor(access = AccessLevel.PROTECTED)@AllArgsConstructorpublic class Comment { public void update(String body, LocalDateTime updateAt) { this.body = body; this.updateAt = updateA..
2024.06.10 -
[클론 코딩] 네이버 카페 - 댓글 읽기
네이버 카페는 사용자에게 댓글을 보여줄 때, '댓글'과 '답글' 2가지 종류로 보여준다. 댓글의 경우 작성된 순서대로 노출된다. 하지만 답글의 경우 대상 댓글의 하위에 노출되며 이후 생성되는 답글은 작성순으로 노출된다. 즉 답글은 댓글에 끼어들어 노출된다는 것이다. 그러니 단순하게 말하자면 하나의 댓글과 해당 댓글의 하위 답글(들)을 하나의 그룹으로 봤을 때, 이런 그룹의 집합이 댓글 목록이 될 것이다. 이 목록은 기본적으로 작성순(내림차순)으로 정렬되며, 가장 최근 댓글을 가진 그룹부터 노출 된다는 이야기다. 이렇기에 기존에 댓글 생성시 댓글과 답글로 나누어 생성되게 하였고, 게시글에서도 카운트를 따로 한 뒤 정보 전달시 두 카운트를 더해 댓글수로 반환하도록 수정하였다. 아마 삭제의 경우도 생성..
2024.06.09 -
[클론 코딩] 네이버 카페 - 답글 작성
네이버 카페는 게시글에 달린 댓글에 '답글'이라는 것을 작성할 수 있다. 즉, 댓글에 댓글을 작성하는 형태인데 무한정 하위 댓글로 작성되는 것은 아니고 한 번 하위 댓글(=답글)로 작성됬다면 이후 달리는 댓글은 동위 댓글로서 작성된다. 단, 이렇게 될 경우 누구에게 답글을 작성한건지 사용자가 헷갈릴 수 있으므로 답글 대상의 카페 닉네임을 제공해 작성하는 사람도 작성된 답글을 보는 사람도 해당 답글의 대상이 누구인지 알 수 있도록 서비스를 제공한다. 결과적으로 답글과 댓글의 차이점은 본문에 본문 내용뿐만 아니라 '네임 태그'를 통해서 누구에게 작성한 내용인지 명확하게한다는 것 뿐이다. 하지만 이것은 사용자에게 보이는 부분이므로 구현부에서는 이러한 부분을 제공하기 위해서라도 댓글 엔티티(객체)가 어떤 댓..
2024.06.08 -
[클론 코딩] 네이버 카페 - 댓글 작성
카페 회원은 네이버 카페 게시글에 댓글을 작성할 수 있다. 이번에는 이 댓글 작성에 대한 기능을 구현하고자 한다. 사용자에게 댓글 작성 양식이 제공될 것이고, 사용자는 양식에 정보를 입력해 댓글 등록 요청을 할 것이다. 그리고 서버는 요청 정보를 통해 댓글 정보를 DB에 저장할 것이고 더불어 게시글의 댓글수 정보를 수정해 DB에 반영할 것이다.Commentpackage CloneCoding.NaverCafe.domain.comment;@Entity@Table(name = "COMMENT")@Getter@Builder@NoArgsConstructor(access = AccessLevel.PROTECTED)@AllArgsConstructorpublic class Comment { @Id @Generat..
2024.06.08 -
[클론 코딩] 네이버 카페 - 게시글 '좋아요' 등록, 취소
네이버 카페에는 마음에 드는 게시글에 '좋아요'를 남길 수가 있는데, 이번에는 이 '좋아요' 기능을 구현하고자 한다. 해당 기능은 '좋아요'를 등록, 취소할 수 있으며, 추가된 좋아요 정보들은 게시글이 삭제될 때, 같이 삭제 된다.Favoritepackage CloneCoding.NaverCafe.domain.favorite;@Entity@Table(name = "FAVORITE")@Getter@Builder@NoArgsConstructor(access = AccessLevel.PROTECTED)@AllArgsConstructorpublic class Favorite { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name ..
2024.06.06