java
-
Spring AI 시리즈 3화 – OpenAI 연동: 텍스트 생성 API 통합 실습기술과 산업/언어 및 프레임워크 2025. 5. 30. 21:03
Spring AI를 통해 OpenAI GPT API를 Spring Boot 애플리케이션에 연동하는 방법을 소개합니다. 프로젝트 설정, 프롬프트 구성, 결과 출력까지 실습 중심으로 설명합니다. 이전 글에서 Spring AI의 모듈 구조와 계층 설계를 살펴봤습니다. 이번 글에서는 그 구조를 실제로 적용해보는 시간을 갖겠습니다.Spring Boot 애플리케이션에 OpenAI GPT 모델을 연동하고, 사용자의 입력을 받아 텍스트를 생성하는 과정을 실습 중심으로 정리했습니다. 1. 의존성 설정 프로젝트에 OpenAI Starter를 추가합니다. 현재 Spring AI는 Maven Central에 공개되어 있으며, 버전은 0.8.0 기준입니다. Maven org.springframework.ai sprin..
-
Spring AI 시리즈 2화 – Spring AI 프로젝트 구조와 주요 모듈 개요기술과 산업/언어 및 프레임워크 2025. 5. 30. 18:03
Spring AI는 OpenAI, Hugging Face, Chroma 등 다양한 AI 서비스를 선언적으로 연동할 수 있도록 돕는 Spring 기반 프레임워크입니다. 본 글에서는 프로젝트 구조와 주요 모듈 역할을 중심으로, Spring AI의 구성 원리를 소개합니다. AI 기능을 애플리케이션에 녹여내기 위해 Spring AI를 도입하려 할 때, 가장 먼저 부딪히는 질문은 이것입니다. “Spring AI는 정확히 어떤 구조로 구성돼 있고, 어떤 모듈을 어떻게 의존해야 하지?” 이 질문은 단순히 설정을 어떻게 하느냐를 넘어,AI 기능을 어떻게 확장할 수 있는가,어떤 모듈이 어떤 기능을 담당하는가,그리고내가 사용하는 LLM과 Vector DB는 어떤 식으로 연동되는가를 이해하는 데 매우 중요합니다. 이번 글..
-
Spring AI 시리즈 1화 – Spring AI 소개: 왜 지금 AI와 Spring의 결합인가?기술과 산업/언어 및 프레임워크 2025. 5. 30. 11:11
Spring AI는 OpenAI, Hugging Face, Mistral 등 다양한 LLM을 Spring 개발 환경에서 통합할 수 있는 AI 프레임워크입니다. 본 글에서는 Spring AI의 등장 배경과 핵심 가치, 그리고 왜 지금 Java 생태계에서 AI가 중요한지를 분석합니다. AI 기술의 진보는 개발자의 일상 언어로까지 파고들고 있습니다. 특히 OpenAI, Anthropic, Hugging Face와 같은 LLM API들이 강력한 텍스트 생성, 요약, 추론 기능을 제공하면서, 우리는 ‘AI 기능을 애플리케이션에 녹이는 일’에 익숙해지고 있죠. 하지만 Spring 개발자에게 AI는 여전히 먼 이야기처럼 느껴졌습니다. 대부분의 AI 튜토리얼은 Python 기반이고, 프론트엔드에서는 JS 기반 라이브..
-
Jackson JSON 트러블슈팅을 위한 각 오류별 구체적인 예제와 JUnit 기반 테스트 코드기술과 산업/언어 및 프레임워크 2025. 5. 19. 11:07
Jackson JSON 트러블슈팅을 위한 각 오류별 구체적인 예제와 JUnit 기반 테스트 코드를 정리한 Java 코드 문서를 생성했습니다. 이 문서에는 다음과 같은 내용을 포함하고 있습니다:UnrecognizedPropertyException (정의되지 않은 필드)InvalidFormatException (타입 불일치)JavaTimeModule 미등록으로 인한 날짜 오류Enum 역직렬화 실패순환 참조 문제와 @JsonManagedReference, @JsonBackReference 사용 예제// Java JSON 처리 실전 – Jackson 트러블슈팅 확장 예제 모음// 1. UnrecognizedPropertyException 예제public class User { private String n..
-
Java JSON 처리 실전 시리즈 2화 – Spring Boot에서 Jackson 기본 설정 이해하기기술과 산업/언어 및 프레임워크 2025. 5. 9. 17:35
Spring Boot에서 Jackson은 기본 JSON 파서로 작동합니다. 날짜 포맷, null 필드 처리, 네이밍 전략까지 설정 파일과 Java Config를 활용한 커스터마이징 방법을 소개합니다.Spring Boot 기반 웹 애플리케이션을 만들면 @RestController에서 객체를 반환할 때 자동으로 JSON으로 변환되는 것을 볼 수 있습니다.이 모든 처리는 Jackson의 ObjectMapper와 Spring Boot의 HTTP Message Converter 덕분입니다.이번 글에서는 Spring Boot가 Jackson을 어떻게 통합하고 있는지, 그리고 우리가 어떤 설정을 통해 JSON 출력을 제어할 수 있는지를 다룹니다.1. Jackson과 Spring Boot의 통합 구조Spring Boo..
-
Java JSON 처리 실전 시리즈 1화 – Jackson vs Gson: Java JSON 라이브러리 비교와 선택 기준기술과 산업/언어 및 프레임워크 2025. 5. 9. 14:31
Jackson과 Gson, 어떤 JSON 처리 라이브러리가 Java 개발자에게 적합할까? 성능, 사용성, Spring Boot 통합성까지 실제 코드 예제와 함께 비교해본다.JSON은 이제 백엔드 개발에서 필수적인 데이터 포맷입니다. 특히 Java 생태계에서는 다양한 JSON 라이브러리가 있지만, 실무에서는 주로 Jackson과 Gson 두 가지가 중심을 이루고 있습니다.이 글에서는 Jackson과 Gson을 구조적, 기능적, 그리고 Spring Framework/Spring Boot와의 통합성 기준으로 비교하며 어떤 상황에서 어떤 라이브러리를 선택하는 것이 현명한지 정리합니다.1. Jackson과 Gson의 출발점과 철학항목 Jackson Gson개발 주체FasterXML (전통적으로 Codehaus에서..
-
자바에서 IP 주소 얻는 방법 총정리 – 내부 IP부터 공인 IP까지 완벽 이해기술과 산업/언어 및 프레임워크 2025. 4. 15. 12:08
자바에서 IP 주소를 얻는 방법을 정리했습니다. InetAddress, NetworkInterface, 공인 IP 조회까지 실무에서 유용한 코드 예제와 함께 소개합니다.자바에서 IP 주소 얻는 방법 총정리 – 내부 IP부터 공인 IP까지 완벽 이해자바(Java) 개발을 하다 보면, IP 주소를 알아야 할 때가 종종 있습니다.특히 서버 개발이나 네트워크 연동 작업 시 내부 IP와 공인 IP를 정확히 구분해서 사용하는 것이 중요합니다.이번 글에서는 자바에서 IP 주소를 얻는 여러 가지 방법을 체계적으로 정리해보겠습니다.📌 1. 기본 – InetAddress.getLocalHost() 사용자바에서 가장 기본적으로 IP를 얻는 방법은 다음과 같습니다.InetAddress ip = InetAddress.getL..
-
Gson supports Java 8 datetime types기술과 산업/언어 및 프레임워크 2025. 2. 13. 12:17
개요Gson은 기본적으로 Java 8의 날짜-시간 API를 직접 지원하지 않습니다. 하지만 커스텀 JSON 직렬화기를 만들어 Java 8의 날짜-시간 타입을 지원할 수 있습니다. 이 글에서는 Gson을 사용하여 LocalDate 타입을 처리하는 방법을 설명합니다.Gson 설정먼저 pom.xml 파일에 Gson 의존성을 추가해야 합니다: com.google.code.gson gson 2.10.1기본 Gson의 한계기본적으로 Gson을 사용하여 LocalDate와 같은 Java 8 날짜-시간 타입을 처리하려고 하면 Java 9 모듈 오류가 발생합니다. 예를 들어:Gson gson = new Gson();Book book = new Book(1L, "Book A", BigDecimal.valu..