Builder.shin
Python
142개의 게시물
Python
FastAPI에서 SQLAlchemy async 세션 관리 개선
FastAPI 프로젝트에서 SQLAlchemy 1.4의 asyncio 지원을 도입하면서 세션 관리 방식을 개선했다. 기존 동기 방식 대비 성능과 코드 구조 측면에서 얻은 것들을 정리한다.
2021년 7월 13일
Python
Python 비동기 처리에서 asyncio.gather vs asyncio.wait 선택하기
API 서버에서 여러 외부 서비스 호출 시 asyncio.gather와 asyncio.wait 중 어느 것을 써야 할지 고민했다. 실제 사용 사례를 통해 두 방식의 차이와 선택 기준을 정리했다.
2021년 7월 9일
Python
FastAPI에서 비동기 DB 쿼리 처리하기
기존 Django REST API를 FastAPI로 마이그레이션하면서 비동기 처리를 도입했다. SQLAlchemy의 asyncio 확장을 사용해 DB 쿼리 성능을 개선한 과정을 정리했다.
2021년 6월 25일
Python
FastAPI에서 Pydantic 모델 재사용하며 겪은 순환 참조 문제
FastAPI 프로젝트에서 Pydantic 모델 간 순환 참조로 인한 에러를 해결했다. update_forward_refs를 통해 타입 힌트를 지연 평가하는 방식으로 문제를 우회했다.
2021년 6월 18일
Python
FastAPI에서 비동기 DB 쿼리 최적화 경험
FastAPI 프로젝트에서 SQLAlchemy 비동기 쿼리 사용 중 N+1 문제를 만났다. asyncpg와 함께 사용하면서 겪은 성능 이슈와 해결 과정을 정리했다.
2021년 6월 13일
Python
Python 비동기 처리에서 asyncio.gather vs asyncio.as_completed 선택 기준
API 배치 처리 작업을 개선하면서 asyncio.gather와 as_completed의 차이를 정확히 이해하게 되었다. 각각의 사용 시나리오와 성능 특성을 정리했다.
2021년 6월 10일
Python
FastAPI에서 비동기 DB 커넥션 풀 관리하기
FastAPI 프로젝트에서 asyncpg를 사용하면서 커넥션 풀 관리 문제를 겪었다. 요청이 몰릴 때 커넥션이 고갈되는 이슈를 해결한 과정을 정리했다.
2021년 5월 31일
Python
FastAPI에서 Pydantic으로 복잡한 응답 검증 처리하기
외부 API 응답을 내부 도메인 모델로 변환하는 과정에서 Pydantic의 validator와 root_validator를 활용했다. 중첩된 JSON 구조를 안전하게 파싱하고 비즈니스 로직을 검증 레이어에 통합한 경험을 정리했다.
2021년 5월 13일
Python
FastAPI 프로젝트에 Pydantic BaseSettings로 환경 변수 관리 개선하기
Python 환경 변수 관리를 python-dotenv에서 Pydantic BaseSettings로 전환했다. 타입 안정성과 유효성 검증이 자동으로 이뤄져 런타임 에러를 사전에 방지할 수 있었다.
2021년 5월 6일
Python
Python 비동기 처리: asyncio와 aiohttp로 API 호출 성능 개선
레거시 Python 스크립트의 순차적인 외부 API 호출을 asyncio와 aiohttp로 개선했다. 100개 요청 기준 약 15초에서 2초로 단축되었고, 코드 구조도 크게 복잡해지지 않았다.
2021년 4월 16일
Previous
1
More pages
6
7
8
9
10
More pages
15
Next
카테고리