728x90 320x100 💻 뚝딱뚝딱/북북클럽21 [개발일지 #020] 좋아요(Like) 도메인 개발 및 단위테스트 🎯 오늘의 목표좋아요(Like) 도메인 개발⚙️ 진행한 작업좋아요(Like) 엔티티 생성좋아요(Like) 레파지토리 생성좋아요(Like) 서비스 생성좋아요(Like) 관련 예외 생성좋아요(Like) 도메인 단위테스트🛠️ 개발내용📌 좋아요(Like) 엔티티 생성package ddururi.bookbookclub.domain.like.entity;import ddururi.bookbookclub.domain.feed.entity.Feed;import ddururi.bookbookclub.domain.user.entity.User;import jakarta.persistence.*;import lombok.AccessLevel;import lombok.Getter;import lombok.NoArgs.. 2025. 4. 29. [개발일지 #019] 피드(Feed) 도메인 API 구현 및 테스트 🎯 오늘의 목표피드(Feed) 도메인 컨트롤러 구현피드(Feed) 도메인 API 테스트 ⚙️ 진행한 작업피드(Feed) 도메인 컨트롤러 구현포스트맨을 활용하여 피드(Feed) 도메인 API 테스트 📌 피드(Feed) 도메인 컨트롤러 구현 package ddururi.bookbookclub.domain.feed.controller;import ddururi.bookbookclub.domain.feed.dto.FeedRequest;import ddururi.bookbookclub.domain.feed.dto.FeedResponse;import ddururi.bookbookclub.domain.feed.dto.FeedUpdateRequest;import ddururi.bookbookclub.domain... 2025. 4. 29. [개발일지 #018] 피드(Feed) 도메인 개발 및 단위테스트 🎯 오늘의 목표피드(Feed) 도메인 개발⚙️ 진행한 작업피드(Feed) 엔티티 생성피드(Feed) 레파지토리 생성피드(Feed) 서비스 생성피드(Feed) 관련 예외 생성피드(Feed) 도메인 단위테스트🛠️ 개발내용📌 피드(Feed) 엔티티 생성package ddururi.bookbookclub.domain.feed.entity;import ddururi.bookbookclub.domain.book.entity.Book;import ddururi.bookbookclub.domain.user.entity.User;import jakarta.persistence.*;import lombok.AccessLevel;import lombok.Getter;import lombok.NoArgsConstru.. 2025. 4. 29. [개발일지 #017] 북(Book) 도메인 API 구현 및 테스트 🎯 오늘의 목표북(Book) 도메인 API 구현⚙️ 진행한 작업(Book) 도메인 API 구현 (Book) 도메인 API 테스트 🛠️ 개발내용📌 북(Book) 컨트롤러 생성package ddururi.bookbookclub.domain.book.controller;import ddururi.bookbookclub.domain.book.dto.BookRequest;import ddururi.bookbookclub.domain.book.dto.BookResponse;import ddururi.bookbookclub.domain.book.service.BookService;import ddururi.bookbookclub.global.common.ApiResponse;import jakarta.valid.. 2025. 4. 29. [개발일지 #016] 북(Book) 도메인 개발 및 단위 테스트 🎯 오늘의 목표북(Book) 도메인 개발⚙️ 진행한 작업북(Book) 엔티티 생성북(Book) 레파지토리 생성북(Book) 서비스 생성북(Book) 관련 예외 생성북(Book) 도메인 단위 테스트 🛠️ 개발내용📌 북(Book) 엔티티 생성/** * 책(Book) 엔티티 * - 외부 책 API에서 검색된 책 정보를 저장 */@Entity@Getter@NoArgsConstructor(access = AccessLevel.PROTECTED)public class Book { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; /** 책 제목 */ @Column(nullable = false) .. 2025. 4. 29. [개발일지 #015] 이메일 인증 실패 시도 횟수 제한 기능 🎯 오늘의 목표이메일 인증 실패 시도 횟수 제한 기능⚙️ 진행한 작업이메일 인증 실패 시도 횟수 제한 기능🛠️ 개발내용보안과 남용 방지를 위해 필요한 기능으로, 일반적으로는 Redis 같은 인메모리 저장소를 활용해서 이메일 주소별로 제한 시간 동안 실패 횟수를 카운트하고, 기준 초과 시 인증 요청을 차단하는 방식으로 구현한다고 하여 해보기로 함.구성 요소설명Redis Keyemail:fail: 형태로 저장TTL(Time to Live)일정 시간 후 자동 삭제 (예: 10분)허용 실패 횟수예: 5회차단 메시지"인증 요청이 너무 많습니다. 잠시 후 다시 시도해주세요." 📌 예외 클래스 추가EmailVerificationLimitExceededException.java@Getterpublic class .. 2025. 4. 25. 이전 1 2 3 4 다음 728x90 320x100