python httpx requests 비교 — 마이그레이션하며 알게 된 동작 차이 7가지
requests에서 httpx로 갈아타며 알게 된 동작 차이를 정리한다. 단순 API 호환을 넘어서 timeout과 connection pool 동작이 다르더라.
requests에서 httpx로 갈아타며 알게 된 동작 차이를 정리한다. 단순 API 호환을 넘어서 timeout과 connection pool 동작이 다르더라.
100개 API 호출이 30분 걸리던 파이프라인을 세 방식으로 다 돌려봤다. GIL 동작 차이와 워크로드별 벤치마크, 그리고 어떤 상황에 어떤 도구를 골라야 하는지 기준을 정리한다.
pathlib은 Python 3.4부터 표준에 들어온 객체지향 경로 모듈이다. os.path를 어디까지 대체할 수 있는지, 실무에서 어떻게 써야 하는지 근거와 함께 정리한다.
FastAPI에 SQLAlchemy 2.0 async를 붙이면 처음엔 잘 돈다. 트래픽이 늘면 greenlet과 풀 에러가 동시에 터진다. 두 에러의 뿌리를 짚고 안정적인 세션 라이프사이클 패턴을 정리한다.
v1 코드를 v2로 옮길 때 가장 자주 막히는 10개 지점을 비교표로 정리한다. 한 번에 갈아엎을지, bridge로 분산할지 판단 기준과 실측 수치를 같이 본다.
TTL을 고정값으로 두면 만료가 한 시점에 몰린다. Redis 캐시에 Jitter를 더해 부하를 분산하는 패턴과 실제 측정값을 정리했다.
Python Celery 분산 작업 처리를 Redis 기반으로 설계할 때 RQ, Dramatiq와 항목별로 비교한다. 재시도 전략과 우선순위 큐, 모니터링까지 실전 기준으로 본다.
REST API 엔드포인트 하나 붙이는 데 Swagger 문서 작성까지 포함해서 30분이 걸렸다. 같은 기능을 MCP 도구로 등록하는 데는 5분이면 됐다. Python mcp 패키지로 서버를 만들고 Claude Desktop에서 자연어로 호출하기까지의 과정이다.
매일 반복하던 엑셀 가공, 메일 발송, 폴더 정리를 Python 스크립트 3개로 대체한 과정이다. openpyxl, smtplib, pathlib 각각의 실전 사용법과 삽질 포인트를 다룬다.
레거시 Flask 서버 40개 엔드포인트를 FastAPI REST API로 전환한 과정이다. JWT 인증 구현, Pydantic 모델 도입, Docker 멀티스테이지 빌드까지 실제 프로젝트에서 겪은 시행착오를 시간순으로 풀었다.
requests로 긁었는데 빈 리스트가 돌아왔다. 알고 보니 JavaScript 렌더링 페이지였다. BeautifulSoup과 Selenium을 실무에서 어떻게 나눠 쓰는지, 삽질 과정과 함께 정리했다.
requests 순차 호출로 8초 걸리던 API 집계를 asyncio.gather와 aiohttp로 1.6초까지 줄인 과정이다. event loop 충돌, 세션 관리, 동시성 제어까지 프론트 출신 백엔드 개발자 시점에서 풀어냈다.