

MCP 서버와 에이전트 호스트, 왜 둘로 나누었는가
MCP 서버와 에이전트 호스트를 책임과 통제 경계에 따라 분리한 설계를 설명했습니다. 승인 제안·폼 정의의 소유권을 서버로 모아 ID 노출과 조용한 실패를 줄였습니다.
새로운 기술 블로그가 추가되었어요


MCP 서버와 에이전트 호스트를 책임과 통제 경계에 따라 분리한 설계를 설명했습니다. 승인 제안·폼 정의의 소유권을 서버로 모아 ID 노출과 조용한 실패를 줄였습니다.


Fabric8 Kubernetes Client로 Spring Boot 서비스에서 Pod 상태를 REST API로 조회하는 구성을 소개했습니다.\nin-cluster 인증과 RBAC 최소 권한 설정, 예외 처리 방법을 함께 다뤘습니다.


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


Spring AI로 사내 REST API를 MCP 도구로 노출하는 서버 구축 과정을 정리했습니다.\n프로토콜 처리는 위임하고 도구 설계·설명·인증을 핵심 과제로 제시했습니다.

신규 프로젝트의 반복 작업을 줄이기 위해 보일러플레이트 템플릿을 표준화한 사례였습니다. 사람과 AI가 같은 규칙으로 개발하고, API·Bot·MCP·Batch를 하나의 코어에 연결하는 구조를 제시했습니다.


`@TransactionalEventListener`는 커밋 이후 실행이 아니라 트랜잭션이 있을 때만 등록됩니다. 트랜잭션 밖 발행 누락은 `fallbackExecution`과 발행 지점의 트랜잭션 검사를 성격에 맞게 선택해야 합니다.
이 게시물은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.


인력풀 초대 링크에 만료와 위변조 방지를 넣기 위해 HMAC 서명 토큰을 적용했습니다. 프론트는 토큰만 전달하고, 서버가 발급과 검증을 모두 맡도록 구성했습니다.


Nginx 프록시 계층에서 에러 화면을 통합하고 정보 노출을 줄이는 방법을 정리했습니다. React API 요청까지 고려해 HTML과 JSON 에러 응답을 분기하는 설계도 설명했습니다.

문서와 리뷰에만 의존하던 팀 규칙을 ArchUnit 테스트로 강제한 사례를 소개했습니다. 기존 위반은 동결하고 신규 위반만 막아 점진적으로 도입하는 방법과 주의점도 정리했습니다.


다운로드·업데이트 가능한 애플리케이션에서 Flyway로 DB Migration을 운영한 경험을 정리했습니다. 멱등성, 백업, 롤백, 버전 관리 규칙까지 함께 설계해야 안전하다는 점을 다뤘습니다.


모듈러 모놀리식에서 이슈 도메인만 따로 기동하는 standalone 구조를 소개했습니다. 빌드 조립과 트랜잭션 경계 분리를 통해 빠른 검증 환경을 만드는 방법을 설명했습니다.


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


Java 21 기반 게시판 프로젝트를 Java 25 환경으로 옮기는 과정을 다뤘습니다. 호환성 3요소와 Gradle, ByteBuddy, Hibernate 체크 포인트를 함께 살펴봤습니다.


Java 25의 핵심 변화와 주요 JEP 기능을 소개했습니다. Spring Boot 4와 Spring AI 2.0 환경에서 전환 필요성도 함께 살펴봤습니다.