전체 글
-
RAG(Retrieval-Augmented Generation) 이란?일반 LLM 은 사전에 학습된 데이터만으로 답을 생성하지만, RAG 는 외부 지식(PDF, 문서, DB)을 검색해서 그걸 바탕으로더 정확하고 구체적인 답을 생성한다. 즉, RAG 는 LLM 에 외부 지식 소스를 연계하여 사전 학습된 내용뿐만 아니라 우리가 필요한 내용도 학습시켜 검색할 수 있는기술이다. 📘 예시 상황: PDF 파일을 LLM이 이해하게 하려면?PDF → 텍스트 추출 → (1) Text Split → (2) Embedding → (3) Vector Store 저장 → 사용자의 질문 → (4) 유사도 검색 → (5) 관련 문단 가져옴 → (6) LLM에 프롬프트로 전달 → 답변 생성 ✅ 각 단계 설명📌 1. Text ..
RAG(Retrieval-Augmented Generation) 란?RAG(Retrieval-Augmented Generation) 이란?일반 LLM 은 사전에 학습된 데이터만으로 답을 생성하지만, RAG 는 외부 지식(PDF, 문서, DB)을 검색해서 그걸 바탕으로더 정확하고 구체적인 답을 생성한다. 즉, RAG 는 LLM 에 외부 지식 소스를 연계하여 사전 학습된 내용뿐만 아니라 우리가 필요한 내용도 학습시켜 검색할 수 있는기술이다. 📘 예시 상황: PDF 파일을 LLM이 이해하게 하려면?PDF → 텍스트 추출 → (1) Text Split → (2) Embedding → (3) Vector Store 저장 → 사용자의 질문 → (4) 유사도 검색 → (5) 관련 문단 가져옴 → (6) LLM에 프롬프트로 전달 → 답변 생성 ✅ 각 단계 설명📌 1. Text ..
2025.08.08 -
LLM 이란?말 그대로 사람이 쓰는 자연어(예: 한국어, 영어)를 이해하고 생성할 수 있도록 만들어진 인공지능 모델 📌 예시 ChatGPT, Kanana, Claude, Gemini, LLaMA 등전부 LLM 기반이다 🎯 LLM이 할 수 있는 일 질문에 대답하기글쓰기(기사, 편지, 시, 코드 등)요약, 번역문법 교정대화 나누기코드 분석 및 생성 🧱 어떻게 만들어졌을까? 수십억 개의 문장, 웹 페이지, 책, 코드 등을 학습단어들 사이의 관계, 문맥, 문법 등을 이해하는 방식 💬 2. 프롬프트(Prompt)란? LLM 에게 던지는 입력 문장 또는 질문이다.쉽게 말하면, LLM 에게 일을 시키는 명령문 또는 대화의 시작이다. 📌 예시 프롬프트LLM의 반응“고양이에 대한 시를 써줘”🐱에 대한 시..
LLM(Large Language Model), 프롬프트(Prompt)LLM 이란?말 그대로 사람이 쓰는 자연어(예: 한국어, 영어)를 이해하고 생성할 수 있도록 만들어진 인공지능 모델 📌 예시 ChatGPT, Kanana, Claude, Gemini, LLaMA 등전부 LLM 기반이다 🎯 LLM이 할 수 있는 일 질문에 대답하기글쓰기(기사, 편지, 시, 코드 등)요약, 번역문법 교정대화 나누기코드 분석 및 생성 🧱 어떻게 만들어졌을까? 수십억 개의 문장, 웹 페이지, 책, 코드 등을 학습단어들 사이의 관계, 문맥, 문법 등을 이해하는 방식 💬 2. 프롬프트(Prompt)란? LLM 에게 던지는 입력 문장 또는 질문이다.쉽게 말하면, LLM 에게 일을 시키는 명령문 또는 대화의 시작이다. 📌 예시 프롬프트LLM의 반응“고양이에 대한 시를 써줘”🐱에 대한 시..
2025.08.07 -
Spring 에서의 세션(Session) 은 기본적으로 서블릿 컨테이너(예: Tomcat, Jetty 등) 에 의해 관리된다. 🔍 기본 세션 관리 구조 항목내용세션 저장소기본적으로 서블릿 컨테이너가 HttpSession 객체를 사용해 관리저장 위치서버 메모리 (in-memory), 필요 시 Redis 등 외부 저장소로 대체 가능Spring 역할Spring 은 HttpSession 에 접근하거나, 추가 기능을 제공하는 수준(예: 세션 리스너 등록, 커스텀 세션 전략 등) ✅ 기본 흐름 클라이언트가 요청을 보냄(JSESSIONID쿠키 포함 OR 없음)서블릿 컨테이너(Tomcat 등)가 HttpSession 생성 또는 식별Spring 은 내부적으로 HttpServletRequest.getSession(..
Spring 에서 Session 관리 주체Spring 에서의 세션(Session) 은 기본적으로 서블릿 컨테이너(예: Tomcat, Jetty 등) 에 의해 관리된다. 🔍 기본 세션 관리 구조 항목내용세션 저장소기본적으로 서블릿 컨테이너가 HttpSession 객체를 사용해 관리저장 위치서버 메모리 (in-memory), 필요 시 Redis 등 외부 저장소로 대체 가능Spring 역할Spring 은 HttpSession 에 접근하거나, 추가 기능을 제공하는 수준(예: 세션 리스너 등록, 커스텀 세션 전략 등) ✅ 기본 흐름 클라이언트가 요청을 보냄(JSESSIONID쿠키 포함 OR 없음)서블릿 컨테이너(Tomcat 등)가 HttpSession 생성 또는 식별Spring 은 내부적으로 HttpServletRequest.getSession(..
2025.08.05 -
DelegatingFilterProxy 란?서블릿 필터 클래스이다.서블릿 컨테이너(Tomcat)에 필터로 등록되지만 내부적으로는 Spring Bean 이름으로 실제 Filter를 찾아서위임(delegate) 한다. 즉, 서블릿 필터처럼 동작하지만 진짜 필터 로직은 Spring Context 내에 있는 Bean 이 처리한다. ⚙️ 동작 구조 요약 [서블릿 컨테이너의 Filter Chain] ↓DelegatingFilterProxy (서블릿 필터, Spring이 자동 등록) ↓ (Bean 이름 기반으로 찾아서 위임)springSecurityFilterChain (Spring Security의 실제 필터 체인 Bean) ↓ecurity Filter들 (UsernamePassword..
DelegatingFilterProxyRegistrationBean<T extends Filter>DelegatingFilterProxy 란?서블릿 필터 클래스이다.서블릿 컨테이너(Tomcat)에 필터로 등록되지만 내부적으로는 Spring Bean 이름으로 실제 Filter를 찾아서위임(delegate) 한다. 즉, 서블릿 필터처럼 동작하지만 진짜 필터 로직은 Spring Context 내에 있는 Bean 이 처리한다. ⚙️ 동작 구조 요약 [서블릿 컨테이너의 Filter Chain] ↓DelegatingFilterProxy (서블릿 필터, Spring이 자동 등록) ↓ (Bean 이름 기반으로 찾아서 위임)springSecurityFilterChain (Spring Security의 실제 필터 체인 Bean) ↓ecurity Filter들 (UsernamePassword..
2025.08.04 -
ServletListenerRegistrationBean 이란?Spring Boot 에서 서블릿 스펙의 Listener(예: HttpSessionListener, ServletContextListener) 를 서블릿 컨테이너에등록하기 위한 Spring Bean 이다. 즉, 서블릿 컨테이너가 감지할 수 있도록 Spring Bean 을 리스너로 등록해주는 중간 다리 역할을 한다. 🔄 동작 흐름 요약 HttpSessionListener 같은 서블릿 리스너를 구현하거나 이미 구현된 클래스(HttpSessionEventPublisher) 를 사용한다.ServletListenerRegistrationBean 으로 위 클래스를 Spring Bean 으로 등록한다.Spring Boot 는 내장 톰캣(또는 서블릿 컨..
ServletListenerRegistrationBean<T extends EventListener>ServletListenerRegistrationBean 이란?Spring Boot 에서 서블릿 스펙의 Listener(예: HttpSessionListener, ServletContextListener) 를 서블릿 컨테이너에등록하기 위한 Spring Bean 이다. 즉, 서블릿 컨테이너가 감지할 수 있도록 Spring Bean 을 리스너로 등록해주는 중간 다리 역할을 한다. 🔄 동작 흐름 요약 HttpSessionListener 같은 서블릿 리스너를 구현하거나 이미 구현된 클래스(HttpSessionEventPublisher) 를 사용한다.ServletListenerRegistrationBean 으로 위 클래스를 Spring Bean 으로 등록한다.Spring Boot 는 내장 톰캣(또는 서블릿 컨..
2025.07.28 -
Spring 컨테이너의 Bean 과 서블릿 컨테이너 수준의 컴포넌트 차이는등록 주체, 라이프사이클, DI 사용 가능성, 관리 방식 등에서 뚜렷한 차이가 있다. 핵심 차이 요약 항목Spring Bean서블릿 컨테이너 컴포넌트(@WebServlet, @WebFilter, @WebListener)관리 주체Spring 컨테이너(ApplicationContext)Servlet 컨테이너(Tomcat, Jetty 등)등록 방법@Component, @Controller, @Service, @Repository, @Configuration+@Bean@WebServlet, @WebFilter, @WebListenerDI 가능 여부가능 (@Autowired, 생성자 주입)기본적으로 불가능(Spring 관리 대상이 아님)..
Spring 컨테이너의 Bean 과 서블릿 컨테이너 수준의 컴포넌트 차이Spring 컨테이너의 Bean 과 서블릿 컨테이너 수준의 컴포넌트 차이는등록 주체, 라이프사이클, DI 사용 가능성, 관리 방식 등에서 뚜렷한 차이가 있다. 핵심 차이 요약 항목Spring Bean서블릿 컨테이너 컴포넌트(@WebServlet, @WebFilter, @WebListener)관리 주체Spring 컨테이너(ApplicationContext)Servlet 컨테이너(Tomcat, Jetty 등)등록 방법@Component, @Controller, @Service, @Repository, @Configuration+@Bean@WebServlet, @WebFilter, @WebListenerDI 가능 여부가능 (@Autowired, 생성자 주입)기본적으로 불가능(Spring 관리 대상이 아님)..
2025.07.23