커버스토리
기술 블로그

코딩 에이전트가 Spring을 못 짠다면, component scan부터 걷어내 보세요

테스트 하나가 10번 중 10번 실패한 원인은 component scan에 있었습니다

기술 블로그

설정값에서 OpenFeature까지, 피처 플래그는 어떻게 바뀌어 왔을까요

단순한 설정값과 낡은 플래그의 위험을 넘어, API 표준화와 안전한 배포 전략으로 진화하기까지

기술 블로그

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

3.5 지원 종료 이후를 준비하는 팀을 위한 마이그레이션 노하우

기술 블로그

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

완료를 나중에 관측하지 않고, 처리하는 순간에 기록하기로 한 이유

기술 블로그

@TransactionalEventListener는 왜 조용히 무시될까

트랜잭션 밖에서 사라지는 이벤트와 fallbackExecution을 안전하게 쓰는 기준

기술 블로그

격리 안 된 테스트의 초록불은, 에이전트가 믿을 수 없습니다

AI 에이전트가 스스로 검증하고 수정하려면, 테스트 결과부터 신뢰할 수 있어야 합니다

기술 블로그

모놀리식인데, 도메인 하나만 따로 띄웁니다

모듈러 모놀리식에서 도메인 하나를 독립된 실행 단위로 만드는 방법

기술 블로그

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

중복 실행과 유실을 넘어, 여러 pod가 작업을 나눠 갖는 스케줄 실행 구조로 전환하기까지

기술 블로그

사람도 에이전트도, 덜 읽을수록 더 잘 고칩니다

도메인별 모듈 경계가 AI 에이전트의 코드 탐색 범위와 컨텍스트 효율에 미치는 영향

기술 블로그

헥사고날 아키텍처, Adapter만 바꾸면 될까

AWS S3에서 다른 오브젝트 스토리지로 이전하며 확인한 Port와 Adapter의 조건, 그리고 아키텍처 경계가 지켜주지 못하는 영역

기술 블로그

경계를 빌드로 못 박으면, 경계를 옮기는 일도 빌드가 붙잡습니다

Gradle 멀티모듈의 견고함이 리팩토링 비용이 될 때, 변경 리듬으로 경계를 설계하는 법

기술 블로그

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

Outbox·CDC·Kafka로 구현한 ReBAC 인가 동기화와 잔존 권한을 다루는 방법

기술 블로그

AI가 하한선을 올린 순간, 저희는 직무를 다시 그리기로 했습니다

AI로 직무의 경계가 낮아진 시대, FE·BE 통합을 통해 프로덕트 엔지니어의 역할을 다시 정의하는 실험

기술 블로그

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

Liquibase와 Testcontainers 위에, 테스트 DB의 조립·격리·캐시를 설계하다

기술 블로그

제품을 만드는 시스템을 만드는 사람

어제 직무통합 글에서 미처 풀지 못한 숙제가 하나 남았습니다. 품질이 개개인의 손끝에 기대고 있다면, 그 품질은 사람이 바뀌는 순간 무너집니다. 저희의 답은 개인기가 아니라 시스템입니다. 높은 기준을 개인의 재능이 아니라 시스템이 보장하게 만드는 것, 그것이 Platform Engineer의 일입니다.

기술 블로그

GitOps 하시면서, 배포 전에 뭐가 바뀔지 알고 계신가요

GitOps에서 ArgoCD 배포 결과를 PR에서 미리 확인하는 방법

기술 블로그

되도록 최신 버전을 사용하는게 왜 이렇게 어려울까?



폴리레포 환경에서 버전 관리 자동화를 가능하게 만든 구조적 조건과 Version Family 설계 이야기

기술 블로그

[인프라를 소프트웨어처럼 5/5] 다섯 축의 운영 총합, 그리고 AI 시대의 플랫폼팀

배포·클라우드·시간·공간·테스트, 그리고 환경까지 다 지나왔습니다. 이제 한 장의 표로 돌아와, 그 여섯 줄이 사실은 같은 원리의 반복이었다는 것과, 그 원리가 왜 AI 시대에 더 중요해지는지를 정리합니다.

기술 블로그

[인프라를 소프트웨어처럼 4/5] plan은 동작을 모른다: 인프라를 테스트·재현한다는 것

terraform plan은 무엇이 바뀌는지 보여줍니다. 동작하는지는 apply해야 압니다. 그 사이의 낭떠러지를 메운 이야기.

기술 블로그

[인프라를 소프트웨어처럼 3/5] 환경은 브랜치에서 태어난다: Environment Variant

공유 Dev 병목을 없애고, 브랜치 하나로 격리 환경을 생성하는 Environment Variant 설계

기술 블로그

[인프라를 소프트웨어처럼 2/5] 코드가 모르는 그 '환경'은 누가 만드는가

환경도 소프트웨어처럼 다루기 위해, 플랫폼팀은 선언(Declaration)을 선택했습니다.

기술 블로그

[인프라를 소프트웨어처럼 1/5] Infrastructure as Code, 그리고 그다음

flex 테크블로그 backend 연재가 "코드가 환경을 모르는 구조"에서 그려 둔 다섯 축을, 이번에는 그 환경을 실제로 만들고 굴리는 클라우드플랫폼팀의 시점에서 이어갑니다. 출발점은 한 문장입니다 — 인프라를 코드로 적는 것과 소프트웨어로 다루는 것은 다릅니다.

기술 블로그

[의존성의 방향을 따라 5/5] Evergreen이 가능했던 이유

Convention Plugin이 만든 구조적 일관성, 그리고 50개 레포를 움직이는 Evergreen 자동화의 토대

기술 블로그

[의존성의 방향을 따라 4/5] PR을 전파하는 Distributer

Wave 기반 PR 전파와 자동 머지로 대규모 버전업을 운영하는 방법