본문 바로가기

Today I Learned109

(24.07.09)[13주차] @DataJpaTest 슬라이스 테스트에서의 빈 등록 슬라이스 테스트 중 QueryDSL로 구현한 RepositoryCustom과 JpaRepository가 extends 된 3 Layer Architecure 의 Repository 레이어의 테스틀 위해 @DataJpaTest Annotation 을 활용하면서 발생한 이슈를 정리 @DataJpaTest에서의 빈 등록@DataJpaTest@ActiveProfiles("test")public class LikeRespositoryTest { @Autowired private LikeRepository likeRepository; ...이슈테스트 코드에서의 검증 문제가 아닌 디버깅도 시작이 안되는 주입 단에서의 문제가 발생지속적으로 Runtime시에 ApplicationContext자체가.. 2024. 7. 9.
(24.07.04)[12주차] Redis 강의 학습 Spring 의 Mail Sender와 함께 인증번호를 전송하고 이를 인증 번호를 통해 회원가입시 본인인증을 진행하는 구축을 팀 프로젝트에서 사용한 적이 있었다. 당시에는 Redis에 대해서 제대로 알지를 못해서 사용을 했지만,이번 학습 Session을 정리하면서 이론적으로 Redis에 대해 한번 정리를 했다.Redis 강의 간단 정리자료와 나만의 언어로 간단히 정리를 해보고 구체적인 내용은 Notion으로 옮겨서 학습을 진행더보기In-Memory CacheRedis, Memcached, Couchbase 등In-Memory Cache는 사용한다는 의미, 분류로써는 NoSQL 이라고 할 수 있음Query CacheDB 자체에서 사용하는 캐시동일 쿼리 실행 시 매번 조회하는 것이 아니라 캐시에 저장된 데이.. 2024. 7. 4.
(24.07.03)[12주차] QueryDSL사용을 위한 Repository 분리 QueryDSL로 JPA에서 쿼리문을 구현하려고 했지만, 기존에 JpaRepository 를 상속받는 Repository를 사용하고 있었기에 내부에 QueryDSL 쿼리역시 구현을 할 수 없었다. 그렇다고 Service단에서 그 쿼리를 구현하는 것은 계층을 분리하고자 하는 의의와 벗어나게 되는데, 그렇다면 어떻게 QueryDSL을 사용할 수 있을지에 대한 구조 정리QueryDSL을 사용하기 위한 Repository 구성JpaRepository만 상속 받는 형태의 Repository로 Service 계층에서 findBy save delete 등의 쿼리 메서드를 사용할 수 있었지만, QueryDSL을 사용하기 위해서는 이 상속받고 있는 Repository를 사용하는 것이 아닌 위의 그래프처럼 Custom R.. 2024. 7. 3.
(24.07.02)[12주차] QueryDSL의 Wildcard 와 Count count를 사용하여 총 갯수를 구하려는 쿼리문을 QueryDSL로 작성을 해야할 필요가 있다.하지만, 어떤 상황에 따라서는 Join 에 따라서 count가 실행되지 않을 수 있다.  QueryDSL 의 Wildcard 사용 이슈public ProfileResponseDto getUserProfile(String userName) { QUser qUser = QUser.user; QLike qLike = QLike.like; ... Long aptLikesCount = jpaQueryFactory.select(Wildcard.count) .from(qLike) .leftJoin(qLike.user, qUser).f.. 2024. 7. 2.