[python] I'm Switching to Python and Actually Liking It 파이썬으로 전향중이고, 생각보다 꽤 마음에 들어요
https://www.cesarsotovalero.net/blog/i-am-switching-to-python-and-actually-liking-it.html
I’m Switching to Python and Actually Liking It
I’ve started writing more Python code lately (because of… AI, you know). In this post, I share the tools, libraries, configs, and other integrations I use for building production-grade Python applications following a frontend-backend architecture.
www.cesarsotovalero.net
- 최근 AI 개발의 트렌드로 인해 본격적으로 파이썬 학습 및 사용을 시작했고, 이제는 그 생태계에 큰 만족을 느끼고 있음
- Python은 과거보다 훨씬 빠르고 현대적인 언어로 발전했고, Cython을 통한 성능 향상 등 급격한 발전을 체감함
- uv, ruff, pytest, Pydantic 등 최신 개발 도구와 라이브러리를 본인의 워크플로우에 적극 도입하여 개발 생산성을 높이고 있음
- 프로덕션 환경과 Jupyter 노트북/스크립트 기반 개발 간의 차이를 줄이기 위한 프로젝트 구조 및 자동화 방안도 적용
- GitHub Actions, Docker 등을 활용해 CI/CD, 테스트, 인프라 관리를 효율적으로 구축함.
I’m Switching to Python and Actually Liking It 요약
왜 파이썬으로 전향했는가
- AI 중심의 개발 환경에서는 Python이 사실상의 표준 언어로 자리잡고 있음
- 과거에는 단순한 스크립트 작성에만 사용했지만, 최근에는 RAG, 에이전트, 생성형 AI 등의 “실전용 앱”을 만들기 위해 진지하게 사용하게 되었음
- 그 과정에서 Python 생태계가 과거에 비해 매우 진화했다는 사실을 체감하게 되었음
Python의 강점 3가지
- 풍부한 라이브러리와 도구 생태계: 데이터 처리, 분석, 웹, AI에 특화
- Cython 등으로 인한 성능 개선: 컴파일 기반 최적화 가능
- 개선된 문법 가독성: __init__, __new__ 같은 레거시 문법은 감춰지고, 더 직관적인 문법 제공
주요 도구 및 설정
- uv
- Astral에서 제공하는 최신 파이썬 패키지 매니저 및 빌드 도구
- 의존성 관리, 가상환경 생성, 프로젝트 초기화 등 대부분의 작업을 빠르게 처리함
- pyproject.toml이 핵심 설정 파일로, 모든 메타데이터 및 의존성 정보가 통합됨
- uv init, uv add, uv sync 명령어로 빠르게 프로젝트 환경 구성 가능
- ruff
- 초고속 파이썬 린터 및 코드 포매터
- isort, flake8, autoflake 등을 통합한 도구
- ruff check, ruff format 으로 린팅 및 자동 수정
- PEP 8 코딩 스타일 가이드 기본 지원
- ty
- Astral이 만든 Python용 정적 타입 검사기
- typing과 조합해 정적 분석, 초기 버그 방지에 효과적
- 초기 개발 단계임에도 안정적으로 사용할 만한 수준임
- pytest
- 단위테스트 및 확장 가능한 테스트 환경을 제공하는 대표적인 파이썬 테스트 프레임워크
- 간단한 파일 네이밍 규칙과 명령어 한 줄로 바로 통합 테스트 가능함
- test_*.py로 테스트 구성 후 uv run pytest로 실행
- 간결한 문법, 풍부한 플러그인 생태계
- Pydantic
- 데이터 검증 및 환경 설정 관리 라이브러리
- .env 환경변수 기반 설정 로딩 및 타입 검증
- BaseSettings 클래스를 통해 API 키나 DB URL 등을 안전하게 관리
- MkDocs
- 파이썬 프로젝트의 정적 웹사이트 및 문서 생성을 간편하게 지원
- 오픈소스 프로젝트 스타일의 미려한 디자인 빠른 적용 가능
- GitHub Pages 연동도 용이
- FastAPI
- 빠른 RESTful API 구축 프레임워크
- 자동 검증 및 문서화, 빠른 성능, 쉬운 Pydantic 통합 장점
- Starlette 및 Pydantic 기반으로 높은 타입 안정성과 성능 제공
- Dataclasses
- 파이썬 표준 기능으로 데이터 중심 클래스를 간편하게 정의할 수 있음
- 특별 메소드 자동 생성으로 보일러플레이트 코드 대폭 감소
버전 관리 및 자동화
- GitHub Actions
- project-api와 project-ui 각각에 대해 별도 CI 파이프라인 구성
- 다양한 OS에서 CI 파이프라인 구축에 최적화된 워크플로우 제공
- 도커 기반 테스트 환경으로 프로덕션과 동일한 환경에서 테스트 시행 가능
- Dependabot
- 자동 의존성 최신화 및 보안 패치 관리를 자동화함
- Gitleaks
- 민감 정보(비밀번호, API 키 등) 유출 방지 도구로 git 커밋 전에 보안 검사를 수행함
- Pre-commit Hooks
- 커밋 전 자동 린팅, 포매팅, 보안 검사를 위한 도구임
- ruff, gitleaks 등과 함께 사용해 코드 일관성과 품질 유지
인프라 자동화
- Make
- make test, make infrastructure-up 등의 명령어로 일관된 개발 워크플로우 지원
- 프로젝트 루트와 project-api에 각각 Makefile 존재
- Docker & Docker Compose
- project-api, project-ui 각각을 컨테이너로 분리 실행
- docker compose up --build -d 한 줄로 전체 앱 실행 가능
- Dockerfile에는 uv 설치, FastAPI 앱 실행 명령어 포함
마무리
- 위와 같이 최신 파이썬 개발 환경에서는 효율적이고 견고한 프로덕션 워크플로우를 구성할 수 있음
- AI, 데이터, 웹 개발 등 다양한 영역에 걸쳐 파이썬 생태계의 성장과 도구 발전으로부터 많은 이점을 경험 가능
- 모노레포 구조, 자동화 도구, 린터 및 타입 검사기, 즉각적인 테스트 환경, 문서화, 인프라 오케스트레이션까지 하나의 통합된 개발 문화를 구현할 수 있음
https://news.hada.io/topic?id=22028&utm_source=weekly&utm_medium=email&utm_campaign=202529
파이썬으로 전향중이고, 생각보다 꽤 마음에 들어요 | GeekNews
최근 AI 개발의 트렌드로 인해 본격적으로 파이썬 학습 및 사용을 시작했고, 이제는 그 생태계에 큰 만족을 느끼고 있음Python은 과거보다 훨씬 빠르고 현대적인 언어로 발전했고, Cython을 통한 성
news.hada.io
'프로그래밍 > Python' 카테고리의 다른 글
[pytho] FFmpeg 설치하기 (2) | 2025.07.31 |
---|---|
[python] 파일 실행에 필요한 모듈 리스트 추출 방법 (1) | 2025.07.31 |
[python] networkx 설치 (0) | 2025.07.11 |
TIOBE Index for June 2025 (1) | 2025.06.19 |
[python] 파이썬 requirements.txt 처리 (0) | 2025.06.17 |