26/08/10 IL - (1)-1 이미지 RAG를 위한 이미지 저장·전처리·AI 분석·VectorStore 저장

RAG의 기본 구조와 Document · VectorStore를 활용한 데이터 저장 1. 이번 프로젝트에서 새롭게 배운 핵심 이번 프로젝트에서는 단순히 AI에게 질문을 전달하고 답변을 받는 방식에서 벗어나, 외부 데이터를 AI가 검색하여 답변에 활용할 수 있도록 만

2일 전
·
0개의 댓글
·

26/08/07 IL - (2)-2 JPA 조회 성능 최적화

이번 프로젝트에서는 조회 성능을 향상시키기 위한 JPA 조회 전략과 Repository 설계 방식을 학습하였다. 특히 FetchType.LAZY, @EntityGraph를 이용하여 N+1 문제를 해결하는 방법을 익혔으며, Repository를 인터페이스로 추상화하여 S

3일 전
·
0개의 댓글
·

26/08/07 IL - (2)-1 JPA 연관관계 설계와 영속성 컨텍스트를 이용한 데이터 관리

이번 프로젝트에서는 MovieEntity와 MovieImageEntity 사이의 연관관계를 설계하고, JPA가 객체를 어떻게 관리하는지에 대해 학습하였다.특히 OneToMany와 ManyToOne 관계, Cascade, orphanRemoval, BaseEntity를

3일 전
·
0개의 댓글
·

26/08/07 IL - (1)-2 MovieService를 이용한 파일 업로드 처리와 Entity 생성 과정

이번 프로젝트에서는 사용자가 입력한 영화 정보와 이미지 파일을 하나의 요청으로 받아 데이터베이스에 저장하는 기능을 구현하였다. 이전 프로젝트에서는 문자열과 숫자만 저장하였다면, 이번에는 MultipartFile을 이용한 파일 업로드, DTO를 Entity로 변환, Mo

3일 전
·
0개의 댓글
·

26/08/07 IL - (1)-1 MultipartFile을 활용한 파일 업로드 구조와 FileStore 설계

이번 프로젝트에서는 기존 영화 CRUD 프로젝트를 확장하여 이미지 파일 업로드 기능을 구현하였다. 단순히 영화 제목과 가격 같은 텍스트 데이터만 처리하는 것이 아니라, 사용자가 여러 장의 이미지를 선택하여 업로드하고 이를 서버(Local) 또는 S3와 같은 외부 저장소

3일 전
·
0개의 댓글
·

26/08/06 TIL - 레이아웃과 Thymeleaf Fragment, 서버사이드 예외처리 (2)

이번 프로젝트에서는 Spring Data JPA를 활용한 영화 CRUD 기능 구현과 Spring MVC의 예외 처리 구조를 함께 학습하였다. JpaRepository와 Service 계층을 이용하여 조회, 등록, 수정, 삭제 기능을 계층적으로 구현하고, BaseEnti

2026년 8월 6일
·
0개의 댓글
·

26/08/06 TIL - 레이아웃과 Thymeleaf Fragment, 서버사이드 예외처리 (1)

