일본어 상품 검색 정확도 높이기: Elasticsearch + Kuromoji에서 OpenSearch + Sudachi로
Elasticsearch의 Kuromoji와 오래된 사전으로는 일본어 상품 검색 정확도에 한계가 있었습니다. OpenSearch와 Sudachi, Multi-field 전략으로 복합어·모델명·자동완성을 함께 개선했습니다.

Elasticsearch의 Kuromoji와 오래된 사전으로는 일본어 상품 검색 정확도에 한계가 있었습니다. OpenSearch와 Sudachi, Multi-field 전략으로 복합어·모델명·자동완성을 함께 개선했습니다.

Hive 기반 전체 재작성 ETL의 한계를 Iceberg와 Flink로 개선한 사례를 소개했습니다. 체크포인트, 2PC, 파티셔닝 최적화로 데이터 반영 속도를 12배 높였습니다.

기획서가 없는 블랙박스 시스템을 내재화하며, 입력·출력 정의와 병렬 검증으로 동일성을 증명했습니다. Kafka와 CDC, OpenSearch를 활용해 조회·업데이트·E2E 전환을 안전하게 검증했습니다.

SLI/SLO 도입 과정을 공통 프레임워크로 정리하고 사내 템플릿으로 확산한 사례를 소개했습니다. 또한 웹훅과 DB 기반으로 자동 갱신되는 서비스 상태 확인 도구 LINE Status를 만든 과정을 공유했습니다.

MySQL 함수형 인덱스로 비트 연산 조건이 인덱스를 타도록 바꿔 슬로우 쿼리를 해결했습니다.운영 적용 과정에서는 복제 지연과 조건 의미 변경 문제를 점진적 롤아웃으로 검증했습니다.

`equals`를 일부 속성만으로 정의하면 예상치 못한 버그가 생길 수 있음을 설명했습니다. 동일성인지 등가성인지 목적을 먼저 정하고, 필요한 부분은 별도 함수로 분리해야 합니다.

리소스 해제용 `use` 구현에서 블록 예외와 정리 예외가 동시에 날 수 있음을 다뤘습니다. 예외를 새로 감싸기보다 우선순위를 정하고 suppressed 예외를 활용하라고 제안했습니다.

LINE 통화의 영상 품질이 월말에 악화되던 문제를 분석해 원인을 모바일 데이터 속도 제한과 혼잡 제어 한계로 찾았습니다. 비트레이트와 패킷 손실의 상관관계를 활용해 혼잡 제어를 개선하고 영상 재생 품질을 높였습니다.

Vitess로 마이그레이션한 결제 시스템의 개발·운영 활용 방식을 정리했습니다.프로토콜 선택, 샤딩 구성, 모니터링과 페일오버 경험까지 함께 소개했습니다.

Milvus를 도입해 LINE VOOM 추천 시스템을 실시간 구조로 전환한 과정을 다뤘습니다. 카오스 테스트와 성능 테스트로 안정성과 성능을 검증해 즉시성을 크게 높였습니다.

결제 시스템 DB를 Nbase-T에서 Vitess로 옮기기 위해 ShardingSphere와 TiDB, Vitess를 PoC로 비교했습니다. 성능과 비용의 균형, 운영 경험을 고려해 Vitess를 최종 선정했습니다.

태국 현지에서 LINE 앱 영상 통화 품질을 점검하고 경쟁사와 비교한 결과를 정리했습니다. 5G 비트레이트 조정과 혼잡 예측 개선 등 품질 향상 과제도 함께 공유했습니다.

회원 인증의 종류와 국내·해외 차이를 정리하고, 가입 흐름을 개선한 사례를 소개했습니다. 인증 방식을 목적별로 묶어 설계하면 부정 사용을 줄이고 이탈률도 낮출 수 있었습니다.

수신 객체의 상태를 확인하는 로직은 해당 함수 내부로 옮기는 편이 더 안전할 수 있다고 설명했습니다.콜백보다 반환값으로 결과를 드러내면 호출 흐름도 더 명확해집니다.

양방향 변환은 한쪽 로직을 기준으로 다른 쪽을 유도하는 편이 안전했습니다. 중복 값과 누락은 테스트로 보강하는 방식이 유효했습니다.

컬렉션 반환값의 읽기 전용과 변경 가능성은 다를 수 있어 주의가 필요했습니다. 상황에 따라 요소 접근, 스냅샷 복사, 직접 참조 반환을 구분해 사용해야 했습니다.

단위 테스트는 내부 구현보다 관찰 가능한 동작과 사양 일치를 검증하는 편이 바람직합니다. 반환값과 외부 객체 상호작용을 중심으로 테스트를 작성해야 유지보수성이 높아졌습니다.

가상 스레드의 고정(pinned) 이슈를 JDK 소스 코드로 분석했습니다. 블로킹 I/O와 synchronized, JNI 사용 시 발생 가능성과 한계를 살펴봤습니다.
