Java(93)
-
[클론 코딩] 네이버 카페 - 댓글 수정
네이버 카페는 댓글 수정시 댓글의 '본문'을 수정할 수 있으며, 변경된 닉네임은 적용이 되지 않는다. 또한 작성일 정보가 수정일 정보로 바뀌어 사용자에게 제공된다. 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 -
[클론 코딩] 네이버 카페 - (통합게시판) 태그 등록, 수정(삭제)
네이버 카페 게시글은 작성시에 태그를 입력할 수 있다. 게시글 작성시에 태그를 등록할 수 있으며, 게시글 수정시에 태그를 수정할 수 있다. 태그 수정시에는 태그 등록과 삭제가 동시에 이루어지는 것이 특징이다. 수정 정보와 기존 정보를 비교해 기존에 존재하는 태그는 제외하고 새로 추가된 태그는 등록, 수정 정보에 없는 태그는 삭제하게 될 것이다.Tagpackage CloneCoding.NaverCafe.domain.tag;@Entity@Table(name = "TAG")@Getter@Builder@NoArgsConstructor(access = AccessLevel.PROTECTED)@AllArgsConstructorpublic class Tag { @Id @GeneratedValue(strategy..
2024.06.04