✅ 2025년 3월 27일 작업 요약 - `My_Travel_App` (v2 브랜치 기준)

와호맨·2025년 3월 27일

랜덤 여행지

목록 보기
1/4

📌 1. Git 브랜치 전략 정리 & 병합 실습

  • master는 Render에 배포된 상태로 유지
  • v2는 기능 추가 및 Docker 설정 등 실험용 브랜치로 사용
  • git merge master로 master의 최신 코드 (예: .env 기반 API 통신 방식)를 v2로 병합
  • .gitignore, .pyc 등 충돌 해결 경험
  • 결론: master는 안정 배포용, v2는 테스트 및 기능 개발용으로 브랜치 전략 분리

📌 2. Docker 환경 구성 및 오류 해결

  • v2에서 백엔드/프론트 Docker 설정 완료 (docker-compose.yml, Dockerfile)
  • pip install -r requirements.txt 오류 발생 → 원인은 requirements.txt 유실
    • pip freeze > requirements.txt로 복구하고 Git에 커밋
  • ModuleNotFoundError: No module named 'routers' 해결
    • from routersfrom app.routers로 수정 (절대경로 import 적용)
  • from datafrom app.data로 변경
  • Python 패키지 인식 위해 __init__.py 파일들 추가

📌 3. Render 배포 구조 정리

  • master: 기존 Render 배포 서비스로 유지 (Docker 사용 X)
  • v2: Render에 새로운 서비스로 등록 → Docker 기반 배포 테스트 완료
  • Docker를 쓰는 이유, 쓰지 않을 때와의 차이점 정리:
    • Docker는 전체 실행환경을 직접 구성 → 프론트 + 백엔드 동시 관리 가능
    • 코드 기반 배포보다 유연하지만 설정이 복잡함

📌 4. API 통신 문제 분석 및 해결 방향 수립

  • 문제: 프론트가 API 호출 시 localhost를 참조해서 Render 상에서 셔플 기능이 작동 안 함
  • 원인: API_BASE_URL = "http://localhost:8000" 하드코딩
  • 해결 방향:
    • .env.production 파일 사용
    • process.env.REACT_APP_API_URL 방식으로 수정
    • Render 환경변수 설정에서 API 주소 등록 필요

📌 5. 전체 개발 흐름 이해 및 실무 감각 향상

  • 절대경로 import로 Docker, 로컬, Render 모두에서 깨지지 않는 코드 구조 구축
  • Git 브랜치 병합, 충돌 해결, 파일 추적 관리 실습
  • Render의 코드 기반 배포 vs Docker 기반 배포 차이 명확히 이해
  • .env 활용으로 환경별 실행 방식 정리하는 법 습득

✅ 오늘의 키워드

브랜치 전략, Docker, requirements.txt, 절대경로 import, Render 배포,
.env.production, API 통신, 프론트-백 통합, 충돌 해결, 셔플 기능 디버깅


profile
AI개발자

0개의 댓글