길벗·이지톡

도서 IT전문서/IT입문서

입문자에게는 훌륭한 백엔드 개발 교과서, 시니어에게는 실무 중심의 FastAPI 입문서

입문자에게는 훌륭한 백엔드 개발 교과서,
시니어에게는 실무 중심의 FastAPI 입문서
 

FastAPI는 최근 몇 년 사이 주목받고 있는 파이썬 웹 프레임워크입니다. 비동기 처리와 뛰어난 성능, 간결한 코드 구조 덕분에 AI 서비스나 데이터 기반 백엔드를 구현할 때 널리 사용되고 있습니다. 이 책은 백엔드 개발을 처음 배우는 입문자와 다른 기술 스택을 사용하다가 FastAPI를 배우려는 개발자를 대상으로 FastAPI의 핵심 특징을 소개하고 단계별 프로젝트를 구현합니다. ‘API 설계 및 요청-응답 처리 → MySQL과 FastAPI를 연동한 ORM 구현 → 세션과 JWT 방식의 사용자 인증’까지 이어지는 과정을 따라가며 Todo(할 일 관리) 앱과 Blog(블로그) 앱 두 가지를 완성합니다.

 

백엔드를 처음 배울 때 어려운 점은 “이론은 알겠는데 실제 서비스가 어떻게 돌아가는지 잘 보이지 않는다”는 것입니다. FastAPI는 짧은 코드로 서버를 실행하고, 데이터 검증과 API 문서 생성까지 자동으로 수행해 주어 빠르게 실습 결과를 확인할 수 있습니다. 입문자에게는 학습 성취감을 올려주고 현직 개발자에게는 개발 생산성을 높이는 경험을 선사합니다. 이 책을 통해 FastAPI의 기본 문법은 물론 실제 서비스로 이어지는 백엔드 개발 흐름을 경험해 보세요.

 

목차

1장. FastAPI 소개

1.1 FastAPI 개요

__1.1.1 클라이언트-서버 모델

__1.1.2 FastAPI 소개

__1.1.3 FastAPI의 발전 과정

1.2 FastAPI의 특징

__1.2.1 타입 힌트를 이용한 데이터 검증

__1.2.2 API 문서 자동 생성

__1.2.3 비동기 방식 지원

1.3 파이썬 웹 프레임워크 비교

__1.3.1 Flask

__1.3.2 Django

__1.3.3 Flask, Django, FastAPI 비교

1.4 실습 환경 설정

__1.4.1 파이썬 설치하기

__1.4.2 파이참 설치하기

__1.4.3 프로젝트 생성하기

__1.4.4 가상환경 만들기

__1.4.5 애플리케이션 실행하기

 

2장 FastAPI 시작하기

2.1 HTTP 개요

__2.1.1 요청 메시지

__2.1.2 응답 메시지

2.2 경로 다루기

__2.2.1 기본 사용법

__2.2.2 경로 변수

__2.2.3 엔드포인트

2.3 쿼리 파라미터 다루기

__2.3.1 기본 사용법

__2.3.2 쿼리 파라미터의 선택적 사용

2.4 Pydantic 다루기

__2.4.1 기본 사용법

__2.4.2 정상 값 검증

__2.4.3 비정상 값 검증

2.5 요청 본문 다루기

__2.5.1 기본 사용법

__2.5.2 Swagger UI 화면 구성

__2.5.3 경로 변수, 쿼리 파라미터, 요청 본문 혼합 사용

2.6 응답 본문 다루기

__2.6.1 기본 사용법

__2.6.2 상태 코드

 

3장. 기본 CRUD 구현하기

3.1 REST API 개요

__3.1.1 REST API의 개념

__3.1.2 REST API 설계 원칙

3.2 GET API: 전체 데이터 조회하기

__3.2.1 새 프로젝트 만들기

__3.2.2 응답 모델 정의하기

__3.2.3 전체 할 일 조회하기

3.3 GET API: 단일 데이터 조회하기

__3.3.1 단일 할 일 조회하기

__3.3.2 예외 처리하기

3.4 POST API: 데이터 생성하기

__3.4.1 생성 요청 모델 정의하기

__3.4.2 할 일 생성하기

3.5 PUT/PATCH API: 데이터 수정하기

__3.5.1 수정 요청 모델 정의하기

__3.5.2 할 일 수정하기

3.6 DELETE API: 데이터 삭제하기

__3.6.1 할 일 삭제하기

 

4장. 데이터베이스와 ORM 사용하기

4.1 데이터베이스 개요

__4.1.1 데이터베이스의 개념

__4.1.2 관계형 데이터베이스와 SQL

__4.1.3 MySQL

4.2 데이터베이스 구축하기

__4.2.1 윈도우에 MySQL 설치하기

__4.2.2 맥OS에 MySQL 설치하기

