
Spring Cache(@Cacheable) + Spring Data Redis 사용 시 record 직렬화 오류 원인과 해결
Spring Cache와 Redis에서 record 캐싱 시 발생하는 역직렬화 오류의 원인과 해결책을 정리했습니다. Jackson의 타입 정보 처리와 GenericJackson2JsonRedisSerializer의 동작 방식까지 함께 설명했습니다.

Spring Cache와 Redis에서 record 캐싱 시 발생하는 역직렬화 오류의 원인과 해결책을 정리했습니다. Jackson의 타입 정보 처리와 GenericJackson2JsonRedisSerializer의 동작 방식까지 함께 설명했습니다.

카카오뱅크 알림탭에서 발생한 간헐적 동시성 문제를 ShardingSphere 내부 상태와 초기화 경쟁으로 분석했습니다. SQL 대체와 Warm-Up으로 해결하고, 핵심 라이브러리 관리 체계도 도입했습니다.


Lombok `@Builder`와 Jackson을 함께 사용할 때 단일 필드 DTO에서 역직렬화 오류가 발생하는 원인을 설명했습니다. `@Jacksonized`를 사용하면 빌더 기반 역직렬화를 명시적으로 활성화할 수 있습니다.


신입 개발자에게 필요한 소통, 탐색, 기록, 질문의 태도를 중심으로 성장 방법을 정리했습니다. 완벽한 코드보다 동작하는 기능부터 시작해 점진적으로 개선하자는 메시지를 담았습니다.

선물하기 전시 영역의 캐시 적용 방식을 커스텀 모듈과 AoP로 재구성했습니다. Redis 분산 락을 더해 캐시 스탬피드까지 해결했습니다.


포스타입 기술팀이 AI 코드 리뷰 도구 CodeRabbit을 도입한 배경과 사용 경험을 공유했습니다. 기술적 오류 탐지와 셀프 리뷰에는 유용했지만, 비즈니스 맥락과 리뷰 시간 단축에는 한계가 있었습니다.


올리브영이 외부 WMS 의존을 벗어나 GMS를 제로베이스로 구축한 과정을 소개했습니다. Kafka와 Kafka Streams로 Out-of-Order Events를 완화하고 출고 성능과 운영 안정성을 개선했습니다.

Java 기반 레거시 포인트 시스템을 Kotlin으로 전환한 과정과 기준을 정리했습니다. 테스트 강화와 점진적 배포로 안정성과 코드 품질을 함께 높였습니다.

Spring Modulith를 활용해 모놀리스와 MSA 사이에서 도메인 경계를 강제한 실무 경험을 정리했습니다. 불확실한 전환기에 논리적 모듈 분리로 운영 부담과 결합도를 함께 줄인 사례를 공유했습니다.


결제 도메인의 오류 처리를 위해 sealed class를 검토한 뒤 Arrow의 Either를 도입한 과정을 정리했습니다. 트랜잭션, 캐시, 예외 처리와의 충돌을 피하기 위해 계층별 경계도 함께 설계했습니다.
제휴사 테스트 서버 불안정과 데이터 부족 문제를 해결하기 위해 mock 서버를 설계했습니다.\nDB 설정, 예약 실행, relay 기능으로 테스트 효율성과 신뢰성을 높였습니다.

레거시 정산 시스템의 성능 한계와 복잡도를 해결하기 위해 Spring Boot와 Spring Batch로 전면 재설계했습니다. 정산 기준별 Step 분리와 일간 집계 추가로 확장성과 운영 안정성을 높였습니다.