✅ 일주일 동안 한 일과 느낀 점
9월 26일~10월 1일 동안 위키독스 “점프 투 장고” 4장 4-01부터 4-17까지 전 범위를 마무리하고, 10월 1일부터 10월 2일에는 리눅스 명령어 이론 수업과 함께 “점프 투 FastAPI” 교재를 1~4장까지 실습으로 진행했다. 장고에서는 깃·깃허브를 통한 형상관리부터 AWS 라이트세일 배포와 PostgreSQL 운영 DB 전환까지, 서비스 공개에 필요한 운영 흐름을 엔드투엔드로 묶어보며 실무 감각을 얻었다. FastAPI는 타입·스키마 기반의 검증과 자동 문서화, APIRouter/Depends 중심의 구조화로 API 서버 개발 경험을 “가볍고 빠르게” 쌓을 수 있었다.
📌 9월 26일 - 장고 4장 시작: 깃·깃허브로 배포 전 준비
🎓 4-01 깃
프로젝트에 깃을 초기화하고 git status, add, commit 사이클을 점검했으며, .gitignore 설정과 브랜치 전략의 필요성을 재확인했다. 변경 이력의 의미 있는 단위를 커밋 메시지 컨벤션으로 정렬하는 습관을 되살렸고, 로컬에서 기능 단위로 분리해 발전시키는 워크플로우를 다듬었다.
🎓 4-02 깃허브
원격 저장소를 추가하고 push로 리모트와 싱크를 맞추며, 이슈·브랜치·PR 기반 협업 전제를 정리했다. 팀 개발을 상정해 브랜치 보호, 리뷰, 릴리스 태깅 등 운영 단계와 맞물리는 협업 규칙의 토대를 검토했다.
📌 9월 27일 - 배포 개요와 운영 마인드셋
🎓 4장 개요: 세상에 선보이는 파이보
4장은 서비스 관리(깃)와 배포(AWS, 웹서버/WSGI/정적파일) 전반을 다루며, 개발/운영 환경 차이를 설정 분리로 흡수하는 전략을 강조한다. 정적 자원 수집, 서버 프로세스 구성, 환경 변수 관리 등 운영의 큰 그림을 개념적으로 먼저 잡았다.
📌 9월 30일 - 클라우드 배포와 운영 구성
🎓 AWS 라이트세일
라이트세일 계정/플랜 절차를 따라 서버 인스턴스를 준비하고, 서비스 공개를 위한 인프라의 접근성·비용 효율을 파악했다. 인스턴스 접근, 방화벽/포트 개방, 배포 시나리오 초안을 정리해 이후 Gunicorn/Nginx 연계에 대비했다.
🎓 운영·정적 파일·서버 구동(개요)
운영 환경에서 DEBUG, ALLOWED_HOSTS, STATIC_ROOT 설정과 collectstatic 절차, WSGI 앱 실행과 프로세스 관리의 필요성을 되짚었다. 운영용 설정 모듈 분리와 환경 변수 기반 시크릿 관리 원칙을 문서 기준으로 재정리했다.
📌 10월 1일 - 운영 DB 전환과 계정 준비
🎓 4-17 PostgreSQL
psycopg2-binary 설치, settings의 ENGINE/NAME/USER/PASSWORD/HOST/PORT 구성, django-environ을 통한 .env 로드 등 PostgreSQL 전환 절차를 학습했다. migrate로 스키마를 재적용하고 createsuperuser로 운영용 계정을 생성해 서버에서의 정상 동작을 확인하는 루틴까지 정리했다.
🚨 장고 운영 관점 트러블슈팅 메모
- 환경 분리 누락: DEBUG/ALLOWED_HOSTS/시크릿이 혼재하면 배포 실패 가능 → prod/settings로 분리하고 .env 로딩을 표준화.
- 정적 파일 경로: STATIC_ROOT/collectstatic 미흡 시 운영에서 CSS/JS 미적용 → 빌드 단계에 정적으로 포함.
- DB 드라이버: psycopg2 설치/접속 정보 불일치 → 서버 환경 전용 설치와 .env 동기화 확인.
🎓 리눅스 이론 수업(10월 1일)
- vi 편집 모드 전환, 저장/종료, .swp 복구 등 실무에서 자주 마주치는 편집기 이슈를 사례로 점검했다.
- 네트워크/파일시스템 개요를 통해 인터페이스 상태 점검, 소켓 확인, 패킷 캡처의 기본 루틴을 정리해 서버 진단의 기초 체력을 보강했다.
📌 FastAPI 집중(10월 1일) — 1~4장 상세 회고
🎓 1장: FastAPI 철학과 강점
Starlette 기반 ASGI 구조로 높은 성능을 제공하며, 타입 힌트와 Pydantic 스키마로 요청/응답 검증을 자동화하고 Swagger/Redoc 문서를 즉시 제공한다. 웹페이지 렌더링이 아닌 “API 제작”을 1급 타겟으로 하여, 프런트/모바일 클라이언트와 분리된 백엔드 개발에 최적화된 개발 경험을 제공한다.
내가 얻은 포인트: 장고·DRF 대비 API 전용 설계의 단순성이 초기 생산성을 크게 높였고, 문서-코드-검증이 한 화면에서 닫히는 경험이 유용했다.
🎓 2장: 개발 기초 공사(라우터·DB·CRUD 토대)
APIRouter로 도메인별 라우팅을 분리하고 prefix/tags로 문서를 그룹화해 규모가 커져도 URL 체계를 일관되게 유지한다. SQLAlchemy 모델·세션으로 엔티티를 정의하고, 목록/상세 API를 만들며 트랜잭션 커밋/롤백 정책과 예외 처리의 위치를 명료화했다.
내가 얻은 포인트: 장고 ORM 경험 덕에 SQLAlchemy 적응이 부드러웠고, 라우터 분리로 “URL 설계=모듈 구조”의 대응이 자연스러워 가독성이 좋아졌다.
🎓 3장: 스키마/검증/예외 — 계약 우선 개발
Pydantic 스키마로 요청·응답 모델을 정의하고 response_model로 반환 구조를 문서에 고정해, 문서-구현 간 불일치를 줄였다. HTTPException과 전역 핸들러 구상으로 일관된 에러 포맷을 검토하여 클라이언트와의 계약을 명확히 했다.
내가 얻은 포인트: 자동 문서에서 즉시 Try할 수 있어 백엔드 단독으로도 스펙 검증과 연쇄 테스트가 가능했다.
🎓 4장: 의존성 주입(Depends)·구조화 심화
Depends로 인증/로깅/DB 연결/공통 파라미터를 추상화하여 라우터에 주입, 교차 관심사의 중복을 제거하고 테스트 용이성을 확보했다. 앱/라우터 단위 의존성, prefix/tags 규칙, 동기/비동기 경로 선택 기준을 정리해 성장 가능한 구조적 토대를 마련했다.
내가 얻은 포인트: 장고의 데코레이터/미들웨어 경험과 접점이 커서 학습 곡선이 완만했고, 재사용 가능한 “작은 함수” 묶음이 품질과 속도를 함께 높였다.
🚨 FastAPI 트러블슈팅 메모
- response_model 불일치: 반환 딕셔너리 키/타입이 스키마와 어긋나면 문서에서 즉시 드러남 → 스키마 우선 정렬이 유효했다.
- 세션 스코프: 요청 단위 세션 관리와 커밋 타이밍 통일이 중요 → 실패 시 롤백 일관화로 오류 격리.
- 라우터 경로: prefix 누락으로 문서 경로 혼선 → 라우터 레벨에서 prefix/tags 고정 습관화.
✅ 성과 및 지표
- 장고 4장(4-01~4-17) 전 범위 완료: 깃/깃허브→운영 설정→클라우드 배포→PostgreSQL 전환까지 엔드투엔드 배포 감각을 정립했다.
- 운영 체크리스트 확보: 정적파일 수집, 환경 분리, 시크릿 관리, DB 드라이버/마이그레이션, 계정 생성·권한 점검 루틴을 문서화했다.
- FastAPI 1~4장 실습: 라우팅/라우터/스키마/의존성 주입 중심의 구조와 자동 문서화 기반 계약 개발을 체화했다.
✅ 아쉬웠던 점 & 개선 포인트
- 배포 자동화: 수동 절차가 다수라 CI/CD와 IaC로 재현성과 속도를 높여야 한다.
- 운영 보안: 환경변수/시크릿 로테이션, 접근제어, 로깅/모니터링 표준을 구체화할 필요가 있다.
- FastAPI 테스트: 의존성 오버라이드 기반 유닛/통합 테스트와 전역 예외/에러 포맷 표준화 과제가 남았다.
✅ 마무리
이번 주는 장고 배포·운영의 전체 사이클과 FastAPI의 API 중심 설계를 연결해, “공개 가능한 서비스”의 출발선을 실제로 밟아 본 주였다. 장고는 운영/배포·DB 전환 관점의 실무 근육을 키워줬고, FastAPI는 타입·스키마·의존성 주입으로 빠르게 견고한 API를 만드는 길을 열어주었다. 다음 주에는 운영 스택(Nginx/Gunicorn)과 FastAPI 인증/인가·비동기화·테스트 패턴을 더해 운영 신뢰성과 개발 생산성을 함께 끌어올릴 계획이다.
- 장고 운영 심화: Nginx+Gunicorn 구성, 정적/미디어 파일 서빙 최적화, 로깅·모니터링 규칙 확립.
- FastAPI 고도화: OAuth2 토큰, 의존성 주입 확장, 페이지네이션/필터/예외 표준화, async 전환 및 커넥션 풀링.
- 리눅스/데이터 저장: systemd 서비스 등록, 네트워크 진단 루틴 강화, 저장 구조 이론(HDFS 등) 보강.
'SK네트웍스 Family AI캠프 16기' 카테고리의 다른 글
| [플레이데이터 SK네트웍스 Family AI캠프 16기] 18주차 회고 (0) | 2025.10.27 |
|---|---|
| [플레이데이터 SK네트웍스 Family AI캠프 16기] 17주차 회고 (0) | 2025.10.21 |
| [플레이데이터 SK네트웍스 Family AI캠프 16기] 15주차 회고 (0) | 2025.09.30 |
| [플레이데이터 SK네트웍스 Family AI캠프 16기] 14주차 회고 (1) | 2025.09.22 |
| [플레이데이터 SK네트웍스 Family AI캠프 16기] 13주차 회고 (0) | 2025.09.15 |