기술과 산업/언어 및 프레임워크
-
Spring Framework 시리즈 12화 – Spring MVC 구조의 출발점: DispatcherServlet과 요청 처리 흐름기술과 산업/언어 및 프레임워크 2025. 6. 3. 11:49
Spring MVC에서 요청이 들어오면 어떤 경로를 따라 응답이 만들어질까요? DispatcherServlet을 중심으로, HandlerMapping, Controller, ViewResolver까지의 흐름을 자연스럽게 정리합니다.Spring MVC의 진짜 시작점은?우리는 보통 컨트롤러부터 코드를 쓰기 시작합니다.@GetMapping("/hello")public String hello() { return "hello";}근데 정말 이게 전부일까요?이렇게 작성된 코드는 어떻게 실행되고, 어떻게 우리가 작성한 뷰 이름을 찾아가는 걸까요?그 중심에는 바로 DispatcherServlet이 있습니다.사실상 Spring MVC의 모든 요청은 DispatcherServlet을 거쳐서 흐릅니다.Dispatche..
-
Spring AI 시리즈 5화 – Prompt Template과 Prompt Engineering 전략기술과 산업/언어 및 프레임워크 2025. 6. 3. 11:47
Spring AI에서 제공하는 PromptTemplate 기능을 바탕으로, LLM 응답을 더 정밀하게 제어할 수 있는 프롬프트 설계 전략을 살펴봅니다. 다양한 실전 예시와 함께 Prompt Engineering의 핵심 개념을 정리합니다. 우리가 GPT나 Hugging Face 모델을 쓸 때 가장 많이 하는 실수 중 하나는 이겁니다.그냥 질문만 던지고 결과가 별로면 모델 탓을 한다는 거죠.사실 LLM의 성능은 모델의 파라미터 수나 학습 데이터만으로 결정되지 않습니다.**어떻게 질문하느냐(Prompting)**도 그 못지않게 중요합니다.프롬프트 엔지니어링(Prompt Engineering)은 이 “질문 설계”를 통해 원하는 출력을 이끌어내는 기술입니다.Spring AI는 이걸 위한 도구로 PromptTemp..
-
Spring Framework 시리즈 11화 – 테스트 가능한 구조 만들기와 DI 테스트 전략기술과 산업/언어 및 프레임워크 2025. 6. 2. 13:16
스프링의 의존성 주입 구조를 테스트에 적합하게 리팩토링하는 방법과 함께, 단위 테스트와 통합 테스트에서 @TestConfiguration, @MockBean, ApplicationContext 활용 전략을 소개합니다. 왜 테스트 가능한 구조가 중요한가? 실무에서 스프링 애플리케이션의 성공 여부는 테스트 전략에 크게 좌우됩니다.하지만 많은 개발자가 기능은 되는데 테스트는 어려운 구조를 만들어냅니다. 그 이유는 다음과 같습니다: new 키워드 남용 → DI 불가내부 의존성 연결이 강함 → Mock 불가Bean 설정이 하드코딩 → 프로파일 분기 실패 이제, 우리가 앞서 만든 DI 기반 계산기 시스템을 테스트 가능한 구조로 바꿔보고, 실제 테스트 코드까지 작성해보겠습니다. 1. 설계 리팩토링 – 인터페이스 ..
-
FastAPI 시리즈 13화 - 사용자 권한(Role) 관리와 종속성 적용 방법기술과 산업/언어 및 프레임워크 2025. 6. 2. 10:12
FastAPI에서 사용자 역할(Role)을 기반으로 접근 권한을 제어하는 방법을 설명합니다. Depends를 활용해 인증과 권한 검증을 모듈화하고, 실무에서 필요한 보안 구조를 구축합니다.왜 Role 기반 권한 관리가 필요한가?대부분의 서비스는 사용자 유형이 나뉘며 각자의 권한이 다릅니다:사용자 유형 접근 가능한 리소스일반 사용자본인의 정보, 게시글관리자전체 사용자 목록, 설정 변경운영자일부 모니터링 기능이러한 역할(Role) 기반 권한 관리 시스템은 서비스 품질뿐만 아니라 보안을 위해서도 반드시 필요합니다.1. JWT 토큰에 Role 정보 포함def create_access_token(data: dict): payload = data.copy() payload.update({ "..
-
Spring Boot 고급 시리즈 2화 – Spring Bean 생성 전략: @Configuration, @Component, @Bean의 차이와 활용법기술과 산업/언어 및 프레임워크 2025. 6. 2. 10:07
Spring Boot를 일정 수준 이상으로 활용하다 보면, 애플리케이션 전체 구조를 설계할 때 Bean 정의 방식의 차이를 정확히 이해하고 선택하는 것이 매우 중요해집니다. 이번 글에서는 Spring에서 Bean을 정의하는 세 가지 주요 방식인 @Configuration, @Component, @Bean의 차이를 심도 있게 분석하고, 각 방식이 실제 아키텍처 설계에서 어떻게 적용되어야 하는지 살펴보겠습니다. Spring Boot에서 Bean을 등록할 때 사용하는 @Configuration, @Component, @Bean의 차이를 깊이 있게 분석하고, 실전 설계에서 어떤 전략으로 선택해야 하는지를 설명합니다.@Component 기반 자동 스캔: 간단하지만 통제가 어렵다@Component는 Spring에서..
-
Spring AI 시리즈 4화 – Hugging Face 연동: Inference API 실습기술과 산업/언어 및 프레임워크 2025. 6. 2. 10:06
Spring AI를 활용해 Hugging Face Inference API와 연동하는 방법을 설명합니다. 모델 선택, 설정 파일 구성, 텍스트 생성 실습까지 Java 기반에서 손쉽게 구현할 수 있는 방법을 소개합니다. Spring AI는 OpenAI뿐만 아니라 Hugging Face Hub의 모델들도 손쉽게 연동할 수 있도록 설계되어 있습니다.이번 글에서는 Spring AI를 통해 Hugging Face Inference API를 연동하고,BLOOM 또는 Falcon 등 텍스트 생성 모델을 활용하는 방법을 실습 중심으로 소개합니다.1. Hugging Face Inference API란?Hugging Face Inference API는 Hugging Face에 업로드된 사전 학습 모델을 REST API로 ..
-
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는 어떤 식으로 연동되는가를 이해하는 데 매우 중요합니다. 이번 글..