숨고 팀 블로그 | Tech
FastAPI를 도입하면서 : 코드 최적화부터 테스트까지
AI 엔지니어링 브리핑
숨고 커뮤니티에 FastAPI를 도입해 비동기 처리와 데이터 검증을 활용하고, 코드 개선과 테스트 최적화로 개발 및 운영 효율을 높인 경험을 소개한 글입니다.
문제 & 배경
- 문제 & 배경: 새로운 도메인의 요구사항을 빠르게 반영하기 위해 FastAPI를 도입했지만, 기존 동기 방식의 데이터베이스 코드와 MongoDB 연동 방식이 달라 호환성 문제와 긴 테스트 실행 시간이 발생했습니다.
기술 & 해결책
- 기술 & 해결책: FastAPI와 Pydantic으로 요청 데이터 검증과 문서 생성을 자동화하고, 비동기용 SQLAlchemy·Motor·Beanie를 적용했으며, 테스트를 병렬 실행하고 목 데이터를 최적화해 실행 시간을 약 10분에서 1분대로 줄였습니다.
교훈 & 주의점
- 교훈 & 주의점: Pydantic V2 전환처럼 큰 변경에는 높은 테스트 커버리지가 안정성을 높여주며, 초기 구조가 완벽하지 않더라도 지속적으로 개선하고 라이브러리 간 변환과 병렬 테스트의 데이터 충돌을 주의해야 합니다.
함께 읽을 글
내용이 비슷해요내용이 비슷한 글을 먼저 보여드려요. 같은 문제나 해결책을 다룬다는 뜻은 아니에요.