분류 전체보기
-
EC2 + Docker Compose 배포 중 겪은 문제와 해결 방법 (feat. React, Django, MySQL)Why Not SW CAMP 5기/IFITV프로젝트 2025. 8. 19. 20:05
Docker로 로컬에서 잘 돌던 프로젝트, EC2에 배포하자마자 프론트에서 서버 요청은 실패하고, 서버는 DB에 연결이 안 되고... 무슨 일이 일어난 걸까?이번 포스팅에서는 React + Django + MySQL 프로젝트를 EC2에 Docker Compose로 배포하는 과정에서 겪은 문제와 해결 과정을 인프라 초심자도 이해할 수 있도록 자세히 풀어보겠습니다.프로젝트 구조 간단 소개프론트엔드: React (SPA)백엔드: Django (REST API)DB: MySQL (RDS 사용)배포 환경: AWS EC2 + Docker Compose문제 발생 ⚠️ 증상 1: 프론트 → 백엔드 요청 실패브라우저 콘솔에서 CORS 에러 또는 502 Bad Gateway 발생⚠️ 증상 2: 백엔드 → DB 연결 실패D..
-
IFITV 프로젝트 기록-손 제스처 인식부터 프로필 자동 진입까지 (6/16~6/20)Why Not SW CAMP 5기/IFITV프로젝트 2025. 6. 25. 11:50
✅ 6/16: 기존 구조 분석 및 MediaPipe 통합 준비기존 hand_recognition.py는 Flask에서 OpenCV + MediaPipe를 사용해 로컬 웹캠 직접 접근하는 구조.정상적으로 손 모양 인식은 되지만, cv2.imshow() 창이 뜨지 않아 디버깅 진행.보안/UX 문제로 React에서 카메라 켜고 → MediaPipe로 손 관절 추출 → Flask에 좌표 전송 구조로 변경하기로 결정.가상환경 세팅: IFITV-React/backend 기준으로 Flask 서버 실행, 필요한 라이브러리 설치:pip install flask opencv-python mediapipe scikit-learnnpm install @mediapipe/hands @mediapipe/drawing_utils✅..
-
IFITV 프로젝트 기록 🧠- 추천 시스템 성능 개선부터 시청 기록 기반 추천까지Why Not SW CAMP 5기/IFITV프로젝트 2025. 6. 11. 16:15
🔧 사이드 네브바 & 찜 기능 추가 (0605~0609)처음에는 사용자 편의를 위해 사이드 네브바에서 VOD 필터링 기능을 구현했습니다. 이후 사용자 맞춤 경험 강화를 위해 "My List" 기능(찜 기능)을 추가했어요. 유저가 콘텐츠에 ‘좋아요’를 누르면, My List에 저장되고, 이후 추천에도 반영됩니다.🧠 추천 API 리팩터링의 시작 (0610~)추천 API가 많아지면서 구조가 복잡해졌고, 성능 이슈도 점점 도드라졌습니다. 특히 liked_based_recommend API는 실행 시간만 10.19초가 걸릴 정도였어요. 문제는 다음과 같았습니다:항목 기존 방식 문제점유사도 계산TF-IDF + KoBERT 결합콘텐츠 1개마다 수동 반복Boosting 방식장르 겹침 개수로 수동 보정set 연산 반..
-
[5월 4주차-5/27]ChatGPT와 뉴스 검색 챗봇 만들기: 자연어 처리 실전 프로젝트Why Not SW CAMP 5기/수업 기록 2025. 5. 27. 11:26
요즘은 ChatGPT를 활용한 다양한 자연어 처리(NLP) 응용 서비스가 쏟아지고 있다. 오늘 수업에서는 뉴스 검색 챗봇이라는 흥미로운 프로젝트를 직접 구현해보며, OpenAI의 GPT API를 활용해 어떻게 실제 서비스를 만들 수 있는지 배웠다.✅ 프로젝트 개요이 챗봇은 사용자의 질문을 이해한 뒤, 뉴스API를 통해 관련 뉴스를 검색해주는 서비스다. 사용자는 "요즘 AI 관련 이슈 알려줘"와 같이 자연어로 질문하면, 챗봇은 적절한 뉴스 제목과 링크를 응답으로 보여준다.🔧 사용 기술 및 환경언어: Python 3.10+API: OpenAI GPT API, NewsAPI웹 크롤링: BeautifulSoup인터페이스: Gradio (간단한 웹 UI)실행 환경: Google Colab / Jupyter No..
-
[5월 4주차-5/26]손글씨 인식부터 배경 제거까지, OCR 기반 이미지 처리 앱 만들기!Why Not SW CAMP 5기/수업 기록 2025. 5. 26. 15:02
손글씨 인식(OCR) 및 이미지 배경 제거 기능을 직접 구현해보는 프로젝트를 진행했습니다. Hugging Face의 TrOCR 모델과 Segment Anything Model(SAM)을 활용하여 실제 작동하는 웹 애플리케이션을 만드는 과정이었습니다.✅ 프로젝트 개요손글씨 이미지 업로드 및 인식 (OCR)캔버스에서 직접 손글씨 입력 후 인식이미지에서 객체 선택 후 배경 제거모든 기능은 Gradio 웹 인터페이스로 확인 가능1. 손글씨 인식 앱: TrOCR 기반 OCR 모델 사용📦 환경 설정 및 예제 데이터 다운로드Colab에서 실행을 위한 패키지 설치 및 예제 손글씨 이미지들을 다운로드했습니다.!pip install -r requirements-colab.txt!wget [손글씨 이미지들 다운로드]🔧 ..
-
[5월 3주차-5/22]🧠 LangChain과 GPT-4o를 활용한 대화형 AI 시스템 구축 실습Why Not SW CAMP 5기/수업 기록 2025. 5. 22. 14:36
오늘은 OpenAI의 최신 모델 gpt-4o와 LangChain을 활용하여, 다양한 대화형 AI 시스템 구축 실습을 진행했습니다. 주요 학습 포인트는 다음과 같습니다:🔧 1. LangChain + OpenAI 기본 사용법가장 먼저, langchain_openai를 활용한 기본적인 대화 구현을 실습했습니다.from langchain_openai import ChatOpenAIfrom langchain_core.messages import HumanMessagemodel = ChatOpenAI(model="gpt-4o-mini")response = model.invoke([HumanMessage(content="안녕? 나는 홍길동이야.")])이처럼 단순한 메시지 리스트를 전달하면 OpenAI 모델을 통해 ..
-
[5월 3주차-5/21]📈 GPT + Streamlit + yfinance로 주식 정보 챗봇 만들기Why Not SW CAMP 5기/수업 기록 2025. 5. 21. 11:49
✨ 목표자연어로 “애플 주가 알려줘”라고 입력하면,GPT가 스스로 종목을 파악하고, yfinance 데이터를 가져와 보여주는AI 주식 상담 챗봇을 만드는 프로젝트입니다.📁 프로젝트 구조📦 stock_chatbot_project/├── gpt_functions.py # yfinance 기반 기능 정의 (시간, 주가, 추천 등)├── stock_info_streaming.py # Streamlit 앱 실행 및 GPT와 통합 처리├── yfinance.py # yfinance 기본 테스트 코드 (연습용)└── .env # OpenAI API 키 저장1. yfinance.py — 주식 데이터 확인용 연습 코드import yfi..
-
[5월 3주차-5/20(2)]🎙️ Whisper + GPT-4로 회의록 자동 생성 시스템 만들기 (요약부터 교정, 워드 저장까지)Why Not SW CAMP 5기/수업 기록 2025. 5. 20. 15:19
회의 내용을 자동으로 요약하고, STT 오류를 교정한 뒤, 마크다운/워드 문서로 저장해주는 자동화 파이프라인을 Python + OpenAI API로 구현해보았습니다.🧩 프로젝트 개요회의록을 작성하다 보면 시간이 오래 걸리고, 말이 빠르거나 누가 말했는지 혼동되는 경우가 많습니다. 그래서 다음과 같은 전체 플로우를 자동화해봤습니다:STT 기반 회의록 → 요약 → 발언별 교정 → 마크다운 및 워드 저장🧪 사용 기술Pythonpandas, json, python-docxOpenAI GPT-4o APIWhisper STT (사전 생성된 CSV 사용)dotenv (API 키 관리용)🧱 전체 구조flowchart TD A[CSV 기반 회의 STT 파일 로딩] --> B[화자 이름 매핑] B --> ..