![[코드가 환경을 모르는 구조 6/7] 컨테이너는 왜 폭발하는가](https://flex.team/blog/og/main.jpg)

[코드가 환경을 모르는 구조 6/7] 컨테이너는 왜 폭발하는가
실제 DB를 쓰는 통합 테스트는 신뢰도가 높지만, 컨텍스트 분화로 컨테이너가 복제되며 CI가 느려졌습니다. 이를 Gradle BuildService로 공유하고 스키마를 분리해 속도와 격리를 함께 확보했습니다.
![[코드가 환경을 모르는 구조 6/7] 컨테이너는 왜 폭발하는가](https://flex.team/blog/og/main.jpg)

실제 DB를 쓰는 통합 테스트는 신뢰도가 높지만, 컨텍스트 분화로 컨테이너가 복제되며 CI가 느려졌습니다. 이를 Gradle BuildService로 공유하고 스키마를 분리해 속도와 격리를 함께 확보했습니다.
![[코드가 환경을 모르는 구조 6/7] 컨테이너는 왜 폭발하는가](https://cdn.sanity.io/images/v31psllp/production/84f3d9c344480bec28c26726a1ef04c0407b32cd-1684x1030.png)

실제 DB를 쓰는 통합 테스트가 dirty context로 컨테이너를 복제하며 느려지는 문제를 다루었습니다. Gradle BuildService로 컨테이너를 공유하고 모듈별 스키마를 분리하는 해법을 소개했습니다.
![[코드가 환경을 모르는 구조 5/7] Rewrite Host — 공간 축을 교체한다](https://flex.team/blog/og/main.jpg)

MSA 로컬 개발의 병목을 줄이기 위해 Rewrite Host로 수정 중인 서비스만 노트북 인스턴스로 교체하는 방식을 소개했습니다. 디버그 헤더와 응답 피드백으로 부분 검증과 라우팅 전환을 단순화했습니다.
![[코드가 환경을 모르는 구조 1/7] 코드는 무엇을, 환경은 어디서 - 다시 더 깊이](https://flex.team/blog/og/main.jpg)

코드가 무엇을 정의하고 환경은 어디서 주입할지 분리하는 원리를 설명했습니다. 이를 배포, 클라우드, 시간, 테스트 전반에 반복 적용하는 관점을 제시했습니다.
![[코드가 환경을 모르는 구조 1/7] 코드는 무엇을, 환경은 어디서 - 다시 더 깊이](https://cdn.sanity.io/images/v31psllp/production/d7669e80f5e28954ae4a8e30b97d6d297e7f7c35-1684x1030.png)

코드가 무엇을 정의하고 환경은 어디서 주입하는지라는 원리를 배포, 인프라, 테스트 전반에 걸쳐 설명했습니다. 경계를 구조에 새겨 교체 가능성과 안정성을 높이는 시리즈의 출발점입니다.
![[미래를 담아낸 뼈대 5/7] 코드가 환경을 모르는 구조](https://flex.team/blog/og/main.jpg)

코드와 환경을 분리하는 Hexagonal 원칙을 배포, 인프라, 디버깅, 테스트까지 확장한 사례를 다뤘습니다. 부분 교체와 외부 주입으로 이터레이션 속도를 높이는 방법을 설명했습니다.
![[미래를 담아낸 뼈대 5/7] 코드가 환경을 모르는 구조](https://cdn.sanity.io/images/v31psllp/production/626db41a03292c4b57863b75c7bc5e755e395184-1684x1030.png)

애플리케이션과 인프라 전반에 Hexagonal 원칙을 적용해 환경 의존성을 분리하는 방법을 설명했습니다. 부분 교체와 주입으로 빠른 검증과 이터레이션을 가능하게 만든 사례를 다뤘습니다.

Cursor와 단일 레포 병렬 작업의 한계를 Git worktree로 해결한 사례를 정리했습니다. 또한 랜덤 포트 설정과 PLAN and ACT rule로 테스트 충돌과 컨텍스트 전환 부담을 줄였습니다.