저자

빌루바노빅

저자:빌루바노빅
리눅스와웹,파이썬전문개발자로40여년활동했으며『처음시작하는파이썬』(한빛미디어,2020)과『LinuxSystemAdministration』(O’Reilly,2007)을집필했습니다.몇년전FastAPI를발견해대규모생물의학연구API를재작성하는데적용했습니다.이같은긍정적인경험을바탕으로FastAPI를새로운프로젝트에적극도입했습니다.현재미네소타의상그레데사스콰치산맥에서가족과세마리의고양이와함께살고있습니다.

역자:한용재
오랜기간휴대폰에탑재되는소프트웨어를만들었고,현재는백엔드엔지니어로활동중입니다.매년새로운언어나프레임워크를배우려고노력합니다.『NestJS로배우는백엔드프로그래밍』(제이펍,2022)을집필하였고,『이펙티브소프트웨어테스팅』(제이펍,2023)을번역했습니다.

역자:한바름
2019년부터개발자커리어를시작했습니다.파이썬의간결함과직관성에반하고파이썬생태계의다양성에심취해프로젝트에파이썬을주언어로사용합니다.‘나를위한업무관리서비스’SLASH를개발하는SIG에서백엔드엔지니어로중입니다.FastAPI를통해말그대로빠른API를개발하고있습니다.

목차


[PART1모던웹과파이썬]

CHAPTER1모던웹
_1.1서비스와API
_1.2동시성
_1.3계층
_1.4데이터
_1.5정리

CHAPTER2모던파이썬
_2.1도구
_2.2시작하기
_2.3API및서비스
_2.4변수
_2.5타입힌트
_2.6데이터구조
_2.7웹프레임워크
_2.8정리

[PART2빠르게보는FastAPI]

CHAPTER3FastAPI둘러보기
_3.1FastAPI소개
_3.2FastAPI애플리케이션
_3.3HTTP요청
_3.4HTTP응답
_3.5자동문서화
_3.6정리

CHAPTER4Starlette과비동기,동시성
_4.1Starlette
_4.2동시성유형
_4.3FastAPI와Async
_4.4직접사용하기
_4.5쉬는시간:클루저택청소
_4.6정리

CHAPTER5Pydantic과타입힌트,모델
_5.1타입힌트
_5.2데이터그룹화
_5.3대안
_5.4간단한예
_5.5타입유효성검사
_5.6값유효성검사
_5.7정리

CHAPTER6의존성
_6.1의존성이란?
_6.2의존성관련문제
_6.3의존성주입
_6.4FastAPI의존성
_6.5의존성작성
_6.6의존성스코프
_6.7정리

CHAPTER7프레임워크비교
_7.1Flask
_7.2Django
_7.3기타웹프레임워크기능
_7.4데이터베이스
_7.5추천
_7.6기타파이썬웹프레임워크
_7.7정리


[PART3웹사이트만들기]

CHAPTER8웹계층
_8.1쉬는시간:상향식,하향식,양방향?
_8.2RESTfulAPI설계
_8.3파일및디렉터리구조
_8.4첫번째웹사이트코드
_8.5요청
_8.6다중라우터
_8.7웹계층구축
_8.8데이터모델정의
_8.9스텁과가짜데이터
_8.10단계별로구현하는공통기능
_8.11가짜데이터생성
_8.12테스트!
_8.13FastAPI가자동생성한테스트양식
_8.14서비스계층과데이터계층의대화
_8.15페이징과정렬
_8.16정리

CHAPTER9서비스계층
_9.1서비스정의
_9.2레이아웃
_9.3보호
_9.4기능
_9.5테스트!
_9.6웹계층수정
_9.7기타서비스수준고려사항
_9.8정리

CHAPTER10데이터계층
_10.1DB-API
_10.2SQLite
_10.3레이아웃
_10.4데이터베이스초기화
_10.5서비스계층연결
_10.6테스트!
_10.7정리

CHAPTER11인증및인가
_11.1인증의필요성
_11.2인증방법
_11.3글로벌인증:공유비밀번호
_11.4간단한개인인증
_11.5더멋진개인인증
_11.6인가
_11.7미들웨어
_11.8정리

