728x90 320x100 💻 뚝딱뚝딱/북북클럽48 [개발일지 #034] 팔로우(Follow) 도메인 구현 및 테스트 🎯 오늘 개발 할 기능팔로우(Follow) 도메인 구현팔로우(Follow) 테스트🛠️ 개발내용📌 Follow.java 생성package ddururi.bookbookclub.domain.follow.entity;import ddururi.bookbookclub.domain.user.entity.User;import jakarta.persistence.*;import lombok.AccessLevel;import lombok.AllArgsConstructor;import lombok.Getter;import lombok.NoArgsConstructor;import org.springframework.data.annotation.CreatedDate;import org.springframework.d.. 2025. 5. 2. [개발일지 #033] 책(Book) 중복 등록 시 예외 처리 하기 🎯 오늘 개발 할 기능특정 회원의 피드 목록 조회 구현특정 회원이 좋아요 누른 피드 목록 조회 구현🛠️ 문제상황테스트를 하다보니 책을 중복으로 등록하면 당연히 에러가 발생함. 그런데 에러 메시지가 그냥 500에러로 떨어져 명확하지 않은 상태. 📌 BookRepository.java 수정/** * Book 데이터 액세스 레포지토리 */public interface BookRepository extends JpaRepository { //코드생략// boolean existsByIsbn(String isbn);} 📌 BookService.java 수정package ddururi.bookbookclub.domain.book.service;/** * 책 관련 비즈니스 로직 처리 */@Se.. 2025. 5. 2. [개발일지 #032] 각종 피드 조회 (특정 회원의 피드 목록 조회, 특정 회원이 좋아요 누른 피드 목록 조회) 🎯 오늘 개발 할 기능특정 회원의 피드 목록 조회 구현특정 회원이 좋아요 누른 피드 목록 조회 구현🛠️ 개발내용📌 특정 회원의 피드 목록 조회 구현마이페이지 → “나의 피드”타인 프로필 → “이 사용자의 피드” 📦 FeedRepositoryCustom.javaList findFeedsByUserId(Long userId, Pageable pageable); 📦 FeedRepositoryImpl.java@Overridepublic List findFeedsByUserId(Long userId, Pageable pageable) { return queryFactory.selectFrom(feed) .where(feed.user.id.eq(userId).and(feed.isBlin.. 2025. 5. 2. [개발일지 #031] 피드 검색 조회 🎯 오늘의 목표피드 검색 조회⚙️ 진행한 작업피드 검색 조회🛠️ 개발내용📌 QueryDSL 적용법아래의 포스팅 참고! [JPA/QueryDSL] 적용하기은근히 적용하기 빡센 쿼리 데셀....정리해놓자 📌 build.gradle 추가dependencies { implementation 'com.querydsl:querydsl-jpa:5.0.0:jakarta' annotationProcessor 'com.querydsl:querydsl-apt:5.0.0:jakarta'}def generated = "build/generated"soddururiiiiiii.tistory.com 📌 FeedRepositoryCustom.java 생성package ddururi.bookbookclub.domai.. 2025. 5. 2. [JPA/QueryDSL] 적용하기 은근히 적용하기 빡센 쿼리 데셀....정리해놓자 📌 build.gradle 추가dependencies { implementation 'com.querydsl:querydsl-jpa:5.0.0:jakarta' annotationProcessor 'com.querydsl:querydsl-apt:5.0.0:jakarta'}def generated = "build/generated"sourceSets { main { java { srcDirs += [generated] } }}tasks.withType(JavaCompile).configureEach { options.generatedSourceOutputDirectory = file(generated)} 📌 Q 클래스 생성 확인터미널에 명령어 삽.. 2025. 5. 2. [개발일지 #030] 좋아요(Like) 랭킹에서 피드 상세정보 함께 내려주기 🎯 오늘의 목표좋아요(Like) 랭킹에서 피드 상세정보 함께 내려주기⚙️ 진행한 작업좋아요(Like) 랭킹에서 피드 상세정보 함께 내려주기📌 현재 상황https://ddururiiiiiii.tistory.com/652 [개발일지 #028] 좋아요 순 피드 조회 (주간/월간/연간/누적)🎯 오늘의 목표좋아요 순 피드 조회 (주간/월간/연간/누적)⚙️ 진행한 작업좋아요 순 피드 조회 (주간/월간/연간/누적)📌 좋아요 순 피드 조회하는 방법1️⃣ DB 직접 카운트 + 정렬방식: SELECT *ddururiiiiiii.tistory.com전의 개발일기를 보면 알수 있지만, 좋아요순 피드 조회를 Redis Sorted Set(ZSet)을 활용하여 구현하였음.즉, 레디스를 활용해서 좋아요순 조회를 하면 좋아.. 2025. 5. 2. 이전 1 2 3 4 5 6 ··· 8 다음 728x90 320x100