Spring AI 고급 활용 - 대화 기록 전달 및 모델 파라미터 조정

개요 이전 문서를 통해 Spring AI에서 OpenAI 통합과 함수 호출(Function Call) 방법을 익혔다면, 이제 보다 심화된 기능들을 살펴보겠습니다. 특히 이전 대화 내역을 어떻게 전달하고, 모델의 동작을 제어하는 다양한 파라미터를 설정하는지에 중점을 두고 설명합니다. 핵심 개념 Spring AI란? Spring AI는 자바 기반 AI 애플리케이션 개발을 간소화하기 위해 설계된 스 ...

7월 14일 00:26에 게시됨

Spring Kafka 통합 시 Brave Instrumentation 제거 후 발생하는 오류 해결 방법

문제 상황 마이크로서비스 프로젝트에서 spring-kafka를 추가하고 brave-instrumentation-kafka-clients를 제거한 후 애플리케이션 시작 시 다음과 같은 오류가 발생했습니다: Error processing condition on org.springframework.cloud.sleuth.instrument.messaging.TraceMessagingAutoConfiguration$SleuthKafkaConfiguration.kafkaTracing at org.springframework.b ...

7월 13일 03:00에 게시됨

Spring Boot 기반의 위챗페이(WeChat Pay) PC 결제 환불 API 연동 및 구현 가이드

위챗페이 결제 연동의 마지막 단계 중 하나인 환불 인터페이스 구현은 비즈니스 로직에서 매우 중요한 비중을 차지합니다. 본 가이드에서는 Spring Boot 3.1.x 환경을 바탕으로 PC 웹 환경에서 위챗페이 V3 API를 사용하여 환불을 신청하고, 그 결과를 처리하는 전체 프로세스를 다룹니다. 1. 위챗페이 환불 프로세스 개요 환불은 결제 완료 후 일정 기간(보통 1년 이내) ...

7월 10일 18:23에 게시됨

스프링 부트에서 Chuanglan 253 SMS 인증 연동

스프링 부트 프로젝트에서 SMS 인증 기능을 구현하기 위한 설정 및 코드 예시입니다. 1. SMS 설정 프로퍼티 sms.url= sms.username= sms.password= 실제 값은 Chuanglan 공식 사이트에서 확인 가능합니다. 2. 요청 데이터 모델 public class SmsRequest { private String user; private String pass; private String content; private String variables; priv ...

7월 8일 19:22에 게시됨

JWT 인증 및 Redis 통합 가이드

프로젝트 구성 단계별 안내 1. 프로젝트 생성 Java 8을 기준으로 새 프로젝트를 생성합니다. 2. Maven 설정 및 의존성 추가 pom.xml에 필요한 의존성을 추가합니다. <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </de ...

7월 6일 16:10에 게시됨

Spring Boot Maven Plugin 패키징 오류 및 해결 방법: 메인 클래스 찾을 수 없음

문제 상황 Spring Boot 프로젝트를 실행 가능한 JAR로 패키징할 때, 프로젝트 내에 두 개 이상의 main 메서드가 포함된 경우 다음과 같은 오류가 발생할 수 있습니다: [ERROR] Failed to execute goal org.springframework.boot:spring-boot-maven-plugin:1.5.3.RELEASE:repackage (default) on project myapp: Execution default of goal org.springframework.boot:sprin ...

7월 6일 03:48에 게시됨

Maven 플러그인을 활용한 SpringBoot 애플리케이션 Docker 이미지 구축

개요 본 문서에서는 Maven 플러그인을 활용하여 SpringBoot 애플리케이션을 Docker 이미지로 패키징하고, 사설 레지스트리에 업로드하는 과정을 상세히 설명합니다. Docker 명령어에 익숙하지 않은 개발자는 먼저 기본 Docker 명령어 관련 자료를 참고하시기 바랍니다. Docker Registry Docker Registry 2.0 설치 docker run -d -p 5000:5000 --restart=always --name my ...

7월 3일 03:39에 게시됨

Spring Boot에서 @Scheduled를 이용한 정기 작업 구현

Spring Boot의 @Scheduled 어노테이션을 사용하면 정기적으로 실행해야 하는 작업을 손쉽게 구현할 수 있습니다. import java.text.SimpleDateFormat; import java.util.Date; import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Service; @Servic ...

7월 1일 18:23에 게시됨

supervisord를 활용한 다중 프로젝트 프로세스 통합 관리

여러 개의 서비스를 동시에 운영해야 하는 상황에서 개별 터미널로 일일이 실행하는 것은 비효율적입니다. 본 가이드에서는 Python 메인 서비스, 보조 모듈, Celery 스케줄러, 그리고 Spring Boot 애플리케이션을 supervisord 하나로 묶어 관리하는 방법을 살펴봅니다. 설치 및 환경 구성 가상 환경 내부에 supervisord를 설치하면 매번 환경을 활성화해야 하는 번거로움 ...

6월 30일 18:44에 게시됨

스프링 클라우드 게이트웨이 내장 필터의 다양한 활용 패턴

1. FallbackHeaders 를 활용한 에러 컨텍스트 전달 Circuit Breaker 기능으로 인해 특정 서비스 요청이 실패하여 폴백 (Fallback) 로직이 수행될 때, 해당 오류에 대한 상세 정보를 다음 처리 단계로 전달할 필요가 있는 경우가 많습니다. FallbackHeaders 필터는 이러한 시나리오에 적합합니다. 이 필터를 적용하면 서킷 브레이커가 활성화되어 외부 URI 로 포워딩되는 ...

6월 29일 20:53에 게시됨