주소정제 서비스 내재화 - 3화 ( 노가다의 달달한 열매 )
행안부 네비게이션용 DB를 활용해 전국 건물 DB를 내재화한 과정을 설명했습니다. 일단위 자동 동기화와 건물관리번호 기반 개선으로 운영 시너지를 얻었습니다.


행안부 네비게이션용 DB를 활용해 전국 건물 DB를 내재화한 과정을 설명했습니다. 일단위 자동 동기화와 건물관리번호 기반 개선으로 운영 시너지를 얻었습니다.

주소정제 서비스에서 단독건물 처리 로직과 주소 파싱 과정을 내재화한 과정을 설명했습니다. 행정구역 변경과 휴먼 에러에 대응하며 외부 호출을 줄이기 위한 안정화 전략도 다뤘습니다.

복합건물 주소정제의 어려움과 정확도 레벨 체계를 정리했습니다. 전처리, 연관 건물 탐색, 백오피스 관리로 외부 API 의존을 줄인 과정을 소개했습니다.

외부업체 주소정제 의존을 줄이기 위해 지번 요청과 LOW 레벨 주소를 내재화한 과정을 정리했습니다. 변경이력 DB와 백오피스 보정으로 계약 종료까지 안정적으로 마무리했습니다.

짧은 HikariCP max-lifetime과 mysql-connector-j 정리 스레드 병목으로 발생한 Connection 누수를 분석했습니다. 드라이버 업그레이드와 정리 스레드 비활성화로 OOM 문제를 해결했습니다.

JDBC Driver 변경 이후 발생한 OOM 원인을 DB Connection 누수로 추적하고 Heap Dump로 확인했습니다. mysql-connector-j 업그레이드와 cleanup thread 비활성화로 문제를 해결했습니다.

로그 레벨을 ERROR와 WARN으로 재정의하고, 상황별 임계치 기반 알람을 구성했습니다. 알람 피로를 줄이면서 운영 문제를 빠르게 인지하도록 로그를 지속 관리했습니다.

운영 로그의 기준을 다시 정리해 실제 장애와 가짜 에러를 구분하는 방법을 다뤘습니다. 알람 노이즈를 줄이고 빠른 인지를 위해 로그 레벨과 임계치를 팀 기준으로 조정했습니다.

MySqlPagingQueryProvider의 sort key 기반 페이지 처리 방식으로 발생한 데이터 누락과 SQL 오류를 분석했습니다. 고유 sort key 사용과 group by 시 별칭 제거로 문제를 해결했습니다.

JdbcPagingItemReader와 MySqlPagingQueryProvider의 페이지네이션 동작과 주의사항을 정리했습니다. sort key와 group clause 설정에 따라 데이터 누락과 SQL 오류가 발생할 수 있어 조심해야 했습니다.

Spring Boot와 Java 17 업그레이드 후 Gson의 LocalDateTime 직렬화 오류 원인을 분석했습니다. 강화된 모듈 캡슐화를 Custom TypeAdapter로 우회하는 방식을 소개합니다.

Spring Boot와 Java 버전업 과정에서 Gson 직렬화 에러의 원인을 자바 모듈 시스템 변화로 분석했습니다. `LocalDateTime`에 Custom TypeAdapter를 적용해 리플렉션 문제를 우회하고 해결했습니다.

Spring Kafka의 seek 기능으로 컨슈머 중단 없이 Kafka 메시지를 재처리하는 방식을 소개했습니다. Redis Pub/Sub로 요청을 전파해 분산된 모든 컨슈머에서 오프셋을 이동했습니다.

Spring Kafka의 seek 기능으로 컨슈머를 멈추지 않고 오프셋을 이동하는 방법을 정리했습니다. 분산 환경에서는 HTTP API와 Redis Pub/Sub로 요청을 전파해 그룹 단위 재처리를 구현했습니다.

SaaS TMS의 유연성과 성능 한계를 해결하기 위해 신규 배송 시스템을 구축했습니다. Kafka 기반 병행 운영과 단계적 확장으로 무중단 전환을 완료했습니다.

새로운 배송 시스템을 점진 전환과 롤백 가능 구조로 설계해 안정적으로 교체했습니다. 현장 협업과 반복 검증을 통해 배송 불가와 장애 없이 전환을 완료했습니다.

엑셀 내부 styles.xml의 반복 스타일이 높은 압축률을 만들어 Apache POI의 Zip Bomb 탐지를 유발했습니다. 압축 해제 비율을 조정해 우선 해결하고, 크기·중첩 레벨 제한을 보안 대안으로 제시했습니다.

엑셀 업로드 중 Apache POI가 Zip Bomb으로 파일을 차단한 원인과 로그 분석 과정을 정리했습니다. 최소 압축 비율 조정과 파일 크기·중첩 레벨 점검으로 대응했습니다.
