📌 uv 활용 & uv.lock 관리 가이드 ✅ 1) 개발 단계(Development stage) 목적 최신 의존성 테스트 가능 로컬에서 기능 개발 Dev 툴(lint/test 등) 포함 설치 권장 작업 흐름 작업 명령어 설명 의존성 추가 uv add --dev pytest 개발 dependency 그룹으로 관리 환경 동기화 uv sync .venv 에 의존성 설치 락 파일 업데이트 uv lock pyproject.toml 변경 후 실행 락 파일 기반 설치 테스트 uv sync --locked lock 파일만으로 동일 환경 재현 확인 개발자 로컬 환경 uv sync # dev 포함 설치 OK → 개발자는 uv.lock 을 자동 생성/갱신하여 커밋 합니다 ✅ ✅ 2) 패키징 단계(Build / Packaging stage) 목적 artifacts(예: wheel, sdist) 생성 운영환경에 불필요한 Dev deps 제외 권장 작업 흐름 작업 명령어 설명 lock 파일 기반 설치 검증 uv sync --locked --no-dev 재현 가능한 production deps 패키지 빌드 uv build wheel/SDist 생성 런타임 검사 uv run app:main 의존성 정상 반영 검증 예시 명령 uv sync --locked --no-dev uv build → 배포되는 artifact는 dev deps 없이, lock 파일 기반 버전 확정 ✅ 3) Repository 관리(협업 / Git 공유) 목적 모든 팀원이 동일한 패키지 버전 환경 을 사용하도록 강제 Git에 반드시 포함해야 하는 것 ✅ 파일 목적 pyproject.toml 의존성 요구 정의 uv.lock 의존성 정확 버전 고정 Git에 포함하지 않는 것 ❌ 제외 파일 이유...
개발자라는 존재는 언제까지 유효할까? **"If Dev Then ?"**은 AI 시대에 개발자로 살아가는 우리가 던져야 할 질문에서 출발합니다. 단순한 기술 뉴스 요약이 아니라, 그 속에 숨은 신호를 읽고, 우리의 방향을 함께 고민하는 공간입니다. 새로운 도구에 대한 실용적인 해석부터, 직업적 불안과 존재론적 고민까지. 개발자의 미래를 기술과 철학의 경계에서 함께 탐험해봅니다.