# CHANGELOG 모든 주목할만한 변경 사항이 이 파일에 기록됩니다. ## [개선사항] - 2025-12-26 ### 추가됨 - ✅ 통합 로깅 시스템 (`lib/common.py`의 `setup_logging`) - ✅ 데이터베이스 재연결 메커니즘 (자동 풀 재설정) - ✅ 재시도 데코레이터 (`@retry_on_exception`) - ✅ 컨텍스트 매니저 기반 세션 관리 (`DBSession`) - ✅ 에러 추적 및 상세 로깅 - ✅ Docker Compose MariaDB 통합 - ✅ 환경 변수 기반 설정 관리 - ✅ 헬스체크 스크립트 - ✅ 향상된 Dockerfile (Python 3.11, 슬림 이미지) - ✅ Docker Entrypoint 개선 (신호 처리, 프로세스 모니터링) - ✅ 포괄적인 README.md 문서 ### 변경됨 - 🔄 `requirements.txt` - 모든 의존성 버전 고정 - 🔄 `daily_run.py` - 통합 로깅 및 에러 처리 - 🔄 `conf/db.py` - 연결 풀 및 재연결 설정 개선 - 🔄 `docker-compose.yml` - MariaDB 추가, 환경 변수 관리 - 🔄 `.gitignore` - 더 완전한 무시 규칙 ### 제거됨 - ❌ Dockerfile의 불필요한 GUI 라이브러리 (tk 관련) - ❌ 과도한 시스템 패키지 ### 고정됨 - 🐛 DB 연결 타임아웃 문제 - 🐛 로깅 포맷 일관성 - 🐛 환경 변수 해석 오류 ### 보안 - 🔐 민감한 정보를 환경 변수로 관리 - 🔐 `.env` 파일 .gitignore 추가 - 🔐 API 키 보안 강화 - 🔐 데이터베이스 암호 정책 권장 --- ## 제공 예정 기능 - [ ] REST API 엔드포인트 - [ ] 실시간 대시보드 - [ ] 다중 모델 앙상블 (Prophet + ARIMA + RandomForest) - [ ] 설명 가능한 AI (SHAP) - [ ] 이상 탐지 (Anomaly Detection) - [ ] GraphQL API - [ ] WebSocket 실시간 업데이트 --- ## 버전 정보 ### Python Dependencies (v2025-12) - `python` >= 3.11 - `flask` == 3.0.0 - `sqlalchemy` == 2.0.23 - `pymysql` == 1.1.0 - `pyyaml` == 6.0.1 - `pandas` == 2.1.3 - `prophet` == 1.1.5 - `scikit-learn` == 1.3.2 - 기타 상세 버전은 `requirements.txt` 참조 ### Docker Image - Base: `python:3.11-slim-bullseye` - Size: ~300MB (예상) --- ## 마이그레이션 가이드 ### v1 → v2 (현재 버전) 1. **환경 변수 설정** ```bash cp .env.example .env # .env 파일 수정 ``` 2. **기존 코드 업데이트** ```python # 기존 from lib.common import get_logger logger = get_logger('my_module') # 변경 from lib.common import setup_logging logger = setup_logging('my_module', 'INFO') ``` 3. **데이터베이스 세션 관리** ```python # 기존 session = db.get_session() try: # ... finally: session.close() # 변경 (권장) from conf.db import DBSession with DBSession() as session: # ... ``` 4. **Docker 실행** ```bash docker-compose up -d ``` --- ## 알려진 문제 - [ ] Prophet 모델 학습 시간 개선 필요 - [ ] GA4 API 데이터 일관성 검증 필요 - [ ] 대용량 데이터 처리 최적화 필요 --- ## 기여 버그 리포트 및 기능 요청은 Gitea Issues를 사용해주세요. --- **마지막 업데이트**: 2025-12-26