# 어제 무엇을 했나요?
- 1. 테이블명세서 갈아엎기
- 2. ERD 전면 수정
- 3. 요구사항 정의서 기능설명 추가
# 오늘은 무엇을 할 것인가요?
- 1. Readme.md에 프로젝트 규칙 명명
- 2. 프로젝트 세팅
- 3. 스웨거 처리 고민중
# 진행하는데 어려운 부분(도움이 필요한 부분)이 있나요?
오늘 학습 내용 ✅
github에 탬플릿 적용
- .github라는 이름의 특수 리포지토리를 만들어서 적용
이슈 탬플릿
- .github/ISSUE_TEMPLATE/ 폴더 만들기
코드 포메터
ruff / black / mypy 이용 추천 받음
- Black: 코드 스타일 자동 정렬 ("그냥 이걸로 통일해" 끝판왕)
- Ruff: 엄청나게 빠른 린터 (오류, 안 쓰는 변수, import 정렬 등 잡아줌)
- Mypy: 타입 체크 (변수 타입 오류 잡아줌)
pip install black ruff mypy django-stubs
진행방법
1. 프로젝트 받기
git clone https://github.com/~
cd oz_playtype
2. .env 파일을 프로젝트 최상위 폴더(oz_playtype/)에 넣기
3. 로컬 의존성 설치
poetry install
4. 서버 실행
docker-compose up --build
코드 포매터
# 1. 린트 및 Import 정리 (자동 수정)
poetry run ruff check . --fix
# 2. 코드 포맷팅 (자동 수정)
poetry run black .
# 3. 타입 검사
poetry run mypy .
프로젝트 시작
poetry new my_project
cd my_project
poetry config virtualenvs.in-project true
poetry add django djangorestframework
poetry shell
새롭게 알게된 내용 ✅
오늘 발생한 문제(발생 했다면) ✅
[ 🔴 문제: Lock 파일 불일치 ]
poetry install 시 pyproject.toml changed significantly... 에러 발생.
[ 🟡 원인: pyproject.toml(설정서)의 내용은 변경되었는데, poetry.lock(확정된 버전 목록) 파일이 갱신되지 않아 두 파일의 내용이 서로 다름. ]
[ 🔵 해결: poetry lock 명령어로 Lock 파일을 최신 상태로 갱신함 ]
[ 🔴 문제: 파이썬 버전 충돌 (Dependency Hell) ]
Lock 갱신 중 django-environ requires Python <4 에러 발생.
[ 🟡 원인: 프로젝트 설정은 ">=3.12"(4.0도 포함)인데, 라이브러리는 "4.0 미만만 지원"해서 조건이 충돌함. ]
[ 🔵 해결: pyproject.toml의 requires-python 값을 ">=3.12,<4.0"으로 수정하여 4.0 미만으로 상한선을 그어줌 ]
[ 🔴 문제: 의존성 설치 마지막에 Error: The current project could not be installed 발생 ]
[ 🟡 원인: Poetry는 기본적으로 현재 폴더를 '설치 가능한 라이브러리'로 인식하는데, 웹 서비스(Django) 구조상 패키지화할 파일이 없어서 에러 발생]
[ 🔵 해결: pyproject.toml에 [tool.poetry] package-mode = false를 추가하여 라이브러리 모드를 끔 ]