[의존성의 방향을 따라 5/5] Evergreen이 가능했던 이유
Evergreen 자동화가 가능했던 구조적 전제를 Convention Plugin과 구조적 일관성 관점에서 정리했습니다. 대규모 변경 전파가 왜 일관된 빌드·CI 구조 위에서만 성립하는지 설명했습니다.
![[의존성의 방향을 따라 5/5] Evergreen이 가능했던 이유](https://flex.team/blog/og/main.jpg)
Gradle 태그가 달린 국내 IT 기업 기술 블로그 글을 최신순으로 모았습니다.
20개 표시
Evergreen 자동화가 가능했던 구조적 전제를 Convention Plugin과 구조적 일관성 관점에서 정리했습니다. 대규모 변경 전파가 왜 일관된 빌드·CI 구조 위에서만 성립하는지 설명했습니다.
![[의존성의 방향을 따라 5/5] Evergreen이 가능했던 이유](https://flex.team/blog/og/main.jpg)
레포 간 의존성을 그래프로 복원해 변경 전파 순서를 자동 계산하는 Planner를 설명했습니다. 또한 Kotlin과 Spring Boot처럼 변경 유형에 따라 upstream-first와 downstream-first를 구분하는 방법을 정리했습니다.
![[의존성의 방향을 따라 2/5] 의존 그래프를 읽는 Planner](https://flex.team/blog/og/main.jpg)
레포 간 의존성을 그래프로 읽어 안전한 변경 순서와 전파 방향을 계산하는 Planner를 설명했습니다. 변경 유형에 따라 upstream-first, downstream-first, 병렬 계획이 달라지는 점을 다뤘습니다.
![[의존성의 방향을 따라 2/5] 의존 그래프를 읽는 Planner](https://cdn.sanity.io/images/v31psllp/production/cfc2fee7bc9a333e841c5c5cf5cc07721137979c-1684x1030.png)
안드로이드 빌드 대기 시간을 줄이기 위해 N3R과 GitHub ARC를 결합한 운영 경험을 공유했습니다. 사내망 제약 환경에서 동적 할당과 다층 캐시로 CI/CD 병목을 완화한 사례입니다.
AI가 만든 PR의 동작 검증을 E2E와 데모 녹화로 자동화해 리뷰의 초점을 설계 판단으로 옮겼습니다. 또한 반복 실행 가능한 Acceptance 인프라와 그 한계까지 함께 정리했습니다.
![[AI가 읽을 수 있는 코드베이스 4/5] Acceptance 증명이 리뷰를 바꾼다](https://flex.team/blog/og/main.jpg)
PR 리뷰의 첫 질문인 동작 확인을 E2E와 데모 녹화로 자동화했습니다. 그 결과 리뷰어가 설계와 구조 검증에 더 집중하도록 전환했습니다.
![[AI가 읽을 수 있는 코드베이스 4/5] Acceptance 증명이 리뷰를 바꾼다](https://cdn.sanity.io/images/v31psllp/production/6705c41b0f4dc43d0e1f65c9a632db8d0f8246c7-1684x1030.png)
AI 코딩 에이전트가 받는 빌드 피드백을 유형별로 비교하며 정보 품질 차이를 분석했습니다. 가장 중요한 규칙은 컴파일 타임에 강제하고, 에러 메시지와 테스트 실패를 더 명확하게 설계해야 한다고 정리했습니다.
![[AI가 읽을 수 있는 코드베이스 2/5] 빌드 피드백이 AI를 가르친다](https://flex.team/blog/og/main.jpg)
AI 코딩 에이전트에게 빌드 피드백 유형별 정보 품질이 어떻게 다른지 분석했습니다. 컴파일 타임 검증과 맥락 있는 에러 메시지가 가장 효과적이라고 정리했습니다.
![[AI가 읽을 수 있는 코드베이스 2/5] 빌드 피드백이 AI를 가르친다](https://cdn.sanity.io/images/v31psllp/production/3d96b197bc8207cb19daa7120faefb616f656785-1684x1030.png)
프롬프트보다 코드베이스 구조가 AI 활용의 하한선을 결정한다는 관점을 설명했습니다. 빌드 가드레일과 모듈 경계로 에이전트의 잘못된 의존성을 즉시 차단하는 방법을 다뤘습니다.
![[AI가 읽을 수 있는 코드베이스 1/5] 프롬프트보다 구조가 먼저다](https://flex.team/blog/og/main.jpg)
AI 코딩 에이전트의 성능은 프롬프트보다 코드베이스 구조에 더 크게 좌우된다고 설명했습니다. 빌드 가드레일과 모듈 경계가 에이전트의 잘못된 수정을 빠르게 막는 핵심이라고 정리했습니다.
![[AI가 읽을 수 있는 코드베이스 1/5] Agentic Engineering: 빌드가 에이전트를 가르친다](https://cdn.sanity.io/images/v31psllp/production/8c8e4c82ffacf0453ef46f35bdbe0b0d828d9082-1684x1030.png)
실제 DB를 쓰는 통합 테스트는 신뢰도가 높지만, 컨텍스트 분화로 컨테이너가 복제되며 CI가 느려졌습니다. 이를 Gradle BuildService로 공유하고 스키마를 분리해 속도와 격리를 함께 확보했습니다.
![[코드가 환경을 모르는 구조 6/7] 컨테이너는 왜 폭발하는가](https://flex.team/blog/og/main.jpg)
실제 DB를 쓰는 통합 테스트가 dirty context로 컨테이너를 복제하며 느려지는 문제를 다루었습니다. Gradle BuildService로 컨테이너를 공유하고 모듈별 스키마를 분리하는 해법을 소개했습니다.
![[코드가 환경을 모르는 구조 6/7] 컨테이너는 왜 폭발하는가](https://cdn.sanity.io/images/v31psllp/production/84f3d9c344480bec28c26726a1ef04c0407b32cd-1684x1030.png)
Spring Data JDBC의 Composite ID 적용을 계기로 Spring Boot 4와 Spring Batch 6 업그레이드를 진행했습니다. 복합키 매핑, 배치 메타데이터 변경, Kotlin·Jackson·Gradle 호환성까지 함께 정리했습니다.
AI 코딩 에이전트 시대에는 빌드와 컴파일이 아키텍처를 지키는 가장 강한 가드레일이었습니다.\nStandalone 검증과 E2E 증명으로 코드리뷰는 동작 확인에서 설계 판단 중심으로 바뀌었습니다.
![[미래를 담아낸 뼈대 6/7] AI가 읽을 수 있는 코드베이스](https://flex.team/blog/og/main.jpg)
HR SaaS에서 트래픽보다 중요한 아키텍처 일관성과 도메인 경계를 다루는 방식을 소개했습니다. 빌드 도구로 규칙을 강제해 구조를 유지하는 접근을 설명했습니다.
![[미래를 담아낸 뼈대 1/7] 컴파일이 지키는 아키텍처](https://cdn.sanity.io/images/v31psllp/production/1f5ee4bdfd63e6846d79a6a0a9787e84e6e74208-1684x1030.png)
대규모 검색 API를 멀티모듈 구조로 리팩토링한 사례를 정리했습니다. 도메인 분리와 의존성 정리를 통해 유지보수성과 협업 효율을 높이는 방법을 설명했습니다.

detekt에 custom rule을 추가해 팀 컨벤션을 자동 검증하는 방법을 설명합니다. `println()` 금지 rule 예시와 테스트, 적용 설정까지 단계별로 다뤘습니다.
CI Template이 분산되고 팀별 브랜치·빌드 방식이 달라 공통화가 어려운 문제를 개선했습니다. 모듈화와 전용 Agent, 자동화 테스트로 유지보수성과 일관성을 높였습니다.

복잡한 세금 도메인에서 영어 네이밍의 한계를 넘어 한글 코딩을 도입한 경험을 공유했습니다. 빌드, 테스트, JPA, Swagger에서의 이슈와 해결 과정도 함께 정리했습니다.

대용량 API 개발에서 명세와 코드 불일치, 버전 관리 문제를 OpenAPI와 Gitlab 기반 워크플로우로 해결한 사례였습니다. SDK 생성, 렌더링, 배포를 통합해 협업 효율을 높였다고 설명했습니다.
