Ajjoona's Tech Blog

[둥지] FastAPI + AI 워커를 위한 모던 백엔드 구조 설계 (feat. uv, Producer-Consumer)

FastAPI 기반의 AI 서비스 백엔드를 설계하며 내린 기술적 의사결정을 공유합니다. pip 대신 Rust 기반의 uv를 도입하여 의존성을 관리하고, Redis를 활용한 Producer-Consumer 패턴으로 클라우드 API와 홈 서버(GPU) 간의 비동기 처리를 구현했습니다.

Docker Compose로 완벽한 로컬 개발 환경 구축하기 (Healthcheck, Resource Limit, YAML Anchor)

다중 컨테이너 애플리케이션을 정의하는 Docker Compose의 핵심 전략을 정리합니다. DB 연결 오류를 막는 Healthcheck, 시스템 멈춤을 방지하는 Resource Limit, 그리고 설정 중복을 줄이는 YAML Anchor 활용법을 상세히 다룹니다.

[LIVErary] JPA Dirty Checking과 Bulk 연산 혼용 시 데이터 증발 문제 (feat. flushAutomatically)

스케줄러 테스트 중 방 상태 변경(Dirty Checking)이 DB에 반영되지 않고 증발하는 문제를 해결했습니다. 트랜잭션 내에서 벌크 연산과 영속성 컨텍스트 관리가 충돌하는 원인을 분석하고 @Modifying 옵션으로 해결한 과정을 공유합니다.

Preview Image

[Spring Boot] @Valid 유효성 검증 실패가 500 에러를 뱉는 이유와 해결법 (MethodArgumentNotValidException)

DTO 유효성 검증(@Valid) 실패 시 400 Bad Request가 아닌 500 Internal Server Error가 발생하는 원인을 분석합니다. MethodArgumentNotValidException을 전역 예외 처리기에서 핸들링하여 커스텀 에러 코드로 응답하는 방법을 정리했습니다.

Preview Image

[둥지] 서비스 런칭을 위한 리팩토링: 하이브리드 클라우드 아키텍처와 기술 스택 선정의 이유

둥지 프로젝트의 서비스화를 위해 AWS 프리티어의 한계를 극복하는 하이브리드 클라우드(AWS + Home PC) 아키텍처를 설계했습니다. FastAPI, React, RDS, Redis 등을 선정한 구체적인 이유와 도메인 주도 폴더 구조 설계를 공유합니다.