책 정보
FastAPI의 핵심 기능과 5가지 기술 스택(몽고DB, 도커, pydantic, SQLModel, pytest)으로
이벤트 플래너 애플리케이션을 처음부터 끝까지 완성해본다!
이 책의 강점은 ‘이벤트 플래너 애플리케이션 완성’이라는 목표를 가지고 라우팅부터 데이터베이스 연결, 인증, 테스트, 배포까지 FastAPI의 핵심 기능을 단계별로 적용해본다는 점입니다. 또한 쉽게 실습을 진행할 수 있도록 윈도우와 리눅스 명령어를 각각 제공합니다.
실습 코드는 간결하고 명확합니다. 플라스크, 장고 같은 웹 프레임워크보다 배우기 쉬운 FastAPI의 장점이 잘 반영되어 있기 때문이죠. 반대로 핵심 기능과 코드에 관한 설명은 FastAPI 공식 문서보다 꼼꼼하고 자세합니다. 따라서 웹 개발 초보자도, 다른 프레임워크로 웹 개발을 경험해본 기존 개발자도 웹 개발 실력을 한층 더 높일 수 있습니다.
FastAPI에 익숙해진 후에는 저자가 블로그에서 제공하는 실습 자료(Okteto를 사용한 방명록 애플리케이션 구축과 몽고DB, JWT 인증, 리액트를 활용한 애플리케이션 구축 예제)를 통해 추가 학습도 진행할 수 있습니다.
목차
PART1. FastAPI 소개
CHAPTER1. FastAPI 소개
책에서 사용하는 기술의 기본 개념을 소개하고, FastAPI 애플리케이션을 개발하기 위한 개발 환경을 구축한다.
Git의 기초, virtualenv를 사용한 개발 환경 구축, pip를 사용한 패키지 관리, 도커의 기본 개념과 설정 방법, 간단한 FastAPI 애플리케이션 개발에 대해 설명한다.
CHAPTER2. 라우팅
라우팅 시스템을 사용한 라우트 생성 방법을 다룬다. 라우팅 시스템의 컴포넌트, 요청 바디, 경로 매개변수 등을 pydantic을 사용해 검증하는 방법도 다룬다.
FastAPI의 라우팅, APIRouter 클래스, pydantic 모델을 사용한 검증, 경로 매개변수와 쿼리 매개변수, 요청 바디, 간단한 CRUD 애플리케이션 개발에 대해 설명한다.
CHAPTER3. 응답 모델과 오류 처리
응답 모델, 오류 처리, 상태 코드를 소개한다.
FastAPI의 응답, 응답 모델 작성, 오류 처리에 대해 설명한다.
CHAPTER4. 템플릿팅
템플릿을 사용한 뷰 생성 방법과 API 응답 렌더링 방법을 설명한다.
Jinja(파이썬으로 작성된 템플릿팅 엔진으로, API 응답을 쉽게 렌더링), FastAPI에서 Jinja를 사용하는 방법에 대해 설명한다.
PART2. FastAPI 애플리케이션 개발하기
CHAPTER5. 구조화
애플리케이션 설계 방법을 살펴보고, chapter 6에서 개발할 애플리케이션의 구조를 간단히 설명한다.
애플리케이션 라우트와 모델 구조화, 플래너 API용 모델 구현에 대해 설명한다.
CHAPTER6. 데이터베이스 연결
SQL과 NoSQL 데이터베이스 클래스에 관해 논의하고, SQL Model을 사용한 SQL 데이터베이스 접속 방법과 객체 문서 매퍼인 beanie를 사용한 몽고 DB 사용법을 다룬다.
SQLModel 설정, SQLModel을 사용한 SQL데이터베이스의 CRUD처리, 몽고 DB 설정, beanie를 사용한 몽고DB의 CRUD 처리에 대해 설명한다.
CHAPTER7. 보안
애플리케이션 보안에 관해 설명하고, 인증 구현과 애플리케이션 라우트의 접속 제한 방법을 살펴본다.
FastAPI의 인증방식, OAuth2와 JWT를 사용한 애플리케이션 보안, 의존성 주입을 사용한 라우트 보호, 교차 출처 리소스 공유(CORS: cross-origin resource sharing) 설정
PART3. FastAPI 애플리케이션 테스트 및 배포하기
CHAPTER8. 테스트
애플리케이션 테스트에 관해 설명하고, API 라우트를 테스트하는 방법을 소개한다.
pytest를 사용한 단위 테스트, 테스트 환경 구축, REST API 라우트 테스트 작성, 테스트 커버리지에 대해 설명한다.
CHAPTER9. 배포
FastAPI 애플리케이션을 배포하는 방법을 설명한다.
배포준비, 도커를 사용한 배포, 도커 이미지 배포에 대해 설명한다.
파이썬을 사용해서 FastAPI부터 데이터베이스 연결, 보안, 배포까지의 과정을 경험해볼 수 있는 책이다. 초보자보다는 파이썬과 Git등을 사용해 본 사람이 FastAPI를 경험해보고 싶을 때 참고하기 좋은 책이라고 생각한다.
"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."
'책 리뷰' 카테고리의 다른 글
[책 리뷰] 업의 그릇 (퍼스널 브랜딩으로 회사 밖에서 돈을 담는 법) (1) | 2023.12.23 |
---|---|
[책 리뷰] 업무에 바로 쓰는 AWS 입문, 김성민 (0) | 2023.02.26 |
[책 리뷰] Do it! 깡샘의 플러터&다트 프로그래밍, 강성윤 (0) | 2023.02.19 |
[책 리뷰] 왜 일하는가 , 이나모리 가즈오 (0) | 2022.12.28 |