모든 블로그
flex

flex

도메인flex.team
주요 카테고리 아키텍처 · AI · DevOps

활동 요약

대표 인기 포스트[미래를 담아낸 뼈대 5/7] 코드가 환경을 모르는 구조454 조회
최근 30일
3개
평균 조회
56
누적 조회
4,626
전체 글
83개
마지막 발행
2026. 11. 5.
블로그 방문

flex 기술 블로그 글 (11)

백엔드

상태 전이마다 테스트가 없으면, 운영 가이드가 빌드되지 않습니다

상태 전이·운영 안내·테스트 참조를 YAML 선언으로 통합하고 CI에서 검증했습니다. 테스트 없는 전이와 잘못된 참조를 빌드 단계에서 차단해 가이드 신뢰성을 높였습니다.

#YAML#CI/CD#test
1800

백엔드

Spring Boot 4.1까지 나온 지금, 무엇이 바뀌었고 무엇을 먼저 준비해야 할까요

Spring Boot 4 이행 시 자동 설정 분리와 Jackson 3 전환으로 발생하는 호환성 문제를 정리했습니다. 특히 JSON 직렬화 비교와 컨텍스트 로딩 테스트를 사전 안전장치로 권장했습니다.

#Spring Boot#migration#Jackson
10800

백엔드

"다 됐습니다" 알림, 대체 언제 보내야 맞나

배치 완료 알림이 너무 일찍 나가는 문제를 해결한 사례를 다루셨습니다. 처리 순간의 사실을 기록하고 실제 조회 가능 시점을 기준으로 완료를 판정하셨습니다.

#batch#비동기#cache
3300

백엔드

@TransactionalEventListener는 왜 조용히 무시될까

`@TransactionalEventListener`는 커밋 이후 실행이 아니라 트랜잭션이 있을 때만 등록됩니다. 트랜잭션 밖 발행 누락은 `fallbackExecution`과 발행 지점의 트랜잭션 검사를 성격에 맞게 선택해야 합니다.

#Spring Boot#transaction#event
8700

백엔드

@Scheduled 한 줄로 버티다, 트리거를 밖으로 꺼낸 이야기

@Scheduled 기반 배치가 Pod 확장 시 중복 실행과 유실 문제를 드러내자, 트리거를 애플리케이션 밖으로 분리했습니다. 실행은 선점과 체크포인트로 나눠 맡겨 여러 Pod가 작업을 분담하도록 전환했습니다.

#Spring Boot#Kubernetes#Redis
7800

백엔드

사람은 떠났는데 권한은 남았다

관계 원천과 인가 튜플을 Outbox·CDC·Kafka로 동기화해 잔존 권한 문제를 줄이는 구성을 다뤘습니다. 부분 실패, 캐시, 감사 이력까지 함께 고려한 운영 포인트도 정리했습니다.

#Kafka#CDC#Outbox
5100

백엔드

DDL이 코드 밖에서 온다면, 테스트 DB 구성을 빌드 안에 선언한다

Liquibase 기반 스키마를 테스트에서 다루기 위해, 테스트 DB 구성을 빌드의 variant로 선언하는 구조를 정리했습니다. 실제 마이그레이션 검증과 덤프 캐시를 함께 써서 정확성과 속도를 모두 확보했습니다.

#Liquibase#Testcontainers#Gradle
4600

백엔드

[의존성의 방향을 따라 2/5] 의존 그래프를 읽는 Planner

레포 간 의존성을 그래프로 읽어 안전한 변경 순서와 전파 방향을 계산하는 Planner를 설명했습니다. 변경 유형에 따라 upstream-first, downstream-first, 병렬 계획이 달라지는 점을 다뤘습니다.

#Spring Boot#Kotlin#Gradle
15000

백엔드

[미래를 담아낸 뼈대 7/7] 의존성의 방향을 따라

의존성 그래프를 따라 레포 간 마이그레이션을 자동화하는 Evergreen 구조를 소개했습니다. 빌드 검증과 AI 보조로 버전업과 패치 전파를 빠르게 만드는 방식입니다.

#Spring Boot#Kotlin#OpenRewrite
2200

백엔드

[미래를 담아낸 뼈대 7/7] 의존성의 방향을 따라

의존성 그래프를 따라 마이그레이션을 자동 전파하는 Evergreen 구조를 소개했습니다. 표준화된 빌드 규칙과 AI 보조로 대규모 버전업을 빠르게 처리했습니다.

#Spring Boot#Kotlin#CI/CD
11900

백엔드

모든 탭에 퍼지는 실시간 이벤트, SSE 1개로 끝내는 전략

여러 탭의 실시간 이벤트를 Service Worker와 SSE로 하나의 연결에 통합했습니다. 메시지 유실 방지, 권한 검증, 재연결 전략까지 포함해 안정성을 높였습니다.

#SSE#service worker#TypeScript
3200