📌 NestJS + Prisma + Next.js로 만드는 웹 애플리케이션 첫걸음 - 애자일 쇼핑몰 프로젝트 - 데이터 흐름 및 아키텍처 개요1. 데이터 흐름이란?데이터 흐름(Data Flow)이란 사용자가 애플리케이션을 이용하는 과정에서 데이터가 이동하는 경로를 의미합니다.쇼핑몰 애플리케이션에서는 사용자 → 프론트엔드 → 백엔드 → 데이터베이스의 흐름으로 데이터가 이동하며, 각 단계에서 데이터가 어떻게 처리되는지 이해하는 것이 중요합니다.✅ 데이터 흐름을 명확하게 정의하면:API 설계 및 데이터베이스 모델링이 수월해짐백엔드와 프론트엔드 간의 역할을 분명히 구분할 수 있음확장성과 유지보수성이 높은 시스템을 구축할 수 있음2. 쇼핑몰 프로젝트의 데이터 흐름2.1. 사용자 요청 및 응답 흐름💡 사용자가 ..
🚀 PostgreSQL Dump 데이터를 다운로드할 수 있는 사이트 추천 & 이유 🚀PostgreSQL 데이터를 연습, 분석, 테스트, AI 학습에 활용할 수 있도록 최고의 데이터셋 제공 사이트를 추천합니다!✅ 무료 & 공개 데이터✅ 실제 서비스에서 사용하는 구조 & 대용량 지원✅ SQL 쿼리 최적화 & AI 모델 학습용 활용 가능🔹 1. PostgreSQL 공식 샘플 데이터 (pg_dump 지원)✅ 추천 이유:PostgreSQL 공식 샘플 데이터pg_dump 및 psql 명령어로 쉽게 복원 가능TPC-H 벤치마크 데이터 포함 (쿼리 최적화 연습용)🔗 사이트:📌 https://www.postgresql.org/ftp/projects/pgFoundry/dbsamples/📌 설치 방법wget ht..
📌 PostgreSQL로 시작하는 데이터베이스 관리: 이론과 실습1.1 PostgreSQL이란? (특징 및 아키텍처)PostgreSQL은 강력한 기능과 확장성을 갖춘 오픈소스 관계형 데이터베이스 관리 시스템(RDBMS)입니다.많은 기업과 개발자들이 PostgreSQL을 선택하는 이유는 표준 SQL 준수, 뛰어난 확장성, ACID 트랜잭션 지원, JSON 및 NoSQL 기능 제공, 강력한 보안성 때문입니다.이번 글에서는 PostgreSQL의 개념과 특징, 기본적인 아키텍처를 PostgreSQL 공식 문서를 기반으로 살펴보겠습니다.1.1.1 PostgreSQL 개요✅ PostgreSQL이란?PostgreSQL(포스트그레SQL)은 객체-관계형 데이터베이스 관리 시스템(ORDBMS, Object-Relatio..
로컬 LLM + RAG 기반 AI 채팅봇 만들기8.1 프로젝트 개발 과정 정리이번 장에서는 로컬 LLM과 RAG 기반 AI 챗봇 프로젝트의 개발 과정과 주요 기술을 정리합니다.또한, 프로젝트를 진행하면서 배운 점과 개선할 점을 정리하여향후 프로젝트 확장 및 최적화 방향을 고민해보겠습니다.1) 프로젝트 개요 및 목표✅ 프로젝트 목표클라우드가 아닌 로컬 환경에서 실행되는 LLM 기반 AI 챗봇 개발RAG(Retrieval-Augmented Generation) 기술을 활용한 검색 기반 보강 생성 적용WebSocket을 통한 실시간 채팅 지원PostgreSQL 및 FAISS를 활용한 대화 기록 및 벡터 검색 엔진 구축SvelteKit을 활용한 사용자 친화적인 UI 구현 및 배포✅ 주요 사용 기술 스택카테고리 ..
로컬 LLM + RAG 기반 AI 채팅봇 만들기7.2 데이터베이스 성능 최적화이제 AI 챗봇의 데이터베이스 성능을 최적화하여 쿼리 실행 속도를 향상시키겠습니다.PostgreSQL을 기반으로 쿼리 성능 튜닝, 캐싱, 파티셔닝, 인덱스 최적화 등의 기법을 적용하여대규모 데이터 환경에서도 원활한 서비스를 제공할 수 있도록 최적화합니다.1) 데이터베이스 성능 저하 요인 분석✅ 데이터베이스 성능이 저하되는 주요 원인대량의 대화 기록 저장 및 조회 시 응답 속도 저하비효율적인 SQL 쿼리 및 잘못된 인덱스 설정동일한 요청이 반복적으로 발생하면서 불필요한 DB 부하 발생대화 기록이 지속적으로 증가하면서 테이블 크기 비대화2) 쿼리 성능 튜닝 (EXPLAIN ANALYZE 활용)✅ ① 느린 쿼리 분석PostgreSQL..
로컬 LLM + RAG 기반 AI 채팅봇 만들기6.1 백엔드 Docker 컨테이너화 및 배포이제 Ktor 기반의 백엔드 서버를 Docker 컨테이너로 패키징하여 배포 가능하도록 설정합니다.Docker를 활용하면 환경에 관계없이 쉽게 배포하고, 운영 중인 서버를 일관성 있게 유지할 수 있습니다.1) Docker를 사용하는 이유✅ Docker 배포의 장점환경 일관성 유지 → 운영 체제(OS)와 관계없이 동일한 환경에서 실행 가능간편한 배포 → 컨테이너 이미지를 사용하면 배포가 용이확장성 향상 → 여러 컨테이너를 병렬 실행하여 성능 확장 가능2) Docker 설치 및 기본 설정✅ ① Docker 설치Windows / Mac: Docker 공식 사이트에서 설치Linux (Ubuntu):sudo apt updat..
로컬 LLM + RAG 기반 AI 채팅봇 만들기5.1 챗봇 API 설계이제 백엔드와 프론트엔드가 WebSocket을 통해 실시간으로 통신할 수 있도록 구현했습니다.이번 단계에서는 RESTful API를 활용하여 챗봇 기능을 확장하고, API 문서화를 진행하겠습니다.1) 챗봇 API 설계 개요✅ 왜 REST API를 추가해야 하는가?WebSocket은 실시간 메시지 전송에 적합하지만 대화 이력 조회 및 관리 기능이 부족RESTful API를 통해 대화 이력을 저장하고, 특정 세션의 대화를 불러오는 기능 추가API 문서화를 진행하여 프론트엔드 및 외부 시스템과의 연동을 쉽게 지원2) API 엔드포인트 설계📌 챗봇 관련 API 엔드포인트HTTP 메서드 엔드포인트 설명POST/api/chat/send메시지 전..
로컬 LLM + RAG 기반 AI 채팅봇 만들기3.5.3 데이터 정규화 및 성능 최적화이제 PostgreSQL을 활용하여 대화 기록을 저장하고 조회하는 기능을 구현했습니다.하지만 데이터가 많아질수록 저장 및 검색 속도가 느려질 수 있기 때문에 성능 최적화가 필요합니다.이번 단계에서는 데이터 정규화 및 성능 최적화 기법을 적용하여보다 빠르고 효율적인 대화 기록 관리 시스템을 구축하겠습니다.1) 데이터 정규화란?데이터 정규화(Normalization)는 중복을 최소화하고 데이터 일관성을 유지하기 위한 데이터베이스 설계 기법입니다.이를 통해 데이터 저장 공간을 절약하고 검색 속도를 최적화할 수 있습니다.✅ 기존 대화 기록 테이블의 문제점user_id가 여러 테이블에 중복 저장됨 → 사용자 테이블과 참조 관계 ..
로컬 LLM + RAG 기반 AI 채팅봇 만들기3.5.2 대화 이력 저장 및 조회 API 구현이제 PostgreSQL에 저장된 대화 이력을 API를 통해 관리할 수 있도록대화 기록을 저장하고 조회하는 API를 구현하겠습니다.1) API 설계 개요✅ API에서 제공할 기능1️⃣ 대화 저장하기사용자가 WebSocket을 통해 메시지를 보낼 때 자동으로 DB에 저장2️⃣ 특정 세션의 대화 이력 조회사용자가 특정 세션에서 진행한 대화 목록을 조회3️⃣ 사용자별 전체 대화 세션 목록 조회사용자가 생성한 모든 대화 세션 리스트를 불러오기2) API 엔드포인트 설계HTTP 메서드엔드포인트설명POST/chat/save대화 메시지 저장GET/chat/{sessionId}특정 대화 세션의 대화 기록 조회GET/chat/s..
로컬 LLM + RAG 기반 AI 채팅봇 만들기3.5 PostgreSQL 연동 및 대화 기록 저장3.5.1 대화 기록 데이터 모델 설계AI 챗봇에서 대화 기록을 저장하는 기능은 매우 중요합니다.이 기능을 통해 사용자의 질문과 AI의 응답을 데이터베이스에 저장하고,향후 대화 분석, 추천 시스템 개선, 개인화된 서비스 제공 등에 활용할 수 있습니다.이번 단계에서는 PostgreSQL을 사용하여 대화 기록을 저장할 데이터 모델을 설계합니다.1) 대화 기록을 저장해야 하는 이유✅ AI 챗봇의 대화 기록 저장 필요성사용자 경험 개선 → 과거 대화를 기반으로 더 나은 AI 응답 제공 가능대화 이력 분석 → 인기 있는 질문 패턴 분석, 사용자 성향 파악 가능데이터 활용 확장성 → 추천 시스템, 피드백 학습, 질의응답..
- Total
- Today
- Yesterday
- REACT
- Webpack
- Ktor
- Docker
- nodejs
- nextJS
- 로컬LLM
- Python
- kotlin
- AI챗봇
- 챗봇개발
- til
- rag
- Project
- fastapi
- 개발블로그
- 백엔드개발
- PostgreSQL
- 웹개발
- llm
- 프론트엔드
- LangChain
- Page
- 백엔드
- 리액트
- github
- Next.js
- babel
- 관리자
- 페이지
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |