백엔드·
stackoverflow-blog·
Compile-Time Map and Compile-Time Mutable Variable with C++26 Reflection
#cpp#reflection#metaprogramming+1
문제기존 A/B 테스트는 사용자 그룹을 정적으로 분할해 실험 변경·교차 실험·세그먼트 조합에 한계가 있다. 그룹 정의가 코드와 결합되면 운영 비용이 커진다.
접근동적 사용자 분할을 도입. 실험 정의 시점에 사용자 속성·해시·시드로 그룹을 즉시 계산해 분기한다. 여러 실험을 동시에 운영하고 그룹 간 직교성을 검증하는 시스템을 구축.
결과새로운 실험 도입·중단이 코드 배포 없이 가능해진다. CTR 같은 지표 비교가 데이터 기반 의사결정에 곧바로 연결된다.
문제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 접근 정책 충돌을 사전 식별해 안정적 배포 달성.