모든 태그
태그

Spring Boot 기술 블로그 글

Spring Boot 태그가 달린 국내 IT 기업 기술 블로그 글을 최신순으로 모았습니다.

전체 179최신 20개 표시
홈에서 필터

최신 게시글

20개 표시

백엔드

Fixture 기반 테스트 데이터 구성

Fixture 기반으로 통합 테스트 데이터를 재사용 가능하게 정리한 경험을 공유했습니다. 공통 데이터는 `create`, 커스터마이징은 `gen`, 복수 시나리오는 `genMore`로 분리해 테스트 가독성과 유지보수성을 높였습니다.

#Spring Boot#H2#test
3420

백엔드

JVM heap은 멀쩡한데 왜 메모리가 터질까? — Docker 환경 네이티브 메모리 삽질기 (Part 2)

JVM 힙은 정상인데 컨테이너가 OOMKilled되는 원인을 네이티브 메모리에서 추적했습니다. 스트림 close 누락과 zlib Inflater 버퍼가 핵심이었고, 도구 조합으로 범인을 찾았습니다.

#Docker#JVM#async-profiler
1400

백엔드

설문 관리 서비스 구현 사례

의료 설문 플랫폼에서 설문 정의와 수집을 담당하는 서비스를 헥사고날 구조와 CQRS로 설계했습니다. Master/Snapshot, Kafka, Outbox 등을 적용해 정합성과 운영 안정성을 확보했습니다.

#Java#Spring Boot#Kafka
500

백엔드

싱글톤 패턴을 이용한 캐시 관리

메뉴 권한처럼 변경은 적고 조회는 많은 데이터를 싱글톤 인메모리 캐시로 관리하는 방법을 소개했습니다. 이를 통해 로그인 시 DB 부하를 줄이고 응답 속도와 유지보수성을 개선했습니다.

#싱글톤#cache#Spring Boot
100

아키텍처

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

Evergreen 자동화가 가능했던 구조적 전제를 Convention Plugin과 구조적 일관성 관점에서 정리했습니다. 대규모 변경 전파가 왜 일관된 빌드·CI 구조 위에서만 성립하는지 설명했습니다.

#Spring Boot#Gradle#Kotlin
1000

데브옵스

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

50개 이상의 레포에 흩어진 버전업 PR을 Wave 순서에 맞춰 자동 전파하고 머지하는 방식을 설명했습니다. CI, flaky test, 에스컬레이션까지 묶어 대규모 업그레이드 운영을 자동화했습니다.

#Spring Boot#Claude#CI/CD
1900

AI

[의존성의 방향을 따라 3/5] OpenRewrite와 Claude가 코드를 변환한다

OpenRewrite로 규칙 기반 변환을 먼저 적용하고, 실패한 빌드는 Claude가 보완했습니다. 빌드 가드레일 안에서 50개 레포를 안전하게 버전업하는 구조를 설명했습니다.

#OpenRewrite#Claude#AST
1000

AI

[의존성의 방향을 따라 3/5] OpenRewrite와 Claude가 코드를 변환한다

OpenRewrite로 규칙 기반 변환을 먼저 적용하고, Claude가 예외적 수정과 빌드 에러를 보완하는 구조를 설명했습니다. 50개 레포에 안전하게 같은 변환을 재현하기 위한 recipe 설계와 가드레일 운영 방식도 다뤘습니다.

#OpenRewrite#Claude#AST
3800

아키텍처

[의존성의 방향을 따라 2/5] 의존 그래프를 읽는 Planner

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

#Gradle#Kotlin#Spring Boot
800

백엔드

[의존성의 방향을 따라 2/5] 의존 그래프를 읽는 Planner

레포 간 의존성을 그래프로 읽어 안전한 변경 순서와 전파 방향을 계산하는 Planner를 설명했습니다. 변경 유형에 따라 upstream-first, downstream-first, 병렬 계획이 달라지는 점을 다뤘습니다.

#Spring Boot#Kotlin#Gradle
2200

아키텍처

[의존성의 방향을 따라 1/5] 버전업이 고통인 이유

50개 레포와 3,500개 모듈에서 Spring Boot 패치 버전업이 왜 조직 전체의 문제인지 설명했습니다. 수동 전파의 한계를 보여주고, 자동화된 recipe 기반 구조를 제안했습니다.