4.3 ORM과 SQLAlchemy

__4.3.1 ORM의 개념

__4.3.2 SQLAlchemy

__4.3.3 SQLAlchemy와 데이터베이스 연결하기

4.4 ORM 모델 정의 및 테이블 생성하기

__4.4.1 ORM 모델 정의하기

__4.4.2 테이블 생성하기

4.5 ORM 활용하기

__4.5.1 전체 할 일 조회하기

__4.5.2 단일 할 일 조회하기

__4.5.3 할 일 생성하기

__4.5.4 할 일 수정하기

__4.5.5 할 일 삭제하기

 

5장. 회원가입 구현하기

5.1 회원가입 기능 설계하기

__5.1.1 회원가입이 필요한 이유

__5.1.2 회원가입 처리 과정

5.2 User 모델 만들기

__5.2.1 User 모델 설계하기

__5.2.2 ORM 객체 관계 이해하기

__5.2.3 User 모델 구현하기

__5.2.4 User 테이블 생성

5.3 라우터 구조화

__5.3.1 라우터의 개념

__5.3.2 Todo 라우터 분리하기

__5.3.3 User 라우터 추가하기

5.4 회원가입 API 구현하기

__5.4.1 요청 데이터 검증하기

__5.4.2 이메일 중복 검사하기

__5.4.3 비밀번호 해시 생성하기

__5.4.4 User 모델 생성 후 DB 저장하기

__5.4.5 응답 반환하기

 

6장. 로그인과 인증 구현하기

6.1 로그인과 인증 개요

__6.1.1 로그인의 개념

__6.1.2 인증의 개념

6.2 로그인 API 구현하기

__6.2.1 로그인 요청 모델 정의하기

__6.2.2 로그인 API 함수 구현하기

6.3 세션 방식으로 인증 구현하기

__6.3.1 세션 방식의 처리 과정

__6.3.2 세션 생성하기

__6.3.3 세션 기반 사용자 인증하기

__6.3.4 로그아웃 구현하기

6.4 JWT 방식으로 인증 구현하기

__6.4.1 JWT 방식의 처리 과정

__6.4.2 JWT의 기본 구조

__6.4.3 액세스 토큰 발급하기

__6.4.4 Authorization 헤더 기반 사용자 인증하기

__6.4.5 로그아웃 구현하기

__6.4.6 세션 방식과 JWT 방식 비교

 

7장. FastAPI 고급 기능

7.1 Lifespan

__7.1.1 Lifespan 기본 사용법

__7.1.2 Lifespan 사용 예: 데이터베이스 초기화

__7.1.3 Lifespan 사용 예: 머신러닝 모델 로드

7.2 의존성 주입

__7.2.1 의존성 주입 방법

__7.2.2 데이터베이스 세션 주입하기

7.3 백그라운드 태스크

__7.3.1 백그라운드 태스크 기본 사용법

__7.3.2 백그라운드 태스크 사용 시 주의사항

7.4 파일 처리

__7.4.1 파일 업로드하기

__7.4.2 파일 저장하기

__7.4.3 파일 다운로드하기

__7.4.4 파일 처리 시 주의사항

 

더보기접기

저자&기여자

ㆍ지은이 신동현

소개
웹 서비스 개발, 시스템 설계, 클라우드 인프라 구축 전반에 걸쳐 실무 역량을 쌓고, 2023년 AWS Security GameDay에서 우승했습니다. 스타트업부터 유니콘 기업에 이르기까지 여러 조직에서 커머스, 핀테크, 헬스케어 등의 백엔드 시스템 설계 및 개발을 담당했으며, 현재는 이러한 실무 경험을 바탕으로 온라인 강의와 부트캠프에서 프로그래밍 교육에 집중하고 있습니다. 단순히 문법 한 줄 더 아는 것보다 문제를 마주했을 때 엔지니어답게 생각하는 '근육'을 길러주고 싶은 마음으로 교육에 임하고 있습니다. - 인프런 https://inflearn.com/users/@qu3vipo

저작권 안내

모든 자료는 저작권법의 보호를 받는 저작물로, 허락 없이 편집하거나 다른 매체에 옮겨 실을 수 없습니다.
인공지능(AI) 기술 또는 시스템을 훈련하기 위해 자료의 전체 내용은 물론 일부도 사용하는 것을 금지합니다.

All materials are protected by copyright law and may not be edited or reproduced in other media without permission.
It is prohibited to use all or part of the materials, including for training artificial intelligence (AI) technologies or systems, without authorization.

연관 프로그램

아래 프로그램은 길벗출판사가 제공하는 것이 아닙니다.
무료로 사용할 수 있는 정보를 안내해 드리니, 지원이 필요하면 해당 프로그렘 제작사로 문의해 주세요.