MVP 시절의 선택 Deep Dive! 블로그의 프로젝트를 시작했을 땐, 빠르게 MVP를 완성하기 위해 "나중에 고치면 될" 것들을 뒤로 미루어 진행했다. 💡비정규화: 게시물을 생성할 때 작성자의 프로필 정보(닉네임, 자기소개, 아바타)를 게시물 아이템에 복사하여 저...
블로그 전용 RAG 챗봇 프로젝트 "단순한 단어 검색을 넘어, 맥락을 이해하고 답변하는 챗봇" 1. 프로젝트 소개 Deep Dive! 블로그에 도입된 RAG 챗봇 시스템의 설계와 구현 과정을 다룹니다. 기존의 키워드 검색 만으로는 해결할 수 없었던 "구체적인 질문에 대...
Realtime Chat Project "GKE 기반의 MSA 아키텍처에서 비용 최적화를 위해 단일 VM 환경으로 마이그레이션하여 운영 비용 $0를 달성한 실시간 채팅 서비스" 1. 프로젝트 소개 본 프로젝트는 초기에 Google Kubernetes Engine (GK...
AWS Lambda Cold Start 최적화 여정 Part 3: 실행 및 검증 데이터 기반 최적화의 실제 적용 1부에서는 "첫 로딩 지연" 문제의 원인이 프론트엔드 Lambda의 긴 콜드 스타트 시간임을 데이터로 증명하고, 이를 해결하기 위한 최종 전략으로 "Lamb...
AWS Lambda Cold Start: Next.js SSR 블로그 진입 성능 개선 서론 Deep Dive! 블로그의 프론트엔드는 Next.js와 서버리스 기반으로 Lambda에 Docker이미지 형식으로 저장되어 실행된다. 프론트엔드는 Next.js App Rout...
1 이벤트 기반 아키텍처 1. 도입 배경 처음, 기술블로그를 시작하게 된 동기는 학습한 것을 기록하고자 하는 단순한 목적이었다. 그래서 기록하는데에 부족함 없는 읽고, 쓰는 기능이 완벽히 가능한 단순한 CRUD 목적으로 시작했다. 점차 기능을 추가하고 개선해나가면서 D...
AWS OpenSearch로 블로그에 한국어 검색 기능 도입 1. 목표: 서버리스 검색 엔진 구축 Deep Dive! 블로그에 한국어 검색 기능을 도입하기로 결정했다. 목표는 다음과 같이 설정했다. 기술 스택: AWS OpenSearch Service를 핵심 검색 엔진...
AI 요약 기능 도입기 1부: '비용 최적화에 대한 이야기' 처음 CRUD 기능을 첫 목표로 시작한 Deep Dive! 블로그에 많은 기능들이 추가되었다. 태그 분류, Markdown 에디터 도입, 이미지 및 외부 동영상 업로드 기능, 댓글과 좋아요 등의 소셜 기능을 ...