CHAPTER12테스트
_12.1웹API테스트
_12.2테스트의종류
_12.3테스트대상
_12.4pytest
_12.5레이아웃
_12.6단위테스트자동화
_12.7통합테스트자동화
_12.8리포지터리패턴
_12.9전체테스트자동화
_12.10보안테스트
_12.11부하테스트
_12.12정리

CHAPTER13프로덕션
_13.1배포
_13.2HTTPS
_13.3성능
_13.4트러블슈팅
_13.5정리

[PART4갤러리]

CHAPTER14데이터베이스와데이터과학,AI
_14.1데이터저장소
_14.2관계형데이터베이스와SQL
_14.3비관계형데이터베이스
_14.4SQL데이터베이스의NoSQL기능
_14.5데이터베이스부하테스트
_14.6데이터과학과AI
_14.7정리

CHAPTER15파일
_15.1Multipart지원
_15.2파일업로드
_15.3파일다운로드
_15.4정적파일서비스
_15.5정리

CHAPTER16양식과템플릿
_16.1양식
_16.2템플릿
_16.3정리

CHAPTER17데이터탐색및시각화
_17.1파이썬과데이터
_17.2PSV텍스트출력
_17.3SQLite데이터소스및웹출력
_17.4정리

CHAPTER18게임
_18.1파이썬게임패키지
_18.2게임로직분리
_18.3게임설계
_18.4웹계층1:게임초기화
_18.5웹계층2:게임단계
_18.6서비스계층1:초기화
_18.7서비스계층2:점수계산
_18.8즐거운테스트!
_18.9데이터계층:초기화
_18.10크립토나미콘실행
_18.11정리

APPENDIXA더읽을거리
_A.1파이썬
_A.2FastAPI
_A.3Starlette
_A.4Pydantic

APPENDIXB생명체와탐험가
_B.1생명체목록
_B.2탐험가
_B.3탐험가저서
_B.4기타자료

출판사 서평


모두원한모던한파이썬웹프레임워크의등장!
빠르게배우는FastAPI

FastAPI는간단한문법으로빠른웹서비스를만드는프레임워크를표방하며등장한후,파이썬웹프레임워크의선두주자인Django와Flask를따라빠르게성장했다.그리고등장한지5년째인2023년말,깃허브스타수를기준으로Flask를앞지르면서두번째로인기가많은파이썬웹프레임워크가됐다.
이책은FastAPI를사용해미지의생물과연구원정보를관리하는간단한웹서비스를만들어보며FastAPI의사용법을소개한다.또한FastAPI를사용해AI서비스,게임등다양한프로젝트를소개하며원하는프로젝트에FastAPI를응용하는방법도살펴본다.

1부_모던웹과파이썬
웹과파이썬분야에서떠오르는주제들에대해논한다.서비스와API,동시성,계층화된아키텍처,거대한빅데이터를살펴본다.

2부_빠르게보는FastAPI
FastAPI의큰그림을살펴본다.하지만숲이아닌나무를살펴본다.기본기를재빨리훑되,디테일에너무매몰되지않도록수면위로시선을고정한다.각장은비교적짧게구성해,3부에서깊은내용을살펴볼배경지식을제공한다.

3부_웹사이트만들기
FastAPI가제공하는도구를자세히살펴본다.FastAPI로상용소프트웨어를개발할때필요한팁을담았다.

4부_갤러리
FastAPI의여러예시를모았다.이들예시는일반적인데이터소스로만든가상의생명체를사용해서무작위로만든예시보다양식,파일,데이터베이스,차트와그래픽,지도,게임등일반적인웹의기능을소개해조금더흥미롭다.4부에소개한예시를새로운프로젝트의시작점으로삼아도좋다.

대상독자
파이썬으로처음웹개발을시작하려는초보개발자
FastAPI가궁금한백엔드개발자
웹백엔드개발과정을빠르게훑어보고싶은학생

배우는내용
FastAPI로웹애플리케이션을구축하는방법
FastAPI,스탈렛,파이단틱차이점
FastAPI의비동기함수와데이터유형검사및유효성검사
동기및비동기파이썬의차이점
외부API및서비스와연결하는법