전체 글(194)
-
최종 프로젝트 (1일차)
🕛팀 프로젝트 (Sober)💡 프로젝트 기간: 2024-07-12~2024-08-22 프로젝트 목적와인21 같은 와인 정보 사이트를 크롤링 하여 해당 정보를 바탕으로 사용자의 선호 와인에 따라 적절한 와인을 추천해주는 와인 추천 서비스 API 설계를 목적으로 하며 최종적으로 배포 및 사용성 테스트 까지를 목표로 한다. 프로젝트 진행과정 오늘 한 일주제 정하기 BrainStorming필수 기능 EventStoriming 진행
2024.07.12 -
Cache을 이용한 성능개선 프로젝트 마무리
🕛팀 프로젝트 (산책갈까)💡 프로젝트 기간: 2024-07-04~2024-07-11 프로젝트 목적기존의 일반적인 CRUD 기반의 프로젝트에서 Redis Cache를 이용하여 성능개선을 기대하는 프로젝트 프로젝트 진행과정 5분 기록 보드를 활용하여 각 주차별, 날짜별 어떤 기능을 구현했는지를 확인이 가능 시연영상: https://youtu.be/SBJoMTKqFsI GitHub : https://github.com/walkWithDog/WithDog/tree/release?tab=readme-ov-file GitHub - walkWithDog/WithDogContribute to walkWithDog/WithDog development by creating an account on GitHub.gi..
2024.07.11 -
페이지네이션 적용된 캐시데이터 한번에 삭제하기
✔오늘 배운 중요한 🔑 point@CacheEvict는 단일 키에 대해서만 작동하며, 와일드카드나 패턴 매칭을 지원하지 않는다.redisTemplate를 이용해서 특정 패턴에 대한 키를 삭제할 수 있다.🎯 오늘 배운 내용 페이지네이션이 적용된 캐시 keywordPostCache::breedName-0-10, keywordPostCache::breedName-1-10 등을 같이 삭제하기 위해서 해당 코드를 작성하였다. @CacheEvict( value = ["keywordPostCache"], key ="#breedName + '*' ") fun evictCaches(postId: Long, breedName: String){ logger.info("해당 견종 캐시 삭제 : $bre..
2024.07.10 -
could not initialize proxy [com.teamsparta.withdog.domain.user.model.User#1] - no Session 오류
✔오늘 배운 중요한 🔑 point@Transactional을 사용하면 프록시 초기화 오류를 해결할 수 있다.FetchType= EAGER, JOIN FETCH 등으로도 해당 오류를 해결할 수 있다.🎯 오늘 배운 내용 프로젝트의 테스트코드 작성중 오류가 발생하였다.!! could not initialize proxy [com.teamsparta.withdog.domain.user.model.User#1] - no Session 라는 노란색 경고 표시가 뜬것인데 , 이때문에 test에 실패를 한 것으로 보인다. 이러한 오류가 발생하는 주된 원인은 Hibernate의 Lazy Loading과 관련된 문제일 가능성이 크다고 한다. Hibernate에서는 기본적으로 Lazy Loading을 사용하여 연관된 엔..
2024.07.09 -
ngrinder 기본 설정
✔오늘 배운 중요한 🔑 pointngrinder는 성능 테스트 및 부하 테스트를 위해 널리 사용되는 오픈 소스 소프트웨어이다.Jython(파이썬의 자바 구현) 또는 Groovy로 테스트 스크립트를 작성할 수 있다.🎯 오늘 배운 내용 부하 테스트를 위해 ngrinder 설치 https://github.com/naver/ngrinder/releases Releases · naver/ngrinderenterprise level performance testing solution. Contribute to naver/ngrinder development by creating an account on GitHub.github.com 받은 war파일을 압축해제 하지말고 터미널에서 실행 실행이 완료됬으면808..
2024.07.08 -
import와 @Import의 차이
✔오늘 배운 중요한 🔑 pointimport는 클래스나 인터페이스를 코드에서 사용할 수 있도록 가져오는 것이고, @Import는 스프링 애플리케이션 컨텍스트에 설정 클래스를 등록하는 것이다.일반 import는 단순히 클래스를 사용할 수 있게 할 뿐, 스프링 컨텍스트에 빈으로 등록하지는 않는다.@Import는 공통 설정을 여러 애플리케이션 컨텍스트에서 재사용할 때 유용하다.🎯 오늘 배운 내용 일반적인 import 문import com.teamsparta.withdog.domain.post.repository.PostRepository일반적인 import 문은 코드에서 다른 패키지에 있는 클래스를 사용할 수 있도록 하는 것 @Import 어노테이션@Configuration@Import(value = [..
2024.07.07