#Spring Boot#MySQL#Kotlin
700

아키텍처

[의존성의 방향을 따라 1/5] 버전업이 고통인 이유

50개 레포와 3,500개 모듈 환경에서 Spring Boot 패치 버전업이 왜 조직 전체의 문제가 되는지 설명했습니다. 수동 전파의 병목을 줄이기 위해 자동화와 빌드 검증 중심의 Evergreen 구조를 제안했습니다.

#Spring Boot#Kotlin#MySQL
4200

백엔드

Aurora MySQL의 숨겨진 idle close 동작 — HikariCP "Failed to validate connection" 추적기

Aurora MySQL에서 HikariCP의 idle connection 검증 실패 원인을 추적해 비표준 timeout 동작을 확인했습니다. interactive_timeout 이 keepalive 보다 작으면 비활성 연결이 먼저 끊길 수 있음을 정리했습니다.

#Aurora MySQL#HikariCP#MySQL
4200

아키텍처

[AI가 읽을 수 있는 코드베이스 3/5] Standalone App: 도메인 슬라이스 독립 실행

Issue 도메인을 독립 실행 가능한 standalone-app으로 조립해 핵심 로직만 빠르게 검증하는 구조를 소개했습니다. 프로덕션 Adapter만 교체하고 시드 데이터, Swagger, React 프론트엔드를 묶어 AI 협업 검증 환경을 만들었습니다.

#Hexagonal Architecture#Spring Boot#React
100

아키텍처

[AI가 읽을 수 있는 코드베이스 3/5] Standalone App: 도메인 슬라이스 독립 실행

Hexagonal Architecture로 Issue 도메인을 standalone-app으로 독립 실행해 핵심 비즈니스 로직만 검증하는 구조를 소개했습니다. AI 에이전트의 빠른 피드백 루프와 격리된 검증 환경을 만드는 방법을 설명했습니다.

#Hexagonal Architecture#Kotlin#Spring Boot
3200

AI

[AI가 읽을 수 있는 코드베이스 1/5] Agentic Engineering: 빌드가 에이전트를 가르친다

AI 코딩 에이전트의 성능은 프롬프트보다 코드베이스 구조에 더 크게 좌우된다고 설명했습니다. 빌드 가드레일과 모듈 경계가 에이전트의 잘못된 수정을 빠르게 막는 핵심이라고 정리했습니다.

#Kotlin#Spring Boot#Gradle
6900

아키텍처

MSA도, 모놀리스도 아닌 제3의 선택 — Spring Modulith

모놀리스와 MSA 사이의 대안으로 Spring Modulith 기반 Modular Monolith를 소개했습니다. 모듈 경계 검증, 이벤트 통신, 문서화, 모니터링 사례를 실제 적용 경험과 함께 정리했습니다.

#Spring Boot#MSA#DDD
13700

AI

AI 스페셜리스트와 자동사냥 — 하네스로 제어하는 AI 파이프라인

슬로우 쿼리 분석과 PR 반영까지 이어지는 AI 파이프라인을 하네스로 설계한 사례를 다뤘습니다. 반복 작업에 특화된 스페셜리스트형 구조로 품질과 운영 안정성을 높였습니다.

#Spring Boot#JPA#Claude
15800

데브옵스

[코드가 환경을 모르는 구조 6/7] 컨테이너는 왜 폭발하는가

실제 DB를 쓰는 통합 테스트는 신뢰도가 높지만, 컨텍스트 분화로 컨테이너가 복제되며 CI가 느려졌습니다. 이를 Gradle BuildService로 공유하고 스키마를 분리해 속도와 격리를 함께 확보했습니다.

#Testcontainers#Spring Boot#Gradle
500

데브옵스

[코드가 환경을 모르는 구조 6/7] 컨테이너는 왜 폭발하는가

실제 DB를 쓰는 통합 테스트가 dirty context로 컨테이너를 복제하며 느려지는 문제를 다루었습니다. Gradle BuildService로 컨테이너를 공유하고 모듈별 스키마를 분리하는 해법을 소개했습니다.

#Testcontainers#Spring Boot#Gradle
3500