

모던 백엔드 - 병렬처리 리팩토링(2)
구조화된 동시성을 활용해 병렬 API 호출 코드를 리팩토링하는 과정을 다뤘습니다.\n기존 스레드 풀과 CompletableFuture를 정리하고 예외 처리와 테스트까지 확인했습니다.


구조화된 동시성을 활용해 병렬 API 호출 코드를 리팩토링하는 과정을 다뤘습니다.\n기존 스레드 풀과 CompletableFuture를 정리하고 예외 처리와 테스트까지 확인했습니다.


게시판 프로젝트의 병렬 API 호출을 CompletableFuture에서 Java 25 구조화된 동시성으로 바꾸는 설계 과정을 다뤘습니다. 취소 전파 문제와 스레드 관리 한계를 테스트로 확인하고 개선 방향을 정리했습니다.


Gradle 멀티모듈로 경계를 강하게 고정하면 잘못된 의존은 막을 수 있지만, 경계를 옮기는 비용도 커졌습니다. 그래서 함께 바뀌는 리듬을 기준으로 모듈 경계를 다시 설계하는 방법을 정리했습니다.


애플리케이션 계층에서 관계를 다루는 이유와 구조를 정리했습니다. DB/JPA에 맡기기보다 이벤트 전파와 메타데이터로 관계를 명시적으로 관리하는 방식입니다.


클래스패스에 없는 외부 이벤트를 역직렬화 실패 없이 원시 형태로 보존하는 `LakeyEventConverter`를 소개했습니다. 대상 토픽 필터링과 중복 제거를 거쳐 `RawEvent`로 저장하는 흐름도 설명했습니다.


AI로 개인의 생산성은 빨라졌지만 팀의 진척으로 이어지려면 흡수 역량이 필요하다고 설명했습니다. 판단 가능성, 추적 가능성, 복구 가능성을 기준으로 팀의 수용 구조를 점검해야 한다고 정리했습니다.

React Query의 staleTime, gcTime, 키 팩토리, 무효화 전략을 중심으로 캐시 운영법을 정리했습니다. 전역 기본값과 직접 갱신을 통해 불필요한 재요청과 화면 깜빡임을 줄이는 방법을 제안했습니다.

기획전 API의 중복 조회와 중첩 저장 구조를 분리해 성능을 개선한 사례를 다뤘습니다. 다만 구조 분리만으로는 충분하지 않아 실제 조회 패턴과 운영 부하까지 함께 고려해야 했습니다.
쿠팡 파트너스
이 게시물은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.

다이얼로그 수정 폼에서 useEffect 기반 수동 바인딩으로 발생한 상태 꼬임 문제를 정리했습니다. React Hook Form의 values로 선언적 동기화를 적용해 잔상과 레이스 컨디션을 줄였습니다.

모노레포를 유지하면서도 모놀리스화를 막기 위한 프론트엔드 계층 구조와 규칙을 설명했습니다. 공통 패키지 남용을 줄이고 의존성과 변경 전파를 제어하는 방법을 정리했습니다.

생성형 AI의 한계를 넘기 위해 개발 전 과정을 AI와 함께 수행하는 AI-DLC 방법론을 소개했습니다. 기획부터 운영까지 컨텍스트와 이력을 보존하는 워크플로우를 통해 엔터프라이즈 개발 생산성을 높이는 접근을 다뤘습니다.
![[의존성의 방향을 따라 2/5] 의존 그래프를 읽는 Planner](https://flex.team/blog/og/main.jpg)

레포 간 의존성을 그래프로 복원해 변경 전파 순서를 자동 계산하는 Planner를 설명했습니다. 또한 Kotlin과 Spring Boot처럼 변경 유형에 따라 upstream-first와 downstream-first를 구분하는 방법을 정리했습니다.

Claude Code에 TDD를 붙이기 위해 7개 서브에이전트와 하네스를 구축한 과정을 정리했습니다. 반복 실패를 회귀 평가와 훅으로 통제하고, 대시보드로 운영 가시성까지 높였습니다.
![[AI가 읽을 수 있는 코드베이스 5/5] AI 접근성 등급으로 보는 코드베이스](https://cdn.sanity.io/images/v31psllp/production/fa5b3c7e2429ae8264908c69c7d665726ffd5940-1684x1030.png)

코드 품질만으로는 AI 코딩 에이전트의 작업 가능성을 설명할 수 없다는 점을 다뤘습니다. 구조적 일관성과 빌드 가드레일이 AI 접근성을 높이는 핵심이라고 정리했습니다.