Tech

기술 블로그

MDX로 기록한 글과 작업 로그를 한 곳에 모아두는 공간입니다.

Sentry만으로 부족했던 이유 — Spring Boot에 OpenTelemetry + Jaeger 분산 추적을 도입한 과정
2026년 5월 4일

Sentry만으로 부족했던 이유 — Spring Boot에 OpenTelemetry + Jaeger 분산 추적을 도입한 과정

Sentry의 에러 추적과 Actuator의 메트릭 모니터링만으로는 서비스 간 호출 흐름을 파악하기 어려웠습니다. OpenTelemetry와 Jaeger를 도입해 분산 추적 체계를 구축하고, 각 도구의 역할을 분리한 경험을 공유합니다.

Spring BootMonitoringObservability
Spring AI + PGVector로 사내 문서 검색 RAG 파이프라인을 구현한 과정
2026년 5월 3일

Spring AI + PGVector로 사내 문서 검색 RAG 파이프라인을 구현한 과정

사내 문서를 LLM이 검색하고 답변할 수 있도록 Spring AI와 PGVector 기반 RAG 파이프라인을 구축한 경험을 정리했습니다. 임베딩, 벡터 저장소, 검색 품질 개선까지 실무에서 겪은 시행착오를 담았습니다.

Spring BootAIArchitecture
Spring Boot 4의 JSpecify + NullAway로 NullPointerException을 빌드 타임에 잡은 경험
2026년 4월 30일

Spring Boot 4의 JSpecify + NullAway로 NullPointerException을 빌드 타임에 잡은 경험

Spring Framework 7이 도입한 JSpecify 기반 null-safety 어노테이션과 NullAway를 실무 프로젝트에 적용하여, 런타임에 터지던 NPE를 빌드 단계에서 차단한 과정과 결과를 정리합니다.

Spring BootJavaCode Quality
Spring Security 7 마이그레이션 — lambda DSL 필수화와 SecurityFilterChain 설정 변경 정리
2026년 4월 29일

Spring Security 7 마이그레이션 — lambda DSL 필수화와 SecurityFilterChain 설정 변경 정리

Spring Security 6에서 7로 올리면서 만난 deprecated API 제거, lambda DSL 필수화, OAuth2 Resource Server 변경점을 before/after 비교와 함께 정리했습니다.

Spring BootSpring SecurityJWT
Claude Code의 /review와 claude-code-action으로 PR 리뷰를 자동화한 경험
2026년 4월 26일

Claude Code의 /review와 claude-code-action으로 PR 리뷰를 자동화한 경험

Anthropic 공식 Claude Code의 /review 기능과 GitHub Actions용 claude-code-action을 활용해 PR 코드 리뷰를 자동화하고, CLAUDE.md로 리뷰 기준을 관리한 경험을 공유합니다.

AICI/CDGitHub Actions
Spring Boot 3에서 4로 마이그레이션하며 만난 Jackson 3, Jakarta EE 11, properties 변경 정리
2026년 4월 24일

Spring Boot 3에서 4로 마이그레이션하며 만난 Jackson 3, Jakarta EE 11, properties 변경 정리

Spring Boot 4 업그레이드 과정에서 Jackson 3 직렬화 깨짐, Jakarta EE 11 전환으로 인한 컴파일 오류, application.properties 키 변경까지 실제로 부딪힌 문제와 해결 과정을 공유합니다.

Spring BootArchitectureRefactoring