백엔드·
stackoverflow-blog·
Compile-Time Map and Compile-Time Mutable Variable with C++26 Reflection
#cpp#reflection#metaprogramming+1
문제C++ 에서 memcpy / cast 같은 저수준 작업이 undefined behavior 가 되지 않으려면 객체 수명 규칙을 제대로 이해해야 한다.
접근C++ 표준의 "객체 수명(object lifetime)" 정의 + C++20 도입의 암묵적 객체 생성(implicit object creation) 규칙을 정리. 어떻게 쓰면 안전한지 코드 예시로 설명.
결과std 표준이 보장하는 안전한 패턴과 위험 패턴을 명확히 구분. C++ 개발자가 무심코 쓰는 패턴의 위험도 파악.
문제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 접근 정책 충돌을 사전 식별해 안정적 배포 달성.