Ajjoona's Tech Blog

[둥지] FastAPI 테스트 환경 구축기: Mocking부터 Docker CI/CD 연동까지

FastAPI 백엔드의 로컬 테스트 환경을 Docker 기반으로 전환하고 GitHub Actions CI와 연동하며 겪은 트러블슈팅 과정을 회고합니다. 외부 API Mocking, 환경변수 주입 시점 문제, Docker 볼륨 충돌(Race Condition) 등 다양한 인프라 이슈의 해결 방법을 다룹니다.

[둥지] FastAPI + GitHub Actions: Pydantic 환경 변수(ValidationError) 트러블슈팅

FastAPI 프로젝트에 GitHub Actions CI를 도입하며 겪은 환경 변수 주입 문제를 해결합니다. Pydantic의 엄격한 타입 검증(ValidationError)으로 인한 CI 빌드 실패 원인과, 더미 파일(.env.example) 및 GitHub Secrets를 활용한 해결 과정을 공유합니다.

Preview Image

[둥지] FastAPI + Celery + Redis: 비동기 백엔드 아키텍처와 최종 의사결정

AI 연산 및 스크래핑과 같이 오래 걸리는 작업을 비동기적으로 처리하기 위해 Celery와 Redis를 도입한 과정을 공유합니다. 트랜잭션 주체 분리, Polling 방식 채택, 그리고 Custom Task 패턴을 활용한 우아한 예외 처리까지 아키텍처 설계의 모든 것을 알아봅니다.

Preview Image

[둥지] FastAPI 비동기 DB 세팅: SQLAlchemy 2.0 세션 관리와 이중 방어 모델링

FastAPI의 비동기 성능을 극대화하기 위한 asyncpg 및 SQLAlchemy 2.0 도입기를 공유합니다. 커넥션 풀을 활용한 세션 관리, 데이터 무결성을 위한 이중 방어(Defense in Depth) 패턴, 그리고 Alembic 마이그레이션 트러블슈팅 과정을 상세히 다룹니다.

[둥지] Docker 환경 분리와 보안 전략: Multi-stage Build부터 Secrets 관리까지

Docker 이미지를 경량화하기 위한 Multi-stage Build 전략과 Non-root User 설정, Docker Compose Override 패턴을 이용한 개발/운영 환경 분리 과정을 공유합니다. 또한 Makefile을 통한 명령어 관리와 Docker Secrets를 활용한 안전한 시크릿 관리법을 다룹니다.