본문으로 건너뛰기
진행률을 불러오는 중...

백엔드 기초집: Python FastAPI

웹 개발 베이스에서 익힌 HTTP와 JavaScript 요청 흐름을 실제 서버 구현으로 연결합니다. 26강 동안 하나의 game-ranking-api를 확장하며 입력 검증, 데이터베이스, JWT 인증, 권한, 테스트, 프론트엔드 연동을 차례로 완성합니다.

과정 목표

  • REST 원칙에 맞는 요청 경로, HTTP 메서드, 상태 코드를 설계합니다.
  • Pydantic v2로 신뢰할 수 없는 요청을 검증하고 응답 계약을 고정합니다.
  • SQLAlchemy 2.x ORM으로 SQLite에 저장한 뒤 PostgreSQL로 확장합니다.
  • 비밀번호 해싱과 JWT 인증, 소유권·관리자 권한을 구현합니다.
  • CORS, 자동화 테스트, 환경 변수와 마이그레이션을 적용합니다.
  • 프론트엔드에서 호출할 수 있는 게임 기록·랭킹 REST API를 완성합니다.

선수지식

  • HTML, CSS, JavaScript와 fetch의 기본 사용법
  • HTTP 요청·응답, JSON, 상태 코드의 기초
  • Git add, commit, branch의 기본 흐름
  • 변수, 함수, 클래스, 타입 힌트를 읽을 수 있는 Python 기초 문법

Python 웹 프레임워크와 SQL 경험은 없어도 됩니다. SQLite로 데이터 흐름을 확인한 뒤 PostgreSQL과 운영 준비로 이동합니다.

기술 기준

  • Python 3.13 이상
  • FastAPI와 Uvicorn
  • Pydantic v2
  • SQLAlchemy 2.x, SQLite, PostgreSQL과 Psycopg 3
  • python-dotenv, Alembic
  • pwdlib의 Argon2 해싱과 PyJWT
  • pytest, FastAPI TestClient

설치와 API 사용은 FastAPI 공식 튜토리얼, Pydantic 모델 문서, SQLAlchemy 2.0 문서, Alembic 문서의 현재 방식을 따릅니다.

최종 결과물

완성할 게임 기록·랭킹 API는 다음 기능을 갖습니다.

  • 회원가입과 JWT 로그인
  • 로그인 사용자의 게임 점수 기록 생성·조회·수정·삭제
  • 검색, 정렬, 페이지네이션이 있는 기록 목록
  • 게임별 최고 점수 랭킹
  • 사용자 소유권과 관리자 권한 검사
  • SQLite 개발 환경과 PostgreSQL 운영 환경
  • Alembic 마이그레이션, CORS, API 테스트, 배포 전 점검

26강 학습 순서

  1. 백엔드와 API 서버의 역할
  2. Python 가상환경과 패키지 관리
  3. FastAPI 프로젝트 생성과 서버 실행
  4. HTTP 요청·응답과 REST API 설계
  5. Path Parameter와 Query Parameter
  6. Pydantic 모델과 요청 검증
  7. 응답 모델과 상태 코드
  8. 예외 처리와 일관된 오류 응답
  9. Swagger UI와 ReDoc
  10. 프로젝트 폴더 구조와 Router 분리
  11. 의존성 주입
  12. 설정 파일과 환경 변수 관리
  13. 데이터베이스와 ORM의 역할
  14. SQLAlchemy 2.x와 SQLite 연결
  15. 테이블 모델과 Create, Read
  16. Update, Delete와 데이터 검증
  17. 관계형 데이터와 Foreign Key
  18. 페이지네이션, 정렬, 검색 API
  19. PostgreSQL로 확장
  20. Alembic 마이그레이션
  21. 비밀번호 해싱과 회원가입
  22. JWT 로그인과 인증 의존성
  23. 권한 처리와 보안 기초
  24. CORS와 프론트엔드 연동
  25. 테스트 기초와 API 테스트
  26. 최종 프로젝트 완성과 배포 준비

표로 보는 전체 커리큘럼 · 1강 시작하기

COURSE ORIENTATION

과정 선택 안내

학습 대상
Python과 HTTP 기초를 실제 REST API와 인증·데이터베이스 구현으로 연결하려는 학습자
선수지식
웹 개발 베이스와 Python 기초
최종 결과물
인증과 데이터베이스를 갖춘 게임 기록·랭킹 API
추천 다음 과정