백엔드·
stackoverflow-blog·
Compile-Time Map and Compile-Time Mutable Variable with C++26 Reflection
#cpp#reflection#metaprogramming+1
문제식자재 품목 검색이 DB LIKE 질의로만 동작해 띄어쓰기·맞춤법 차이에 취약했다. "깐마늘" 검색이 "마늘/깐" 으로 저장된 품목을 찾지 못해 점주들이 품목 미취급으로 오해하는 일이 발생.
접근Elasticsearch 를 POC 로 도입. 한국어 analyzer + ngram 기반 필드 구성으로 토크나이징을 정교화하고, DB LIKE 검색과 검색 품질·성능을 정량 비교한다. 점진적 개선 사이클로 운영.
결과검색 한계로 인한 점주 이탈 / 오해를 줄였다. POC 결과를 기준으로 검색 엔진 운영 정책과 품질 지표를 정착시켰다.
문제Spring Data JDBC 의 Composite ID 적용을 위해 Spring Boot 3.5 → 4.0.1 업그레이드 시 Spring Batch, Kotlin, Jackson 등 전체 스택 메이저 전환 필요.
접근Spring Boot 4 / Spring Batch 6 / Spring Framework 7 / Kotlin 2.3 / Jackson 3 / Kotest 6 / Gradle 9 / ojdbc11 순차 업그레이드. Composite ID 는 Persistable 인터페이스로 구현, JdbcDefaultBatchConfiguration 상속으로 메타데이터 저장.
결과기술 부채 해결 + 장기 유지보수성 개선. 운영 DB 접근 정책 충돌을 사전 식별해 안정적 배포 달성.