logo
logo
x
바코드검색
바코드검색

인기 검색어

실시간 검색어

검색가능 서점

도서목록 제공

FastAPI로 배우는 백엔드 프로그래밍 with 클린 아키텍처

FastAPI로 배우는 백엔드 프로그래밍 with 클린 아키텍처

한용재(지은이)
제이펍
25,000원

일반도서

검색중
서점 할인가 할인률 배송비 혜택/추가 실질최저가 구매하기
22,500원 -10% 0원
1,250원
21,250원 >
yes24 로딩중
교보문고 로딩중
11st 로딩중
영풍문고 로딩중
G마켓 로딩중
쿠팡 로딩중
쿠팡로켓 로딩중
notice_icon 검색 결과 내에 다른 책이 포함되어 있을 수 있습니다.

중고도서

검색중
서점 유형 등록개수 최저가 구매하기
로딩중

eBook

검색중
서점 정가 할인가 마일리지 실질최저가 구매하기
aladin 17,500원 -10% 870원 14,880원 >

책 이미지

FastAPI로 배우는 백엔드 프로그래밍 with 클린 아키텍처
eBook 미리보기

책 정보

· 제목 : FastAPI로 배우는 백엔드 프로그래밍 with 클린 아키텍처 
· 분류 : 국내도서 > 컴퓨터/모바일 > 프로그래밍 언어 > 파이썬
· ISBN : 9791193926529
· 쪽수 : 232쪽
· 출판일 : 2024-10-25

책 소개

파이썬 기반의 FastAPI는 플라스크보다 API 생성이 쉽고, 장고보다 가볍다. 이 책은 FastAPI를 활용해 백엔드 소프트웨어를 클린 아키텍처로 작성하는 법을 안내한다. 클린 아키텍처는 계층이 많아짐에 따라 코드의 ...
파이썬 기반의 FastAPI는 플라스크보다 API 생성이 쉽고, 장고보다 가볍다. 이 책은 FastAPI를 활용해 백엔드 소프트웨어를 클린 아키텍처로 작성하는 법을 안내한다. 클린 아키텍처는 계층이 많아짐에 따라 코드의 양 또한 늘어나지만, 계층을 나누기 편한 FastAPI는 클린 아키텍처를 적용하기에 적합한 웹 프레임워크다. TIL 앱을 만들기 위해 먼저 FastAPI와 클린 아키텍처의 개념과 기능을 알아본 후 회원 가입, DI 도입, CRUD 기능, JWT, 환경변수 설정, 클린 아키텍처 계층 구현, 테스트 작성 등 한 단계씩 나아간다. 클린 아키텍처를 적용하는 과정을 통해 FastAPI라는 강력한 무기를 얻게 될 것이다.

목차

베타리더 후기 ix
시작하며 xii
이 책에 대하여 xiv

CHAPTER 1 FastAPI 개발 환경 구축 1
1.1 FastAPI 소개 1
1.2 포어트리를 이용한 가상 환경과 의존성 관리 5
1.3 Hello, FastAPI 10
1.4 API 문서화 14
1.5 데이터베이스 설정 19
1.6 책에서 만들 애플리케이션: TIL 22
1.7 마무리 23

CHAPTER 2 클린 아키텍처 25
2.1 아키텍처가 필요한 이유 25
2.2 분할 정복 29
2.3 클린 아키텍처의 주요 4계층 30
__2.3.1 도메인(엔티티) 계층 32
__2.3.2 애플리케이션(유스 케이스) 계층 33
__2.3.3 인터페이스(인터페이스 어댑터) 계층 34
__2.3.4 인프라스트럭처(프레임워크 및 드라이버) 계층 35
2.4 의존관계 역전 원칙 36
2.5 마무리 37

CHAPTER 3 회원 가입 39
3.1 User 도메인 39
3.2 회원 가입 유스 케이스 41
__3.2.1 ULID 41
__3.2.2 유저 저장 42
__3.2.3 중복 유저 검사 44
__3.2.4 패스워드 암호화 45
3.3 회원 가입 인터페이스 47
__3.3.1 API 라우터 47
__3.3.2 파이단틱을 이용한 유효성 검사 48
__3.3.3 유효성 검사 오류의 상태 코드를 400 Bad Request로 변경하기 50
__3.3.4 유저 생성 유스 케이스 호출 52
__3.3.5 클래스 기반 라우터 53
3.4 회원 정보 영속화 54
__3.4.1 SQLAlchemy ORM 적용 54
__3.4.2 Alembic으로 테이블 생성 및 리비전 관리 56
__3.4.3 UserRepository 구현 62
3.5 마무리 65

