최근 기존 프로젝트에 새로운 요구사항이 생겨 기능을 확장하게 되었습니다. 코드를 살펴보던 중 서비스 레이어와 레포지토리 레이어에 똑같이 @Transactional 어노테이션이 붙어 있는 메소드를 발견했어요.처음엔 이렇게 생각했습니다.“어? 이렇게 트랜잭션이 중첩되면 충
Spring에서는 @Async 어노테이션을 사용하면 간단하게 비동기 작업을 구현할 수 있습니다. 하지만 아무런 설정 없이 기본값만 사용할 경우, 쓰레드가 과도하게 생성되어 시스템 리소스를 급격히 소모하고, 최악의 경우 애플리케이션이 다운될 위험도 있습니다.이러한 문제를

https://wavebridge.atlassian.net/wiki/spaces/DEV/pages/1991966816/FDS+Filter JwtAuthenticationFilter가 두번 호출되는 이슈 발생했다. 먼저, JwtAuthenticationFilter는
특정 이벤트는 QR코드로 출석하는 시스템을 개발하면서, 타입을 구분하는 switch문을 사용했다. 처음에는 간단하게 사용했지만 타입이 늘어날수록 코드는 유지보수와 멀어지고 점점 길어져만 갔다. 리팩토링한 과정을 기록해보려고한다. >## AS-IS QrType 이넘클래스 기존 코드의 문제점은 새로운 요구사항이 추가되거나, 새로운 타입이 생길때 마다 계...
새로운 프로젝트를 혼자서 진행하게 됐습니다. 로직이 복잡한 프로젝트인데, 서비스 레이어 간의 참조로 인해 순환 참조가 발생할 가능성이 높아졌습니다. 순환 참조는 클래스 간 의존 관계가 얽혀 복잡성을 더하고, 결과적으로 유지보수를 어렵게 만드는 문제가 있습니다. 그리고