여기어때 검색 광고: 랭킹 부스팅 구축기
검색 광고의 랭킹 부스트 기능을 설계하고, 노출 수 예측 대신 순위 상승 보장 방식으로 전환했습니다. 데이터 수집, Delta Score 계산, Elasticsearch 가중치 주입과 A/B 테스트 검증 과정을 정리했습니다.


검색 광고의 랭킹 부스트 기능을 설계하고, 노출 수 예측 대신 순위 상승 보장 방식으로 전환했습니다. 데이터 수집, Delta Score 계산, Elasticsearch 가중치 주입과 A/B 테스트 검증 과정을 정리했습니다.

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

기존 배치 적재의 지연을 줄이기 위해 Debezium 기반 실시간 CDC 파이프라인을 구축한 과정을 정리했습니다. Kafka Connect 구조, 스냅샷, 오프셋 관리와 성능 개선 포인트까지 살펴보았습니다.

타임존 오류를 계기로 서울과 평양의 시간대 변천과 서머타임 역사를 살펴보았습니다. 시간 처리에는 정치적 변화와 전환 시점의 예외까지 함께 고려해야 했습니다.

Robot Framework로 웹 테스트 자동화를 도입한 과정과 운영 방식을 소개했습니다. 반복 검증을 키워드화·모듈화하고 Jenkins, Docker, Slack으로 모니터링까지 확장했습니다.

Elasticsearch 사각형 공간 검색에서 Box와 Polygon의 성능을 비교했습니다. 두 방식은 큰 차이 없이 유사했으며, 단순 검색에는 Box를 우선 고려할 수 있었습니다.

Kafka 소비 시 JSON 역직렬화 설정이 왜 기대대로 동작하지 않는지 과정을 따라가며 분석했습니다. 헤더 타입 정보와 타입 매핑, trusted packages, target type 우선순위를 조정해 해결했습니다.
레저티켓 정산 검증에서 예약내역 API와 쿠폰 API를 활용해 필요한 데이터를 직접 수집했습니다. 스프레드시트 계산과 웹 표시값을 비교해 입력 실수와 시행착오를 줄였습니다.
온라인 DDL 테스트를 자동화해 알고리즘 선정과 사전 검증 과정을 표준화했습니다. 클론 생성, 비동기 실행, 히스토리 저장, Slack 알림으로 운영 효율과 안정성을 높였습니다.

검색 키워드 분석과 사전 관리를 더 쉽게 보기 위한 관리자 페이지 개선 사례를 다뤘습니다. 분석 흐름도와 세부 결과를 시각화해 운영과 커뮤니케이션 편의성을 높였습니다.
해외 여행 검색 자동완성을 개선한 사례를 다뤘습니다. 한글 음차 차이 대응, 국가/주/도시 교차검색, 랭킹 개선으로 검색 정확도를 높였습니다.

해외 파트너센터에서 국내 휴대폰 인증 한계를 해결하기 위해 이메일 인증 공통 서비스를 도입했습니다. 별도 도메인과 인증 흐름을 분리해 계정 관리 절차를 연결했습니다.

기존 AWS KMS 암호화 서비스를 EKS와 Java 비동기 처리로 개선했습니다. 형상 관리, CI/CD, APM까지 도입해 성능과 운영 안정성을 함께 높였습니다.

도메인별로 분산 운영하던 Kafka Cluster를 공통 Cluster로 통합한 배경과 전략을 정리했습니다. KRaft, SASL/SCRAM, AKHQ, Grafana를 활용한 표준 운영 방향도 소개했습니다.
![공통 Kafka 전환기 [Part 1. 공통 Kafka 전환 배경 및 전략]](https://miro.medium.com/v2/resize:fit:1200/1*Zgg56jduWlHfsjk4HhqKHQ.png)