Chapter 2-3 Dev Dependency 개념 및 활용 가이드(의존성 관리)
·
Fastapi
📦 Dev Dependency 개념 및 활용 가이드🧾 Dev Dependency란?개발을 진행하면서 설치한 패키지에 --group=dev 옵션을 사용했습니다. 이 dev 그룹은 개발 환경에서만 필요한 종속성을 의미합니다.📌 pyproject.toml 예시[tool.poetry.dependencies]python = "^3.13"fastapi = "^0.115.6"uvicorn = "^0.32.1"[tool.poetry.group.dev.dependencies]black = "24.10.0"ruff = "0.8.2"mypy = "1.13.0"pytest = "8.3.4"coverage = "^7.6.9"pytest-asyncio = "^0.25.0"🔍 종속성의 두 가지 유형런타임 종속성서버가 실행되..
Chapter 2-2 Coverage 설치 및 테스트 커버리지 가이드
·
Fastapi
📊 Coverage 설치 및 테스트 커버리지 가이드🛠️ Coverage 설치poetry add --group=dev coverage==7.6.9❓ Coverage란 무엇인가?단위 테스트의 품질을 측정하는 도구입니다.커버리지 없는 테스트는 반쪽짜리 테스트입니다.테스트 중에 실제로 실행된 제품 코드의 비율을 측정합니다.수식 정의:Coverage = (테스트 도중 한 번이라도 실행된 제품 코드 라인 수) / (전체 제품 코드 라인 수)🧪 예제: coverage 측정 실습temp.pydef add(a: int, b: int) -> int: return a + bdef mul(a: int, b: int) -> int: return a * bdef test_add() -> None: a, b ..
Chapter 2-1 Pytest 설치 및 단위 테스트 입문 가이드
·
Fastapi
✅ Pytest 설치 및 단위 테스트 입문 가이드⚙️ Pytest 설치📥 설치 명령어:poetry add --group=dev pytest==8.3.4🧪 단위 테스트 101처음 단위 테스트를 접하는 분들을 위해 간단한 예제를 통해 원리를 소개합니다.test_simple.pydef test_simple() -> None: print("test")📌 실행 방법PyCharm: 초록색 삼각형 → Run터미널: pytest .✅ 테스트란? 작성한 코드가 예상대로 작동하는지 확인하는 과정입니다.오류 없이 실행 완료되면 "성공"예상치 못한 에러 발생 시 "실패"검증 추가 예시def add(a: int, b: int) -> int: return a + bdef test_add() -> None: ..
Chapter 1-6 Mypy 설치 및 정적 타입 검사 가이드
·
Fastapi
🧠 Mypy 설치 및 정적 타입 검사 가이드🧾 Mypy란?Mypy는 Python 코드에 대해 정적 타입 검사를 수행하는 도구입니다.실행하지 않고도 타입 오류를 사전에 잡을 수 있어 대규모 프로젝트에서 유용합니다.🔗 공식 사이트: https://github.com/python/mypy🎥 소개 영상: https://www.youtube.com/watch?v=GClpahJS6Rw📥 설치:poetry add --group=dev mypy==1.13.0⚙️ Mypy 설정 (pyproject.toml)[tool.mypy]plugins = ["pydantic.mypy"]python_version = 3.13strict = true📌 설정 설명plugins: Pydantic 모델 타입 지원을 위한 mypy ..
Chapter 1-5 Git 기본 세팅 및 커밋 가이드
·
Fastapi
🗃️ Git 기본 세팅 및 커밋 가이드🚀 Git Init 및 초기 설정개발을 시작하기 전, 프로젝트 버전 관리를 위해 Git 초기화를 먼저 수행합니다.📌 Git 초기화git init📁 .gitignore 파일 설정.idea/__pycache__/.idea/: PyCharm 등의 IDE 설정 폴더__pycache__/: Python의 임시 바이트코드 캐시필요시 venv/ 또는 .venv/ 가상환경 폴더도 추가📁 반드시 지켜야할 습관커밋 하기전에 자기가 무엇을 커밋하는지 꼭확인하기미처 삭제하지 않은 print() 가 있는지 확인하기 print는 비싼 연산입니다.(시간이많이걸린다)🌐 GitHub 원격 저장소 연결GitHub에서 리포지토리 생성원격 저장소 등록git remote add origin 최..
Chapter 1-3 Python 코드 포매터 Black 설치 및 설정 가이드
·
Fastapi
🧹 Python 코드 포매터 Black 설치 및 설정 가이드🧾 Black이란?Black은 **Python 코드 자동 정렬 도구(formatter)**입니다.수십 명이 협업하는 실무 환경에서 일관된 코드 스타일을 유지하도록 도와주는 중요한 도구입니다.작성한 코드를 PEP 8 및 자체 포맷 기준에 맞게 자동으로 정리해줍니다.🔗 공식 깃허브: https://github.com/psf/black⚙️ 설치 방법poetry add --group=dev black==24.10.0개발 환경 전용으로 --group=dev 옵션을 사용설치 후 pyproject.toml에 자동 등록됨▶️ Black 실행 방법프로젝트 루트 디렉터리에서 실행:poetry run black .포매팅 예시print("Life is Toooo..
Chapter 1-2 Poetry 설치 가이드
·
Fastapi
⚙️ Poetry 설치 가이드1️⃣ Poetry 설치 전 주의사항Anaconda가 설치되어 있다면 삭제하거나 비활성화한 상태에서 설치할 것.(Anaconda 가상환경이 활성화된 상태에서는 충돌 가능성 있음)pyenv 역시 비활성화 혹은 삭제 후 설치할 것.Homebrew로 설치하지 말 것.공식 설치 방식과 설정값이 다를 수 있어 권장하지 않음.2️⃣ Poetry 소개 및 장점🔗 공식 홈페이지: https://python-poetry.org/pip freeze 없이 자동으로 의존성 관리 (poetry.lock 생성)PEP 518 기반의 pyproject.toml로 프로젝트 통합 관리참고: PEP 518 문서예: black, isort, mypy, ruff, coverage, pytest 등의 설정을 한 ..
Chapter 1-1 Meetifyr - 간편한 약속 일정 조율 웹사이트 리뷰
·
Fastapi
🗓️ Meetifyr - 간편한 약속 일정 조율 웹사이트 리뷰🔗 사이트 주소http://www.meetifyr.com/🧩 Meetifyr란?Meetifyr는 로그인 없이도 누구나 사용할 수 있는 간편한 약속 일정 조율 서비스입니다.주로 회식, 동아리 모임, 프로젝트 회의 등 여러 사람의 일정 조율이 필요한 상황에서 유용합니다.이름만 입력하고 가능한 날짜만 체크하면, 자동으로 모두가 가능한 날짜를 추천해줍니다.📌 핵심 기능 요약1. 미팅 생성고유한 meeting URL 생성.주제 및 장소 입력 가능.장소는 지도 마커 기능도 있으나, Google Maps 설정 이슈로 기능 미흡.2. 날짜 선택최대 4주간 날짜 범위를 지정할 수 있음.각 참여자는 이름을 추가한 뒤 가능한 날짜(Free) 를 체크.자동으..