이번 프로젝트에서는 Spring Boot와 Thymeleaf를 활용하여 영화(Movie) 관리 시스템을 구현하면서 화면의 중복을 줄이기 위한 Fragment(프래그먼트), DTO를 이용한 계층 간 데이터 전달, Validation을 통한 입력 검증, 그리고 MVC(Mo

2026년 8월 6일
·
0개의 댓글
·

26/08/05 IL(I Learned) - Spring Boot 설정 관리와 JPA Auditing

이번 프로젝트에서는 단순히 데이터를 저장하고 조회하는 기능을 구현하는 것을 넘어, 프로젝트에서 반복적으로 사용되는 공통 기능을 효율적으로 관리하는 방법을 학습하였다.특히 Spring Boot의 @ConfigurationProperties를 활용하여 설정 파일의 값을 객

2026년 8월 6일
·
0개의 댓글
·

26/08/05 IL(I Learned) - Spring Validation

이번 프로젝트에서는 사용자가 입력한 데이터를 데이터베이스에 저장하기 전에 올바른 값인지 검증(Validation) 하는 방법을 학습하였다. 단순히 Controller에서 데이터를 받아 저장하는 것이 아니라, Bean Validation을 이용하여 입력값의 형식을 검사하

2026년 8월 6일
·
0개의 댓글
·

26/08/04 IL(I Learned) - application-yaml과 외부 설정

이번 프로젝트에서는 화면을 구성하는 것뿐만 아니라 Spring Boot 애플리케이션의 환경을 효율적으로 관리하는 방법을 학습하였다. 하나의 설정 파일에 모든 정보를 작성하는 것이 아니라 설정을 역할별로 분리하고, @ConfigurationProperties를 이용하여

2026년 8월 6일
·
0개의 댓글
·

26/08/04 IL(I Learned) - Thymeleaf

Thymeleaf 템플릿 엔진을 활용한 동적 화면 구성과 Spring MVC 연동 Thymeleaf 템플릿 엔진을 이용하여 서버에서 전달한 데이터를 화면에 출력하고, 사용자 입력을 다시 서버로 전달하는 과정을 학습하였다. 또한 Spring MVC의 Model 객체를 활

2026년 8월 5일
·
0개의 댓글
·

26/07/30 IL(I Learned) - RAG (2)

이번에는 RAG의 개념을 이해하는 것에서 나아가 Spring Boot와 Spring AI를 활용하여 실제 RAG 시스템을 구현하는 과정을 학습하였다. 단순히 AI에게 질문을 전달하는 것이 아니라 문서를 Vector Database에 저장하고, 문서를 검색하고, 검색된

2026년 8월 5일
·
0개의 댓글
·

26/07/30 IL(I Learned) - RAG (1)

RAG(Retrieval-Augmented Generation)와 Vector Database의 이해 및 Spring AI 기반 RAG 구조 학습 이번에는 기존의 생성형 AI(ChatGPT, Gemini 등)가 가지고 있는 한계를 해결하기 위한 RAG(Retrieva

2026년 8월 5일
·
0개의 댓글
·

26/07/29 IL(I Learned) - Spring AI 2 (2)

Spring Data JPA를 활용하여 AI Chat Memory를 데이터베이스에 저장하고 관리하는 기능을 구현하였다. 이전에는 MyBatis를 사용하여 SQL을 직접 작성하고 Mapper를 통해 데이터베이스를 제어하였다면, 이번에는 객체(Entity)를 중심으로 데이

2026년 7월 30일
·
0개의 댓글
·

26/07/29 IL(I Learned) - Spring AI 2 (1)

Spring AI의 Chat Memory 기능을 MyBatis와 연동하여 AI와 사용자의 대화 내용을 데이터베이스에 저장하고, 이전 대화 내용을 다시 불러와 대화를 이어갈 수 있는 기능을 구현하였다.기존에는 AI와의 대화가 한 번의 요청과 응답으로 끝나는 구조였다면,

2026년 7월 30일
·
0개의 댓글
·

26/07/28 IL(I Learned) - Spring AI

Spring AI를 활용하여 다양한 생성형 AI 모델과 통신하는 방법을 학습하였다. 하나의 AI 모델만 사용하는 것이 아니라 Groq, Google Gemini, NVIDIA NIM과 같은 여러 LLM(Large Language Model)을 하나의 프로젝트에서 관리하

2026년 7월 30일
·
0개의 댓글
·

26/07/27 IL(I Learned) - JPA 3

이번 프로젝트에서는 Spring Data JPA의 기본 CRUD 기능을 넘어 Querydsl, 페이징(Pageable), Auditing, 트랜잭션 전파(Propagation), 롤백 정책 등 JPA의 고급 기능을 학습하였다. 또한 Repository를 인터페이스와 구

2026년 7월 30일
·
0개의 댓글
·

26/07/24 IL(I Learned) - JPA 2

단순한 CRUD 구현을 넘어 JPA의 연관관계 매핑과 영속성 컨텍스트를 활용하는 방법을 학습하였다. 반려동물 병원 예약 시스템을 구현하면서 @OneToMany, @ManyToOne, @OneToOne과 같은 연관관계 어노테이션을 적용하고, 트랜잭션과 더티 체킹, Sof

2026년 7월 30일
·
0개의 댓글
·

26/07/23 IL(I Learned) - JPA

이전 MyBatis 프로젝트에서 사용하던 Mapper와 XML을 이용한 데이터 접근 방식 대신 Spring Data JPA를 이용하여 데이터를 관리하였다.이전에는 SQL을 직접 작성하고 MyBatis가 SQL과 객체를 연결해 주는 구조였다면, 이번 프로젝트에서는 JPA

2026년 7월 29일
·
0개의 댓글
·

26/07/23 IL(I Learned) - MyBatis 3

이번 MyBatis3 프로젝트에서는 이전 MyBatis2 프로젝트에서 학습했던 1:N(회원-주문) 관계를 확장하여 학생(Student)과 강의(Course)의 다대다(M:N) 관계를 구현하였다.기존 프로젝트에서는 하나의 회원이 여러 주문을 가지는 구조였기 때문에 하나의

2026년 7월 27일
·
0개의 댓글
·