책 내용은 이해하기 쉽고, 실습으로 만들어가는 맛이 있으나, 코드에 오타 및 빠진 부분이 많아서 고민할 거리가 있음.
덕분에 공부는 더 되는거 같음..ㅋㅋ
FastAPI의 핵심 기능과 5가지 기술 스택(몽고DB, 도커, pydantic, SQLModel, pytest)으로
이벤트 플래너 애플리케이션을 처음부터 끝까지 완성해본다!
이 책의 강점은 ‘이벤트 플래너 애플리케이션 완성’이라는 목표를 가지고 라우팅부터 데이터베이스 연결, 인증, 테스트, 배포까지 FastAPI의 핵심 기능을 단계별로 적용해본다는 점입니다. 또한 쉽게 실습을 진행할 수 있도록 윈도우와 리눅스 명령어를 각각 제공합니다.
실습 코드는 간결하고 명확합니다. 플라스크, 장고 같은 웹 프레임워크보다 배우기 쉬운 FastAPI의 장점이 잘 반영되어 있기 때문이죠. 반대로 핵심 기능과 코드에 관한 설명은 FastAPI 공식 문서보다 꼼꼼하고 자세합니다. 따라서 웹 개발 초보자도, 다른 프레임워크로 웹 개발을 경험해본 존 개발자도 웹 개발 실력을 한층 더 높일 수 있습니다.
FastAPI에 익숙해진 후에는 저자가 블로그에서 제공하는 실습 자료(Okteto를 사용한 방명록 애플리케이션 구축과 몽고DB, JWT 인증, 리액트를 활용한 애플리케이션 구축 예제)를 통해 추가 학습도 진행할 수 있습니다.
PART 1 FastAPI 시작하기
CHAPTER 1 FastAPI 소개
1.1 Git 기초
_Git 설치
_Git 실행
_Git 브랜치
1.2 virtualenv를 사용한 개발 환경 구축
_가상 환경 생성
_가상 환경 활성화/비활성화
1.3 pip을 사용한 패키지 관리
_pip 설치
_기본 명령
1.4 도커 설정
_도커파일
1.5 간단한 FastAPI 애플리케이션 개발
정리하기
CHAPTER 2 라우팅
2.1 FastAPI의 라우팅
_라우팅 예
2.2 APIRouter 클래스를 사용한 라우팅
2.3 pydantic 모델을 사용한 요청 바디 검증
_중첩 모델
2.4 경로 매개변수와 쿼리 매개변수
_경로 매개변수
_쿼리 매개변수
2.5 요청 바디
_FastAPI 자동 문서화
2.6 간단한 CRUD 애플리케이션 개발
정리하기
CHAPTER 3 응답 모델과 오류 처리
3.1 FastAPI의 응답
3.2 응답 모델 작성
3.3 오류 처리
정리하기
CHAPTER 4 템플릿팅
4.1 Jinja
_필터
_if문
_반복문
_매크로
_템플릿 상속
4.2 FastAPI에서 Jinja를 사용하는 방법
정리하기
PART 2 FastAPI 애플리케이션 개발하기
CHAPTER 5 구조화
5.1 FastAPI 애플리케이션 구조화
_이벤트 플래너 애플리케이션 개발
_모델 구현
_라우트 구현
정리하기
CHAPTER 6 데이터베이스 연결
실습 환경
6.1 SQLModel 설정
_테이블
_로우
_세션
6.2 데이터베이스 생성
_이벤트 생성
_이벤트 조회
_이벤트 변경
_이벤트 삭제
6.3 몽고DB 설정
_문서
_데이터베이스 초기화
6.4 CRUD 처리
_생성 처리
_조회 처리
_변경 처리
_삭제 처리
_routes/events.py
_routes/users.py
정리하기
CHAPTER 7 보안
7.1 FastAPI의 인증 방식
_의존성 주입
_의존 라이브러리 생성
7.2 OAuth2와 JWT를 사용한 애플리케이션 보안
_패스워드 해싱
_액세스 토큰 생성과 검증
_사용자 인증
7.3 애플리케이션 변경
_로그인 라우트 변경
_이벤트 라우트 변경
_이벤트 문서 클래스와 라우트 변경
7.4 CORS 설정
정리하기
PART 3 FastAPI 애플리케이션 테스트 및 배포하기
CHAPTER 8 테스트
8.1 pytest를 사용한 단위 테스트
_픽스처를 사용한 반복 제거
8.2 테스트 환경 구축
8.3 REST API 라우트 테스트 작성
_사용자 등록 라우트 테스트
_로그인 라우트 테스트
_CRUD 라우트 테스트
_조회 라우트 테스트
_생성 라우트 테스트
_변경 라우트 테스트
_삭제 라우트 테스트
8.4 테스트 커버리지
정리하기
CHAPTER 9 배포
9.1 배포 준비
_의존 라이브러리 관리
_환경 변수 설정
9.2 도커를 사용한 배포
_도커파일 작성
_도커 이미지 빌드
_로컬에 애플리케이션 배포
_애플리케이션 실행
9.3 도커 이미지 배포
_데이터베이스 배포
정리하기
빠르게 배워 실무에 바로 적용하는 FastAPI 핵심 안내서
이 책은 파이썬 기반 웹 API 프레임워크인 FastAPI를 애플리케이션 개발에 단계별로 적용합니다. 이 과정을 통해 FastAPI의 필수 기능을 익히고 API 서버, 마이크로서비스, 빠른 개발이 필요한 백엔드 프로젝트에 활용해볼 수 있습니다.
또한 파이썬 3와 몽고DB를 사용해 이벤트 플래너 애플리케이션을 처음부터 끝까지 만들어봅니다. 따라서 웹 개발의 핵심인 라우팅 시스템 구축은 물론 데이터베이스, 보안, 테스트와 배포까지 웹 개발의 전과정을 어렵지 않게 경험할 수 있습니다.
파이썬에 관한 기본 지식만 있다면 웹 개발 경험이 전혀 없는 사람도 수월하게 읽을 수 있습니다. 현직 웹 개발자라면 FastAPI의 핵심 기능을 애플리케이션 개발에 적용해보며 실무 적응력을 높이고, 웹 개발 경험이 없는 사람이라면 이 책의 안내에 따라 첫 FastAPI 애플리케이션을 완성해봅시다!
대상 독자
- 웹 개발 실력을 레벨업하고 싶은 파이썬 사용자
- 플라스크나 장고를 사용하는 웹 개발자
- 웹 개발의 전 과정을 실습해보고 싶은 웹 개발 입문자
이 책에서 다루는 내용
- 라우팅 시스템
- 응답 모델링
- 오류 처리
- 템플릿
- 모델 구조화
- 데이터베이스
- 보안
- 테스트
- 배포