4 Commits (ab693d332c46267cbc3d5b4808e603a19f9f657f)

Author SHA1 Message Date
I Luk Kim b322d28bd9 feat: yfinance_plus .info 필드 지원 + company metadata 통합
- yfinance_plus submodule 업데이트 (EnhancedTicker.info property 추가)
- company_metadata_service: yfinance_plus 우선 import (fallback: vanilla yfinance)
- Dockerfile: COPY 후 site-packages에 로컬 yfinance_plus 덮어쓰기
- docs/DATA_COVERAGE.md: /company 엔드포인트 섹션 추가, /financial 변경사항 기록

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
4 months ago
I Luk Kim 0752b29a63 perf: API 성능 개선 Round 2 — 9개 항목 (P6-P14)
Tier 1:
- P6: 미들웨어 request_info 지연 추출 (성공 경로에서 body/headers 읽기 제거)
- P7: GZip 압축 미들웨어 (minimum_size=1000, ~4x 압축)
- P8: Redis maxmemory 512MB + allkeys-lru 퇴거 정책

Tier 2:
- P9: _store_ticker_data() batch upsert 전환 (ON CONFLICT DO NOTHING)
- P10: DB 커넥션 풀 증가 (pool_size=20, max_overflow=30, 환경변수 설정)
- P11: Attention 엔드포인트 Redis 캐시 추가 (@with_cache ttl=3600)

Tier 3:
- P12: Dockerfile 멀티 워커 (--workers 4, dev는 --reload 오버라이드)
- P13: aiohttp ClientSession 싱글턴 공유 (4개 파일 7곳 TCP/TLS 재사용)
- P14: Pydantic model_validate → model_construct (bulk 경로 validation 스킵)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
5 months ago
I Luk Kim e75f1e1c72 fix(deps): yfinance_plus 신규 커밋으로 업데이트 (period=None 버그 수정)
period=None으로 history() 호출 시 발생하던
AttributeError: 'NoneType' object has no attribute 'lower' 수정.

upstream 변경사항:
- HistoricalDataCache.get/store/normalize에 period=None 가드 추가
- start/end 날짜 범위 요청 시 불필요한 pickle 캐시 시도 제거

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
5 months ago
I Luk Kim 355aeb19d3 Initial commit with full project improvements
Security: config-based CORS, default secret warnings, sort_by validation
Error handling: debug logging in cache silent failures
Architecture: shared resolve_time_parameters, deduplicated logger init, unified route structure
Database: conditional SQLite/PostgreSQL engine, in-memory test DB, dialect-aware date formatting, optimized stats query
Docker: .dockerignore, pinned yfinance_plus commit
Dependencies: removed duplicates, added version upper bounds, removed unused axios
Frontend: custom _document/_error pages, adminApi client, Layout standardization, ESLint version update

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
5 months ago