이 글은 유튜브 개발자 유미 영상을 바탕으로 개인적인 정리를 위해 작성한 글입니다.https://www.youtube.com/watch?v=-g6goXtCilM&list=PLJkjrxxiBSFCgcsP_pzuntmqC3AlTMWFx 스프링 AI 란?스프링 AI는 LLM API를 활용한 여러 웹 시스템 (챗봇, 멀티모달, RAG)을 쉽게 구축하도록 도와주는 스프링 기반의 모듈 현재 AI 진영에서는 LangChain/LangGraph와 같은 파이썬 모듈의 편의성으로 자바/스프링 기반의 구현이 줄어들고 있다.이 문제를 해결하기 위해 2024년 스프링은 스프링 AI라는 모듈을 출시하게 된다. AI와 연관된 도구들을 쉽게 통합하도록 하는 프레임워크LLM API 호출챗모델 : 앤트로픽, 애저, OpenAI, ..
이 글은 유튜브 개발자 유미 영상을 바탕으로 개인적인 정리를 위해 작성한 글입니다.https://www.youtube.com/watch?v=-g6goXtCilM&list=PLJkjrxxiBSFCgcsP_pzuntmqC3AlTMWFx스프링 AI : OpenAI스프링 AI 의존성들을 활용하기 위한 스프링 부트 프로젝트를 생성한다. 첫번째 의존성 활용은 OpenAI이다.스프링부트 기반의 웹 서비스를 구축하며, 그 웹 서비스에서 OpenAI의 서비스가 필요한 경우,기존에 RestTemplate, WebClient와 같은 API 호출 클라이언트를 통해 모든 과정을 작성해야했다. 하지만 OpenAI 의존성만 사용하면 위 과정들을 추상화하여 사용할 수 있다. OpenAI 클라이언트 등록OpenAI API를 활용하기 ..
https://www.acmicpc.net/problem/13335✅ 문제 🔑 풀이import java.util.*;import java.io.*;// 2025/7/30 // 시뮬레이션 + 큐public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine()); int n = Integer.parseInt(st.nextToken()); // 트럭 수 ..
📝 문제https://school.programmers.co.kr/learn/courses/30/lessons/12909 🔑 풀이class Solution { // 올바른 괄호가 아닌 판단 조건 // 1. 닫히는 괄호가 들어왔는데, 스택이 비어있다. // 2. 마지막에 스택에 데이터가 남아있다. boolean solution(String s) { ArrayDeque stack = new ArrayDeque(); for(int i = 0; i
이 글은 인프런 딩코딩코의 백엔드 이력서 차별화 전략 강의를 바탕으로 개인적인 정리를 위해 작성한 글입니다.언제 캐시를 만료시켜야할까? - 캐시 만료 정책앞서 어떤 데이터를 캐싱하면 좋을지 알아봤다.🤔 그렇다면 이렇게 캐싱된 데이터는 언제까지 캐시에 남아 있어야 할까? 한 번 저장된 캐싱 데이터는 계속해서 유효할 수 있을까? 현실의 백엔드 서버에서는 다양한 요청을 처리하는 과정에서 데이터가 지속적으로 생성, 수정, 삭제되며 원본 DB의 내용도 계속해서 변하게 된다.즉, 원본 데이터가 지속적으로 변경되는 상황에서 처음에 캐싱된 데이터가 계속해서 유효하다고 볼 수는 없다. 만약 캐시를 적절히 만료시키지 않거나, 원본 데이터의 변경 사항을 캐시에 반영하지 못한다면캐시 데이터와 원본 DB 간에 불일치가..