탄소배출 산정 B2B 웹앱
MySQL · JPA/QueryDSL · Gradle 멀티모듈 · React
제품 단위 탄소배출량을 산정하는 서비스. 스키마 관리, 조회 성능, 누적된 이중 구조를 차례로 정리했습니다.
-
도입한 도구를 3주 만에 걷어냄
Flyway가 기존 DB에서는 무사한데 새 DB에서만 실패했습니다. 마이그레이션 도구의 핵심 가치가 재현성인데 그게 깨진 상태였고, 예외를 커스텀 로직으로 계속 흡수하는 쪽은 기각했습니다 — 설정이 221줄까지 자란 시점이 이미 신호였습니다.
도입 22일 → 철수, 필요한 부분만 자동화로 대체 -
읽기 비용을 쓰기 시점으로
5중 CTE 뷰가 조회마다 재계산되고 있었습니다. 물질화 테이블로 옮기되 섀도우·전환 2단계로 무중단 롤아웃했고, 갱신 지점은 기존 캐시 무효화 지점만 믿지 않고 전수조사해 가장 빈번한 경로가 빠진 것을 찾았습니다.
PDF 생성 6.4s → 0.7s -
같은 버그를 두 번 고친 날
V1/V2 이중 스택이 남아 한 버그를 양쪽에서 고쳐야 했습니다. 단계를 나눠 통합했고, 도달 불가능한 파일도 함께 걷어냈습니다 — 죽은 코드가 더 최신이라 판단 근거를 오염시키던 상태였습니다.
2,389줄 삭제 · 죽은 파일 102개 정리