Builder.shin
Python
142개의 게시물
Python
FastAPI로 기존 Flask 프로젝트 마이그레이션하기
레거시 Flask 프로젝트를 FastAPI로 점진적으로 마이그레이션한 과정을 정리했다. 타입 힌트 기반 자동 문서화와 성능 개선이 주요 목표였다.
2021년 3월 20일
Python
FastAPI와 SQLAlchemy로 비동기 API 서버 구축
Django에서 FastAPI로 마이그레이션하면서 비동기 처리와 타입 힌팅의 장점을 경험했다. SQLAlchemy 1.4의 async 지원으로 DB 쿼리까지 논블로킹으로 처리할 수 있었다.
2021년 3월 15일
Python
Python 비동기 처리 asyncio 실전 적용기
레거시 API 서버의 성능 병목을 해결하기 위해 asyncio를 도입했다. 동기 방식의 외부 API 호출을 비동기로 전환하면서 겪은 시행착오와 성능 개선 결과를 정리했다.
2021년 2월 27일
Python
Python asyncio로 API 호출 병렬 처리 개선하기
외부 API를 순차 호출하던 배치 작업이 30분 넘게 걸려 asyncio로 전환했다. 동시 요청 수 제어와 에러 핸들링을 어떻게 처리했는지 기록한다.
2021년 2월 12일
Python
FastAPI에서 Pydantic으로 복잡한 중첩 응답 모델 검증하기
외부 API 응답을 FastAPI에서 가공해 반환하는 과정에서 중첩된 데이터 구조의 타입 검증이 필요했다. Pydantic의 BaseModel을 활용해 런타임 검증과 IDE 지원을 동시에 얻을 수 있었다.
2021년 1월 10일
Python
FastAPI 도입 후 Django REST Framework와 비교
사내 마이크로서비스 프로젝트에 FastAPI를 도입했다. 기존 Django REST Framework와 비교했을 때 체감되는 성능 차이와 개발 경험을 정리했다.
2020년 12월 29일
Python
Python 타입 힌트와 mypy로 런타임 에러 줄이기
레거시 Python 프로젝트에 타입 힌트를 점진적으로 도입하면서 mypy를 적용한 경험을 정리했다. 타입 체크를 통해 배포 전에 잡을 수 있는 에러가 생각보다 많았다.
2020년 12월 22일
Python
Python asyncio로 외부 API 호출 성능 개선하기
레거시 배치 작업에서 외부 API를 순차 호출하던 부분을 asyncio로 개선했다. 10분 걸리던 작업이 1분 이내로 단축됐고, aiohttp와 asyncio.gather를 활용한 동시성 처리 방법을 정리했다.
2020년 12월 14일
Python
Python 타입 힌트와 mypy로 런타임 에러 줄이기
프로젝트 규모가 커지면서 타입 관련 버그가 자주 발생했다. Python 3.8의 타입 힌트와 mypy를 도입해 정적 타입 체크를 적용한 경험을 정리했다.
2020년 12월 3일
Python
Python 비동기 HTTP 요청 병렬 처리로 API 응답 속도 개선
레거시 배치 작업에서 순차적으로 처리하던 외부 API 호출을 aiohttp와 asyncio를 사용해 병렬화했다. 약 50개의 API 호출이 순차 실행 시 25초 걸리던 것을 3초로 단축했다.
2020년 11월 23일
Previous
1
More pages
7
8
9
10
11
More pages
15
Next
카테고리