강의 목차
이 강의는 Django REST Framework를 활용한 실무 중심의 API 서버 개발 가이드입니다. 각 강의는 3분 내외로 구성되어 있으며, 클린 API 설계 7대 원칙(예측 가능성, 명확성, 효율성, 보안성, 유지보수성, 신뢰성, 개발자 경험)을 체득하여 함께 일하고 싶은 동료로 성장하는 것이 목표입니다.
📚 전체 커리큘럼
1. 강의 소개
Django DRF를 배워야 하는 이유와 이 강의에서 무엇을 배울 수 있는지
2. 프로젝트 설정
주요 내용:
개발/테스트/운영 환경별 settings.py 분리 및 관리 전략
django-environ이나 AWS Parameter Store를 활용한 민감 정보 안전 관리
structlog를 이용한 구조화된 로깅 시스템 구축
확장성을 고려한 커스텀 유저 모델 설계 및 구현
프로젝트 초기 설정 시 고려해야 할 견고한 아키텍처 구성
3. 인증 및 권한
주요 내용:
Simple JWT를 활용한 토큰 기반 인증 시스템 구현
서버 간 통신을 위한 API Key 인증 방식 설계
여러 인증 방식을 한 번에 지원하는 멀티 인증 시스템 구축
DRF의 인증/권한 처리 흐름 완전 이해
객체 수준의 권한(Object-level Permission) 직접 구현
세밀한 권한 제어를 통한 보안 강화
4. Views & Viewsets
주요 내용:
APIView와 ViewSet의 명확한 차이점 이해 및 상황별 선택 기준
ViewSet 내부 동작 원리 완전 이해
@action 데코레이터를 활용한 CRUD 외 깔끔한 추가 엔드포인트 구현
커스텀 CRUD 로직 구현 방법
5. Serializers
주요 내용:
읽기/쓰기 필드 분리를 통한 API 보안성 향상
중첩된 객체 한 번에 처리하는 Writable Nested Serializer 구현
SerializerMethodField의 성능 문제 원인 분석 및 해결 방법
Serializer 재사용성을 높이는 고급 설계 패턴
성능 최적화 기법
6. API 기능 구현
주요 내용:
CursorPagination을 이용한 부드러운 무한 스크롤 구현
django-filter를 활용한 강력하고 유연한 필터링 시스템
사용자 정의 정렬 기능으로 데이터 탐색 편의성 제공
Throttling을 통한 API 사용량 제어
API 버전 관리 전략
파일 업로드 처리
WebSocket 연동
7. Models(ORM)
주요 내용:
N+1 문제의 원인 분석 및 select_related/prefetch_related로 해결
Prefetch 객체를 이용한 복잡한 관계 데이터 최적화
Subquery를 활용한 고급 쿼리 최적화 기법
F 객체와 Q 객체를 활용한 동적 쿼리 작성법
데이터베이스 수준에서의 계산 처리로 성능 향상
bulk_create, bulk_update로 대량 데이터 효율적 처리
ORM 쿼리 분석 도구 활용법
8. API 문서화
주요 내용:
drf-spectacular로 자동 문서 생성 및 커스터마이징
API 문서화 자동화 및 개발자 경험 향상
OpenAPI 스펙 활용
9. 성능 최적화
주요 내용:
캐싱 전략을 통한 응답 속도 개선
스트리밍 응답 처리
Connection Pooling을 통한 데이터베이스 연결 최적화
비동기 View 구현
Raw Query 활용
메모리 사용량 모니터링 및 최적화
10. 테스팅
주요 내용:
APITestCase를 활용한 체계적인 API 테스트 패턴
factory-boy와 Faker를 이용한 실제와 유사한 대량 테스트 데이터 생성
Mock과 patch를 이용한 외부 API 의존성 격리 및 안정적 테스트
테스트 커버리지 향상 전략
locust를 활용한 API 부하 테스트 및 성능 병목 지점 파악
테스트 자동화를 통한 신뢰성 있는 개발 프로세스 구축
11. 배포 및 운영
주요 내용:
Docker와 Docker Compose로 개발/운영 환경 불일치 문제 해결
컨테이너 기반 일관된 환경 구축 전략
GitHub Actions를 이용한 테스트부터 배포까지 완전 자동화된 CI/CD 파이프라인
무중단 배포 전략 및 롤백 시스템 구축
배포 환경별 설정 관리 및 보안 고려사항
Sentry를 통한 실시간 에러 추적 및 알림 시스템 구축
Prometheus와 Grafana를 활용한 API 성능 지표 대시보드 구성
12. 유틸 및 실무 팁
주요 내용:
Celery를 활용한 비동기 작업 처리
Signals 활용법
커스텀 미들웨어 구현
GraphQL 연동
API 보안 모범 사례 및 취약점 방지
CORS 설정 및 크로스 도메인 요청 관리
Rate Limiting을 통한 API 남용 방지
대규모 서비스에서의 DRF 활용 사례
마이크로서비스 아키텍처에서의 API 설계
13. 마치며
강의 요약 및 클린 API 설계 원칙, 추가 학습 로드맵
Last updated
