Java(96)
-
[클론 코딩] 네이버 카페 - (통합게시판) 게시글 작성
통합 게시판을 구현해 두었으니 해당 게시판에 게시글을 작성할 수 있도록 '게시글 작성' 기능을 구현할 것이다. 그리고 더불어 사용자가 게시글을 작성할 수 있게 양식을 제공할 때 사용되는 기본 데이터를 전달하는 기능 또한 구현할 생각이다. 게시판 - 게시글의 관계는 네이버 카페 시스템을 기준으로 하면 게시판 보다 게시글이 더 자유롭다. 무슨 말이냐면 게시글이 있는 게시판은 기능에 제한이 생긴다. 간단한 예로 게시글이 있는 게시판은 삭제가 불가능하다. 그리고 게시판은 다양한 정보를 수정할 순 있지만 게시판의 타입은 수정할 수 없다. 이러한 부분 때문에 두 엔티티의 연관관계를 설정하지 않고 각각의 엔티티를 Cafe 엔티티와 연관관계를 지었다.Normalpackage CloneCoding.NaverCafe...
2024.05.30 -
[클론 코딩] 네이버 카페 - 통합게시판 수정
저번에는 일반 게시판을 카페에 추가하는 기능을 구현했으니 이번에는 수정하는 기능을 구현하고자 한다. 사용자가 요청을 하면 서버에서는 기존 게시판의 정보를 담아 응답하며 사용자는 현재 게시판의 정보를 확인하면서 수정하고자하는 데이터를 입력해 수정 요청을 서버에 전달할 것이다. 서버는 요청 정보를 확인해 기존 게시판 정보를 수정후 DB에 반영하면 게시판 수정이 완료될 것이다. 참고로 이번 기능을 구현하면 클래스명이나 메서드명때문에 고민을하였다. 문제는 너무 길어서...게시판이라 생각하고 BulletinBoard라는 이름을 사용했는데 이후 메서들 만들거나 할 때 길이가 너무 길어져 내심 불편한 점이 있었고 다음의 방법으로 이를 해결해 보았다. 네이버는 게시판 목록을 '메뉴'라고 묶고 기본, 일반등으로 ..
2024.05.29 -
[클론 코딩] 네이버 카페 - 통합게시판 추가
저번에는 카페 생성에 따라 기본 게시판이 추가되는 기능을 구현했으니, 이번에는 카페에 게시판을 추가하는 기능을 구현하고자 한다. 일단 네이버 카페에는 여러 타입의 게시판이 있지만 해당 게시글에서는 기본 타입인 '통합(일반) 게시판'에 대한 추가를 구현한다. 사용자는 게시판 타입을 선택하면 게시판 추가를 위한 정보를 입력할 수 있는 양식을 응답 받는다. 그리고 양식에 정보를 입력해 서버에 전달하면 게시판이 추가될 것이다.BulletinBoardpackage CloneCoding.NaverCafe.domain.bulletinBoard;import static CloneCoding.NaverCafe.domain.bulletinBoard.enums.BasicBulletinBoardData.*;import s..
2024.05.28 -
[클론 코딩] 네이버 카페 - 카페 생성시 기본 게시판
네이버 카페에는 게시글을 작성할 수 있고 이를 분류하는 게시판이라는 기능이 존재한다. 해당 기능이 존재하기 때문에 사용자들은 '카페에는 게시판이 있고 게시판 마다 게시글이 있다'라고 서비스를 이해하고 사용할 수 있는 것이다. 네이버 카페는 기본적으로 생성시 '자유게시판'이라는 게시판이 생성된다. 그래서 이번에는 게시판에 대한 서비스(게시판 추가, 수정 등)를 구현하기 전에 카페 생성시 자동적으로 생성되는 게시판에 대한 구현을 먼저 하고자 한다.BulletinBoardpackage CloneCoding.NaverCafe.domain.bulletinBoard;import static CloneCoding.NaverCafe.domain.bulletinBoard.enums.BasicBulletinBoardD..
2024.05.28 -
[클론 코딩] 네이버 카페 - 카페 탈퇴
네이버 카페의 경우 탈퇴 요청시 즉시 탈퇴처리가 이루어진다. 이번에 사용자가 카페를 탈퇴할 수 있는 기능을 구현한다.CafeMemberControllerpackage CloneCoding.NaverCafe.domain.cafeMember.controller;@Slf4j@RestController@RequiredArgsConstructor@RequestMapping("/{cafe_url}")public class CafeMemberController { private final CafeMemberService cafeMemberService; @DeleteMapping() public String deleteCafeMember(@PathVariable("cafe_url") String ur..
2024.05.26 -
[클론 코딩] 네이버 카페 - 카페 회원정보 수정
카페 회원이 자신의 정보를 수정할 수 있는 기능을 구현한다. 회원정보 수정을 요청하면 수정할 정보를 입력할 수 있는 수정 양식이 사용자에게 전달되고 사용자가 확인(적용)을 누르면 해당 정보가 DB에 반영되는 기능이 될 것이다.CafeMemberpackage CloneCoding.NaverCafe.domain.cafeMember;import static CloneCoding.NaverCafe.domain.cafeMember.enums.CafeMemberPosition.*;@Entity@Table(name = "CAFE_MEMBER", uniqueConstraints = { @UniqueConstraint( name = "ACCOUNT_ID_UNIQUE", ..
2024.05.26