본문 바로가기

728x90
반응형

Spring

(60)
Spring Boot 4에서 도입되는 Jackson 3 지원 완벽 정리 Spring Boot 4와 Spring Framework 7의 등장과 함께 JSON 직렬화/역직렬화의 핵심 역할을 담당하는 Jackson이 드디어 3.x 버전으로 업그레이드되었다. 이번 변화는 단순한 버전 업데이트가 아니라 패키지 구조, 기본 설정, 주요 API, Spring 생태계 전반의 적용 방식까지 모두 달라지는 큰 전환점이다.기존 프로젝트를 Spring Boot 4로 올리려는 개발자라면 Jackson 3는 피할 수 없는 변화다. 이 글에서는 Jackson 3의 주요 특징과 Spring Boot 4에서의 적용 방식, 마이그레이션 전략, 모듈별 변화까지 전체 흐름을 하나로 정리했다.Jackson 3는 무엇이며 왜 Spring에 도입되었는가Jackson은 JVM 환경에서 가장 널리 사용되는 JSON 라..
Spring Boot 4.0 출시: 개발자가 꼭 알아야 할 변화와 실무 활용 포인트 Spring Boot 4.0이 공식 출시되면서 많은 개발자들이 이번 버전에서 무엇이 달라졌는지, 그리고 실제 프로젝트에 어떤 영향을 미칠지 궁금해하고 있다. 새로운 메이저 버전은 기대와 동시에 부담을 주기 마련이다. 이번 글에서는 Spring Boot 4.0의 주요 변화, 실무에서 유용한 기능들, 마이그레이션 전에 반드시 알아야 할 점들을 명확하게 정리했다. Spring Boot 3.5를 사용 중인 개발자뿐 아니라 기존 버전을 운영하는 모든 개발자에게 도움이 될 수 있도록 핵심만 간단하게 정리했다.Spring Boot 4.0, 이번 버전이 중요한 이유Spring Boot 4.0은 단순한 기능 추가 수준이 아니라, 생태계 전반의 현대화를 반영한 메이저 업데이트다. Gradle 9 지원, HTTP Servi..
Beyond JSON: Spring AI에서 TOON·XML·CSV·YAML로 툴 응답 포맷을 전환하는 방법 대부분의 LLM Tool Calling 응답은 JSON을 기본으로 사용하지만, 최근 개발자들 사이에서는 TOON, XML, CSV, YAML과 같은 다양한 포맷이 성능이나 토큰 효율에서 더 나은 선택이 될 수 있다는 논의가 이어지고 있다. 실제로 어떤 포맷이 유리한지는 상황에 따라 달라지기 때문에, 프로젝트 안에서 직접 실험하며 비교해보는 과정이 필요하다.이 글에서는 Spring AI 환경에서 툴 응답을 JSON뿐 아니라 TOON, XML, CSV, YAML로 변환해 사용하는 방법을 두 가지 방식으로 설명한다. 개별 툴 단위로 변환하는 방식과 전체 툴에 일괄 적용하는 방식 모두 다루며, 실제 코드를 통해 바로 적용할 수 있도록 정리했다.Spring AI Tool Calling 구조 간단 정리응답 포맷 변..
Spring AI와 Redis로 구현하는 시맨틱 캐싱: LLM 비용을 줄이는 가장 실용적인 방법 LLM을 서비스에 붙여보면 금방 깨닫게 됩니다. 사용자는 비슷한 질문을 계속 던지고, 애플리케이션은 그때마다 모델을 다시 호출합니다. 결국 비슷한 답변을 얻기 위해 매번 비용을 지불하게 되고, 응답 시간도 느려집니다.이 글은 이런 고민을 가진 개발자를 위해 준비했습니다. Spring AI와 Redis Vector Store를 활용해 이미 답한 질문에 대한 LLM 호출을 건너뛸 수 있는 시맨틱 캐싱을 직접 구현하는 방법을 정리합니다. 설정부터 코드 작성, 테스트까지 흐름대로 설명하므로 그대로 따라 하면 바로 적용할 수 있습니다.시맨틱 캐싱(Semantic Caching)이란 무엇인가시맨틱 캐싱은 단순히 동일한 문자열을 비교하는 캐싱이 아니라, 질문의 의미(semantic meaning)를 비교해 비슷한 질..
AI가 AI를 평가하고 스스로 개선한다: Spring AI Recursive Advisors를 활용한 LLM-as-a-Judge 구축 대규모 언어 모델(LLM)이 프로덕션 환경에 본격적으로 도입되면서, 본질적으로 비결정론적인 AI 애플리케이션의 결과물을 평가하는 문제는 매우 중요한 과제가 되었습니다. ROUGE나 BLEU와 같은 전통적인 지표는 현대 LLM이 생성하는 미묘하고 맥락적인 응답을 평가하는 데 한계가 있습니다. 인간의 직접 평가는 정확하지만, 비용이 많이 들고 속도가 느려 확장성이 떨어집니다.이러한 문제의 강력한 해결책으로 'LLM-as-a-Judge' 기법이 부상하고 있습니다. 이는 LLM 자체를 사용하여 AI가 생성한 콘텐츠의 품질을 평가하는 방식입니다. 연구에 따르면, 정교하게 훈련된 'Judge(심판)' 모델은 인간의 판단과 최대 85%까지 일치하며, 이는 오히려 인간 평가자 간의 일치도(81%)보다 높은 수치입니다...
Spring Batch 6.0 마이그레이션 가이드: 꼭 알아야 할 변경 사항 Spring Batch는 대용량 데이터 처리와 배치 작업에 최적화된 프레임워크로, 금융, 물류, 공공기관 등 다양한 분야에서 널리 사용되고 있습니다. 최근 공개된 Spring Batch 6.0은 기존 구조를 단순화하고 최신 기술 스택에 맞춰 개선된 버전입니다. 하지만 동시에 많은 변경사항과 Deprecated API가 포함되어 있어 기존 애플리케이션을 유지·운영하는 개발자라면 반드시 숙지해야 합니다.이 글에서는 Spring Batch 6.0 마이그레이션 시 확인해야 할 핵심 변경 사항을 정리하고, 버전 5에서 6으로 이전할 때 주의할 점을 설명합니다.Spring Batch 6.0 주요 변경 사항1. 의존성 업그레이드Spring Batch 6.0은 내부적으로 사용하는 주요 스프링 프로젝트 버전을 최신으로 ..
스프링 vs 스프링 부트 차이, 그리고 꼭 알아야 할 스프링 부트 핵심 개념 3가지 복잡한 설정에 지치셨다면, 이 글이 도움이 될 수 있습니다. 스프링(Spring) 프레임워크를 사용하다 보면 설정 파일과 복잡한 구조 때문에 진입 장벽을 느끼는 경우가 많습니다. 이러한 문제를 해결하기 위해 등장한 것이 스프링 부트(Spring Boot)입니다. 이름은 비슷하지만 두 기술은 접근 방식부터 철학까지 많은 차이를 갖고 있습니다.이 글에서는 스프링과 스프링 부트의 차이를 명확하게 정리하고, 스프링 부트를 제대로 이해하기 위해 꼭 알아야 할 핵심 개념 세 가지, 즉 의존성 주입(DI), 제어의 역전(IoC), 관점 지향 프로그래밍(AOP)을 예시와 함께 설명합니다.스프링과 스프링 부트, 무엇이 어떻게 다른가요?구분스프링 (Spring)스프링 프레임워크 (Spring Framework)스프링 부트..
Spring AI MCP에 OAuth2 인증 적용하기: 실무 보안 설정 완전 정복 Spring 기반 AI 프로젝트를 진행하다 보면 보안 설정이 필수적인 순간이 옵니다. 특히 여러 클라이언트와 서버가 연동되는 MCP(Multi-Component Platform) 구조에서는 인증과 권한 처리가 핵심입니다. 이 글에서는 Spring AI에서 제공하는 MCP(Server와 Client)에 OAuth2 인증을 적용하는 방법을 단계별로 설명합니다. 외부 인증 서버를 활용한 구조, 실용적인 설정 예제, 그리고 실무에서 자주 묻는 질문까지 모두 다룹니다. 복잡한 보안 개념을 명확하게 정리하고, 곧바로 적용 가능한 설정 예제로 구성했으니, Spring Security가 낯선 개발자라도 쉽게 따라올 수 있습니다.Spring AI MCP란 무엇인가?MCP는 Spring AI에서 제공하는 툴 기반 AI 통..

728x90
반응형