개발 환경 설정 가이드
프로젝트: 블로그 홈판 노출 및 수익 극대화 자동화
버전: v3.0
최후 업데이트: 2026-05-12
개발 시작: 2026-05-20
1. 환경 준비
1.1 Python 설치
# Python 3.11+ 확인
python --version
# 또는
python3 --versionmacOS/Linux 사용자: python3 사용 권장
Windows 사용자: PowerShell에서 python 사용
1.2 프로젝트 디렉토리 구조
20-Personal/projects/블로그-홈판-노출-수익화-자동화-프로젝트/
├── README.md (프로젝트 개요)
├── requirements.txt (의존성)
├── DEV_SETUP.md (이 파일)
├── .env.example (환경 변수 템플릿)
├── .env (실제 API 키 - gitignore 필수)
│
├── src/
│ ├── __init__.py
│ ├── main.py (메인 엔트리포인트)
│ │
│ ├── modules/
│ │ ├── __init__.py
│ │ ├── module_1_subject.py (주제 선정)
│ │ ├── module_2_title.py (제목 생성)
│ │ ├── module_3_content.py (본문 생성)
│ │ ├── module_4_image.py (이미지 URL 추천)
│ │ ├── module_5_hashtag.py (해시태그)
│ │ └── module_6_link.py (제휴 링크)
│ │
│ ├── utils/
│ │ ├── __init__.py
│ │ ├── claude_api.py (Claude API 래퍼)
│ │ ├── web_crawler.py (Selenium 크롤러)
│ │ ├── image_search.py (Unsplash/Pexels API)
│ │ ├── quality_filter.py (품질 검증)
│ │ └── logger.py (로깅)
│ │
│ └── config/
│ ├── __init__.py
│ ├── settings.py (설정 파일)
│ └── prompts.py (Claude 프롬프트 템플릿)
│
├── data/
│ ├── cache/ (로컬 캐시, gitignore)
│ └── logs/ (실행 로그)
│
├── tests/
│ ├── __init__.py
│ ├── test_modules.py
│ └── test_utils.py
│
└── docs/
├── API_SETUP.md (API 키 설정 가이드)
├── TECH_STACK_VALIDATION.md (기술 스택 검증 결과)
└── WORKFLOW.md (일일 워크플로우 가이드)
1.3 가상 환경 설정
# 가상 환경 생성
python -m venv venv
# 활성화
# Windows:
venv\Scripts\activate
# macOS/Linux:
source venv/bin/activate
# 의존성 설치
pip install -r requirements.txt2. API 키 설정
2.1 환경 변수 파일 생성
# .env.example 복사
cp .env.example .env2.2 필수 API 키
# Anthropic Claude API
ANTHROPIC_API_KEY=sk-ant-...
# Unsplash API (이미지 검색)
UNSPLASH_ACCESS_KEY=your-access-key
UNSPLASH_SECRET_KEY=your-secret-key
# Pexels API (이미지 검색)
PEXELS_API_KEY=your-api-key
# Google API (선택: Trends, Custom Search)
GOOGLE_API_KEY=your-api-key
GOOGLE_SEARCH_ENGINE_ID=your-engine-id
# Naver API (선택: 상품 검색)
NAVER_CLIENT_ID=your-client-id
NAVER_CLIENT_SECRET=your-secret
# Coupang API (선택: 제휴)
COUPANG_API_KEY=your-api-key
COUPANG_SECRET_KEY=your-secret
# 개발/배포 모드
ENVIRONMENT=development # development | production
DEBUG=true2.3 API 승인 신청 (Immediate - 2026-05-20)
| API | 서비스 | 상태 | 일정 |
|---|---|---|---|
| Anthropic Claude | LLM | ✅ 기존 사용 | - |
| Unsplash | 이미지 검색 | ⏳ 신청 필요 | 2026-05-15 |
| Pexels | 이미지 검색 | ⏳ 신청 필요 | 2026-05-15 |
| Google Trends | 트렌드 | ⏳ 신청 필요 | 2026-05-18 |
| Naver API | 상품 검색 | ⏳ 신청 필요 | 2026-05-18 |
3. 기술 스택 검증 (2026-05-20 ~ 2026-05-25)
3.1 검증 항목
[ ] Anthropic Claude API 호출 속도 (1000자 생성 시간)
[ ] Unsplash API 응답 속도 (100회 요청)
[ ] Pexels API 응답 속도 (100회 요청)
[ ] Selenium 크롤링 안정성 (네이버 홈판 10회)
[ ] 이미지 라이선스 검증 정확도 (50개 샘플)
[ ] Claude Vision 이미지 평가 속도 (선택)
[ ] 데이터베이스 성능 (SQLite 읽기/쓰기 1000회)
[ ] 메모리 사용량 (월 50편 시뮬레이션)
3.2 검증 스크립트
경로: src/validation/tech_stack_test.py
# 구현 일정: 2026-05-20 ~ 2026-05-22
# 테스트 실행: python -m tests.test_modules테스트 항목:
- Claude API 비용 계산
- 이미지 검색 응답 속도 (평균, 최대, 최소)
- 크롤링 안정성 (성공률)
- 라이선스 검증 정확도
- 데이터베이스 쿼리 성능
4. 개발 환경 체크리스트
Phase 0: 초기 설정 (2026-05-12 ~ 2026-05-19)
- Python 3.11+ 설치
- 가상 환경 구성
- requirements.txt 의존성 설치
-
.env파일 생성 및 API 키 입력 - Git 레포지토리 초기화
-
.gitignore설정 (.env,venv/,data/,__pycache__)
Phase 1: 기술 스택 검증 (2026-05-20 ~ 2026-05-25)
- API 승인 완료 (Unsplash, Pexels, Google Trends)
- Claude API 호출 테스트
- 이미지 API 테스트 (Unsplash + Pexels)
- Selenium 크롤링 테스트
- 성능 측정 및 문서화
- 비용 예측 산출
Phase 2: 개발 환경 구성 (2026-05-26 ~ 2026-05-31)
- 디렉토리 구조 생성
- 모듈별 스켈레톤 코드 작성
- 설정 파일 (config.py, prompts.py)
- 유틸리티 함수 작성 (Claude API, 크롤러)
- 로깅 설정
- 데이터베이스 스키마 정의 (SQLite)
Phase 3: 테스트 환경 (2026-06-01 ~ 2026-06-07)
- 단위 테스트 작성 (각 모듈)
- 통합 테스트 작성 (Module 1 → 2 → 3 순차)
- Mock 데이터 준비
- CI/CD 설정 (GitHub Actions)
5. 실행 방법
5.1 개발 모드 실행
# 가상 환경 활성화
source venv/bin/activate # macOS/Linux
# 또는
venv\Scripts\activate # Windows
# 메인 스크립트 실행
python -m src.main --mode=dev --module=1
# 특정 모듈만 테스트
python -m pytest tests/test_modules.py::TestModule1 -v5.2 자동화 스케줄 실행 (프로덕션)
# 프로덕션 모드
python -m src.main --mode=prod --schedule=daily
# 로그 확인
tail -f data/logs/$(date +%Y-%m-%d).log6. 트러블슈팅
6.1 API 관련 이슈
| 문제 | 원인 | 해결 |
|---|---|---|
401 Unauthorized | API 키 만료 | .env 파일 확인 및 갱신 |
429 Too Many Requests | 요청 초과 | 요청 간격 증가 (1초 → 2초) |
400 Bad Request | 잘못된 파라미터 | 프롬프트/검색어 인코딩 확인 |
6.2 크롤링 관련 이슈
| 문제 | 원인 | 해결 |
|---|---|---|
| Selenium 타임아웃 | 네트워크 지연 | timeout 값 증가 (10초 → 30초) |
| 이미지 라이선스 검증 실패 | API 응답 지연 | 재시도 로직 추가 |
6.3 메모리/성능 이슈
| 문제 | 원인 | 해결 |
|---|---|---|
| 메모리 누수 | 캐시 미정리 | data/cache/ 정기 정리 |
| 느린 쿼리 | 데이터베이스 인덱스 부족 | SQLite 인덱스 생성 |
7. 다음 단계
2026-05-20 (개발 시작)
-
기술 스택 검증
- API 속도/비용 측정
- 성능 임계값 설정
- 문서화:
docs/TECH_STACK_VALIDATION.md
-
API 키 설정 완료
- Unsplash, Pexels 승인 확인
.env파일 완성
-
개발 환경 구성
- Python 프로젝트 디렉토리 생성
- 모듈별 스켈레톤 작성
2026-06-01 (Module 1-2 개발)
- Module 1: 주제 선정 자동화
- Module 2: 제목 자동 생성
- A/B 테스트 프레임워크
참고: 모든 개발 진행 상황은 20-Personal/log.md에 기록합니다.