[Spring] @Casheable 이해하기
·
Spring
본격적으로 들어가기에 앞서,웹 페이지를 이용하다보면 캐시라는 단어를 들어본 적이 있을 것이다.캐시는 데이터를 빠르게 꺼내쓰기 위해 미리 복사해둔 임시 저장소이다.이번 글에서는 Spring의 @Cacheable 동작 방식, 캐시의 장단점, 그리고 실무에서 캐시를 적용하는 법을 살펴볼려고 한다. ✅Cache 란?캐시는 데이터 접근 속도를 높이기 위해 원본 데이터를 복사해둔 저장소다.DB나 외부 API를 매번 호출하는 대신 캐시에 저장된 데이터를 재사용해 성능을 끌어올린다.스프링의 캐시 추상화는 Java 메서드의 반환값을 캐싱하는 데 초점이 맞춰져 있다. @Cacheable 어노테이션을 메서드나 클래스에 붙이면, 메서드 호출 결과가 캐시에 저장돼 다음 호출 시 빠르게 반환된다.💡 @Cacheable을 클래스..
[Spring]단위 테스트 Mockito willReturn(Optional<T>) 오류 해결
·
프로젝트/트러블슈팅
intro프로젝트를 진행하며 발생한 문제 상황과 해결 과정들을 상세히 기록하고 추후에 같은 문제가 발생 했을때 빠르게 문제 해결하기 위해 트러블 슈팅을 정리할려고 한다.기록하는 습관을 기르기 위해 프로젝트 기간동안 꾸준히 작성할 것 이다.⚠️ 1. 문제 상황 발생Optional.of(product) Cannot resolve method 'willReturn(Optional)' 오류 때문에 테스트가 안 됐다. Mockito의 given 메서드에서 Optional.of(product)를 willReturn으로 설정하려 했는데, product 변수가 안 잡혀서 컴파일 오류가 난 거였다.@ExtendWith(MockitoExtension.class)class ProductServiceTest { @Mo..
[SQL]우유와 요거트가 담긴 장바구니
·
코딩테스트/SQL
https://school.programmers.co.kr/learn/courses/30/lessons/62284 코딩테스트 연습 - 우유와 요거트가 담긴 장바구니알고리즘 문제 연습 카카오톡 친구해요! 프로그래머스 교육 카카오 채널을 만들었어요. 여기를 눌러, 친구 추가를 해주세요. 신규 교육 과정 소식은 물론 다양한 이벤트 소식을 가장 먼저 알려school.programmers.co.kr 📚 문제CART_PRODUCTS 테이블에서 Yogurt와 Milk가 모두 포함된 CART_ID를 조회하는 SQL 쿼리를 작성해주세요. 결과는 CART_ID를 기준으로 오름차순 정렬해주세요. ✏️ 내 풀이 (오답)SELECT CART_IDFROM CART_PRODUCTSWHERE NAME IN ('Yogurt', 'M..
[TIL]2025-05-16
·
TIL
📋오늘 푼 코딩테스트더보기https://school.programmers.co.kr/learn/courses/30/lessons/151138 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr SELECT HISTORY_ID,CAR_ID,DATE_FORMAT(START_DATE,'%Y-%m-%d') START_DATE, DATE_FORMAT(END_DATE,'%Y-%m-%d')END_DATE, CASE WHEN DATEDIFF(END_DATE,START_DATE) >= 29 THEN '장기 대여' ELSE '단기 대여' END 'RENT_TYPE'FROM CAR_RENTAL..