CHAPTER 4 의존성 주입 67
4.1 Depends 68
4.2 dependency-injector 69
4.3 마무리 74

CHAPTER 5 회원 리소스의 CRUD 기능 완성 75
5.1 유저 메모 속성 추가 75
5.2 유저 정보 업데이트 78
5.3 유저 목록 조회 82
__5.3.1 테스트용 유저 데이터 생성 82
__5.3.2 유저 목록 조회 82
__5.3.3 페이징 84
5.4 회원 탈퇴(유저 삭제) 88
5.5 파이단틱 유효성 검사 91
__5.5.1 요청 파라미터/본문 검사 91
__5.5.2 파이단틱 응답 모델 95
5.6 마무리 97

CHAPTER 6 비동기 프로그래밍 99
6.1 파이썬에서 동시성을 처리하는 방법 99
6.2 FastAPI의 비동기 처리 101
6.3 비동기 적용 기준 104
6.4 마무리 105

CHAPTER 7 로그인 107
7.1 JWT 107
__7.1.1 헤더 109
__7.1.2 페이로드 110
__7.1.3 시그니처 111
7.2 로그인 112
7.3 JWT 인증/인가 116
__7.3.1 토큰에 역할 추가 116
__7.3.2 일반 유저용 API 인증/인가 118
__7.3.3 어드민용 API 인증/인가 121
7.4 마무리 124

CHAPTER 8 환경변수 125
8.1 dotenv 126
8.2 config.py: 환경변수 관리 모듈 127
8.3 환경변수 적용 128
8.4 마무리 130

CHAPTER 9 TIL Note 131
9.1 도메인 계층 구현 132
9.2 애플리케이션 계층 구현 134
9.3 인터페이스 계층 구현 139
__9.3.1 노트 생성 140
__9.3.2 노트 목록 조회/노트 상세 조회 141
__9.3.3 노트 업데이트 143
__9.3.4 노트 삭제 144
__9.3.5 태그 이름으로 노트 검색 144
9.4 인프라 계층 구현 145
__9.4.1 Note, Tag 테이블 모델링 145
__9.4.2 테이블 마이그레이션 147
__9.4.3 노트 저장소: 노트 조회 150
__9.4.4 노트 저장소: 노트 생성 152
__9.4.5 노트 저장소: 노트 업데이트 153
__9.4.6 노트 저장소: 노트 삭제 154
__9.4.7 노트 저장소: 태그명으로 노트 조회 155
9.5 마무리 156

CHAPTER 10 백그라운드 작업: 환영 이메일 발송 157
10.1 BackgroundTasks 158
__10.1.1 BackgroundTasks란? 158
__10.1.2 BackgroundTasks로 이메일 전송 160
10.2 셀러리 166
__10.2.1 셀러리란? 166
__10.2.2 셀러리 환경 설정 169
__10.2.3 셀러리 태스크 수행 예시 171
__10.2.4 셀러리로 이메일 전송 176
10.3 마무리 178

CHAPTER 11 미들웨어 179
11.1 미들웨어 예시 181
11.2 콘텍스트 변수 183
11.3 유저 활동을 추적하는 로깅 186
__11.3.1 유저 정보를 콘텍스트 변수로 저장하는 미들웨어 186
__11.3.2 커스텀 로거 188
__11.3.3 유저 ID가 포함된 로그 출력 190
11.4 마무리 191

CHAPTER 12 테스팅 193
12.1 도메인 계층 테스트 194
12.2 애플리케이션 계층 테스트 196
__12.2.1 테스트 더블 197
__12.2.2 유저 생성 유스 케이스 테스트 198
12.3 인터페이스 계층 테스트 204
12.4 인프라 계층 테스트 206
12.5 마무리 209

찾아보기 212

저자소개

한용재 (지은이)    정보 더보기
LG전자 MC사업부에서 휴대폰에 탑재되는 소프트웨어를 오랜 기간 만들었고, 토스인컴과 모두싸인에서 백엔드 엔지니어로 활동하다가 현재는 비긴트의 대표를 맡고 있다. 모토는 일신우일신(日新又日新)이고, 영화와 교양 과학 서적을 좋아한다. 《NestJS로 배우는 백엔드 프로그래밍》(2022, 제이펍)을 집필했고, 《처음 시작하는 FastAPI》(한빛미디어, 2024), 《이펙티브 소프트웨어 테스팅》(2023, 제이펍)을 번역했다.
펼치기

추천도서

도서 정보 제공 : Yes24(www.yes24.com), 알라딘(www.aladin.co.kr)

이 포스팅은 쿠팡파트너스 및 제휴마케팅이 포함된 광고로 이에 따른 일정액의 수수료를 제공받습니다.
최근 본 책