1. 구현 언어로 Python을 선택¶
- 상태: 승인됨
- 날짜: 2026-04-06
맥락¶
트렌드 데이터를 수집(스크래핑) → 파싱 → 저장하는 데이터 파이프라인을 새로 구축해야 한다. 오늘도하오(Hao-Day-Backend)는 Java/Spring Boot 기반이지만, 이 프로젝트는 독립 프로젝트로 운영하기로 결정했으므로 언어 선택이 자유롭다.
결정¶
Python을 구현 언어로 선택한다.
근거¶
- 스크래핑 생태계 최강: requests, BeautifulSoup, Scrapy 등 검증된 라이브러리가 풍부하다.
- 데이터 파이프라인 표준: pandas, SQLAlchemy 등 데이터 처리/저장 라이브러리가 성숙해있다.
- 빠른 소스 추가: 새 트렌드 소스를 추가할 때 가장 빠르게 프로토타이핑할 수 있다.
- boto3: RustFS(S3-compatible) 연동이 가장 잘 지원되는 언어 중 하나이다.
검토한 대안¶
| 대안 | 장점 | 선택하지 않은 이유 |
|---|---|---|
| Java (기존 스택과 통일) | 오늘도하오와 코드 공유 가능 | 스크래핑 생태계가 약하고, 간단한 파이프라인에 보일러플레이트가 과다 |
| Go | 단일 바이너리 배포, 동시성 우수 | HTML 파싱 라이브러리 부족, 데이터 파이프라인 생태계 미성숙 |
| Node.js/TypeScript | cheerio/puppeteer 등 파싱 도구 존재 | 데이터 파이프라인보다 웹 서비스에 특화, ORM 생태계 약함 |
결과¶
- Python 3.9+ 기반으로 프로젝트를 구성한다.
- 의존성 관리는
pyproject.toml(PEP 621)을 사용한다. - 오늘도하오와 코드 레벨의 공유는 없으며, 인프라(MySQL, RustFS)만 공유한다.