퍼사드 (Facade) 패턴복잡한 서브 시스템 의존성을 최소화하는 디자인 패턴 문제의존성이 많을수록 해당 코드를 변경하기가 어려운데, 코드가 변경되어야 하는 이유도 많아지며, 테스트하기도 어려워집니다.레이어드 아키텍처로 어느 정도 의존성을 해소할 수 있었으나, 플랫폼이 커질수록 서비스 레이어(Service Layer)가 의존하는 리포지토리(Repository)와 외부 라이브러리들이 많아질 수밖에 없는 구조였습니다.특히 JPA를 사용하는 환경에서는 도메인 간 상호작용이 많아질수록 Repository 의존성이 과다하게 증가하여, Mock을 사용하는 단위 테스트는 검증이 제대로 되지 않을 뿐만 아니라 목을 하나하나 지정해주기도 어려웠습니다.이러한 문제를 해결하기 위해 퍼사드 패턴(Facade Pattern)을..
문제해결/Spring
최근 운영 중인 플랫폼에서 JPA의 LocalDate 필드(환자 생일, 결제 요청일)가 하루씩 내려가는 문제가 발생했습니다. 이 문제의 원인과 해결 과정을 공유합니다. 문제 상황문제 증상LocalDate 필드(환자 생일, 결제 요청일)의 날짜가 하루씩 내려갑니다.예: 1997-03-25 → 1997-03-24 → 1997-03-23... 로그 확인환자 생일을 수정한 API 호출 이력이 없습니다.결제 요청일은 클라이언트에서 수정할 방법이 제공되지 않았습니다.LocalDate 필드만 문제가 발생하며, LocalDateTime은 정상적으로 동작하고 있었습니다. 타임존 확인백엔드 서버의 JVM 타임존과 DB의 타임존을 확인한 결과 모두 한국(Asia/Seoul)으로 설정되어 있었습니다.@SpringBootApp..