가장 빠른 풀스택을 위한 Flask & FastAPI
2024년 05월 21일 출간
국내도서 : 2024년 05월 21일 출간
- eBook 상품 정보
- 파일 정보 pdf (8.03MB)
- ISBN 9791165922801
- 지원기기 교보eBook App, PC e서재, 리더기, 웹뷰어
-
교보eBook App
듣기(TTS) 불가능
TTS 란?텍스트를 음성으로 읽어주는 기술입니다.
- 전자책의 편집 상태에 따라 본문의 흐름과 다르게 텍스트를 읽을 수 있습니다.
- 이미지 형태로 제작된 전자책 (예 : ZIP 파일)은 TTS 기능을 지원하지 않습니다.
PDF 필기가능 (Android, iOS)
쿠폰적용가 23,760원
10% 할인 | 5%P 적립이 상품은 배송되지 않는 디지털 상품이며,
교보eBook앱이나 웹뷰어에서 바로 이용가능합니다.
카드&결제 혜택
- 5만원 이상 구매 시 추가 2,000P
- 3만원 이상 구매 시, 등급별 2~4% 추가 최대 416P
- 리뷰 작성 시, e교환권 추가 최대 200원
작품소개
이 상품이 속한 분야
플라스크(Flask), FastAPI와 함께라면 이전보다 빠르고, 가볍고, 세련된 웹과 풀스택을 기대해도 좋습니다. 이 책을 통해 방대한 예시와 실전에서 바로 활용할 수 있는 프로젝트를 직접 경험해보고, 배우기 쉽고 현대적인 웹에 적합한 파이썬 기반 웹 프레임워크 기술을 자신만의 무기로 갖춰보세요.
_1.1 웹 서비스의 역사와 동향
_1.2 마이크로 프레임워크란?
_1.3 플라스크란 무엇인가?
_1.4 FastAPI란 무엇인가?
제2장 플라스크 시작하기
_2.1 개발 환경 구축
__2.1.1 아나콘다
__2.1.2 비주얼 스튜디오 코드
__2.1.3 curl 명령어
_2.2 안녕, 플라스크!
__2.2.1 Hello, World! 애플리케이션 만들기
__2.2.2 flask run 상세 사용법
__2.2.3 flask run의 추가 옵션
__2.2.4 플라스크 애플리케이션 접속 주소
_2.3 라우팅
__2.3.1 플라스크에서의 라우팅
__2.3.2 URL 변수
__2.3.3 HTTP 메서드
__2.3.4 URL 빌더
__2.3.5 타입 힌트를 활용한 라우팅
_2.4 요청과 응답
__2.4.1 플라스크에서의 요청 처리
__2.4.2 플라스크에서의 응답 처리
__2.4.3 JSON이란 무엇인가?
__2.4.4 상태 코드와 헤더 설정
_2.5 템플릿
__2.5.1 템플릿 기본 사용법
__2.5.2 변수와 제어문
__2.5.3 필터
__2.5.4 반복문
__2.5.5 매크로
__2.5.6 템플릿 상속
_2.6 정적 파일
__2.6.1 플라스크에서 정적 파일 다루기
__2.6.2 정적 파일과 웹페이지 구현
__2.6.3 기존 웹페이지 통합
_2.7 블루프린트
__2.7.1 왜 블루프린트가 필요한가?
__2.7.2 블루프린트 기본 사용법
__2.7.3 애플리케이션 구조 모듈화하기
_2.8 세션과 쿠키
__2.8.1 세션과 쿠키의 필요성
__2.8.2 플라스크에서의 세션 사용법
__2.8.3 플라스크에서의 쿠키 사용법
_2.9 로깅
__2.9.1 왜 로깅이 필요한가?
__2.9.2 로깅 기본 사용법
제3장 플라스크 확장과 성능 개선
_3.1 데이터베이스
__3.1.1 플라스크와 MySQL 연동
__3.1.2 Flask-Migrate
_3.2 인증과 세션
__3.2.1 인증과 세션이란?
__3.2.2 플라스크에서의 인증과 세션
__3.2.3 Flask-Login을 사용한 인증
__3.2.4 예제로 이해하는 인증
__3.2.5 세션을 이용한 상태 관리
__3.2.6 예제로 이해하는 세션
_3.3 RESTful API
__3.3.1 HTTP 메서드 이해하기
__3.3.2 RESTful API 구현하기
_3.4 캐싱
__3.4.1 캐싱이란 무엇인가?
__3.4.2 캐싱 구현하기
_3.5 배포
__3.5.1 웹 서버와 SGI
__3.5.2 WSGI를 지원하는 플라스크
__3.5.3 Gunicorn으로 플라스크 애플리케이션 배포하기
_3.6 테스팅
__3.6.1 플라스크에서의 테스팅
__3.6.2 테스트 실행하기
__3.6.3 unittest의 다양한 기능
_3.7 플라스크 성능 개선 팁
__3.7.1 데이터베이스 쿼리 최적화
__3.7.2 정적 파일 최적화 및 캐싱의 진화된 전략
__3.7.3 로깅을 활용한 효과적인 디버깅
__3.7.4 고도화된 코드 최적화 기법
제4장 플라스크 프로젝트
_4.1 첫 번째 코드: 플라스크 애플리케이션 생성
__4.1.1 플라스크 애플리케이션 생성 및 flask run 설정
__4.1.2 flask run을 사용한 애플리케이션 실행
_4.2 두 번째 코드: 템플릿 사용과 라우팅 확장
__4.2.1 HTML 템플릿 생성
__4.2.2 플라스크 애플리케이션에서 템플릿 렌더링
__4.2.3 추가적인 라우팅 설정
__4.2.4 애플리케이션 실행 및 테스트
_4.3 세 번째 코드: 데이터베이스 연동 및 CRUD 구현
__4.3.1 데이터베이스 연동 및 모델 정의
__4.3.2 CRUD 기능 구현
__4.3.3 CRUD 기능 테스트
_4.4 네 번째 코드: 사용자 인증
__4.4.1 Flask-Login을 활용한 사용자 인증 구현
__4.4.2 사용자 인증 테스트
_4.5 다섯 번째 코드: 사용자별 메모 관리
__4.5.1 사용자별 메모 관리 구현
__4.5.2 memos.html 작성
__4.5.3 메모 관리 기능 테스트
_4.6 여섯 번째 코드: 웹페이지 개선
__4.6.1 home.html 작성
__4.6.2 memos.html 작성
__4.6.3 테스트
_4.7 일곱 번째 코드: 사용자 편의성 향상
__4.7.1 로그인 기능 개선
__4.7.2 회원가입 기능 개선
__4.7.3 프런트엔드 페이지 수정
__4.7.4 로그아웃 기능 개선
__4.7.5 테스트
_4.8 여덟 번째 코드: MVC 패턴 적용
__4.8.1 현재 app.py 파일 구조
__4.8.2 MVC 패턴 적용
플라스크를 마치며
제5장 FastAPI 시작하기
_5.1 안녕, FastAPI!
__5.1.1 Hello, World! API 만들기
__5.1.2 자동 문서화
_5.2 라우팅
__5.2.1 기본 라우팅
__5.2.2 경로 매개변수
__5.2.3 쿼리 매개변수
__5.2.4 curl을 사용한 테스트
_5.3 타입 힌트
__5.3.1 기본 타입 힌트
__5.3.2 고급 타입 힌트
__5.3.3 타입 힌트로 사용 가능한 데이터 타입
_5.4 HTTP 메서드
__5.4.1 FastAPI 코드 작성
__5.4.2 curl을 사용한 테스트
_5.5 Pydantic
__5.5.1 Pydantic 모델 적용
__5.5.2 Pydantic 기본 문법
__5.5.3 중첩된 모델
__5.5.4 List와 Union
_5.6 FastAPI 응답 모델
__5.6.1 기본 응답 모델
__5.6.2 Generic 응답 모델
__5.6.3 Union 응답 모델
__5.6.4 List 응답 모델
_5.7 FastAPI 응답 클래스
__5.7.1 HTMLResponse 예제 코드
__5.7.2 PlainTextResponse 예제 코드
__5.7.3 RedirectResponse 예제 코드
_5.8 요청
__5.8.1 FastAPI에서 쿼리 매개변수 다루기
__5.8.2 Query 클래스의 주요 옵션
__5.8.3 요청 바디
_5.9 예외 처리
__5.9.1 기본 예외 처리
__5.9.2 HTTPException 클래스
__5.9.3 HTTP 헤더
제6장 FastAPI와 풀스택
_6.1 템플릿
__6.1.1 FastAPI 설정
__6.1.2 템플릿 렌더링
__6.1.3 username을 요청에서 받기
__6.1.4 FastAPI와 Jinja2의 기본 문법
__6.1.5 FastAPI와 Jinja2의 고급 문법
_6.2 정적 파일
__6.2.1 FastAPI에서 정적 파일 다루기
__6.2.2 정적 파일과 웹페이지 구현
__6.2.3 기존 웹페이지 통합
_6.3 APIRouter
__6.3.1 다양한 사용법
__6.3.2 미들웨어 설정
__6.3.3 APIRouter와 의존성 함수
__6.3.4 APIRouter와 라우트 설정의 상속
__6.3.5 APIRouter와 플라스크 블루프린트의 비교
_6.4 쿼리 매개변수와 경로 매개변수
__6.4.1 쿼리 매개변수
__6.4.2 경로 매개변수
__6.4.3 타입 지정과 경로 매개변수 연산자
_6.5 백그라운드 태스크
_6.6 스트리밍 응답
_6.7 웹소켓
__6.7.1 웹소켓 기본 사용법
__6.7.2 웹소켓 주요 메서드
제7장 FastAPI 확장과 성능 개선
_7.1 데이터베이스와 ORM
__7.1.1 FastAPI와 MySQL 연동
__7.1.2 SQLAlchemy와 CRUD
_7.2 인증과 세션
__7.2.1 기본 인증 메커니즘 이해하기
__7.2.2 고급 인증1: JWT
__7.2.3 고급 인증2: 세션
_7.3 비동기 처리
_7.4 파일 업로드
_7.5 캐싱과 미들웨어
__7.5.1 FastAPI 캐싱
__7.5.2 FastAPI 주요 미들웨어
_7.6 배포
__7.6.1 Uvicorn 설치 및 실행
__7.6.2 도커로 FastAPI 애플리케이션 배포하기
_7.7 FastAPI 성능 개선 팁
__7.7.1 비동기 프로그래밍 활용
__7.7.2 캐싱 활용
__7.7.3 데이터베이스 커넥션 풀링
제8장 플라스크와 FastAPI 문법 비교
_8.1 라우팅
__8.1.1 플라스크의 라우팅
__8.1.2 FastAPI의 라우팅
_8.2 타입 힌팅
__8.2.1 플라스크의 타입 힌팅
__8.2.2 FastAPI의 타입 힌팅
__8.2.3 주요 차이점
_8.3 요청과 응답
__8.3.1 플라스크의 요청과 응답
__8.3.2 FastAPI의 요청과 응답
__8.3.3 주요 차이점
_8.4 데이터베이스
__8.4.1 플라스크의 PyMySQL과 SQLAlchemy
__8.4.2 FastAPI의 PyMySQL과 SQLAlchemy
__8.4.3 주요 차이점
_8.5 세션 관리
__8.5.1 플라스크의 세션 관리
__8.5.2 FastAPI의 세션 관리
__8.5.3 주요 차이점
_8.6 비동기 처리
__8.6.1 플라스크의 비동기 처리
__8.6.2 FastAPI의 비동기 처리
제9장 FastAPI 프로젝트
_9.1 첫 번째 코드: FastAPI 애플리케이션 생성
__9.1.1 FastAPI 설치 및 프로젝트 구조 설정
__9.1.2 FastAPI 애플리케이션 생성 및 Uvicorn 설정
__9.1.3 Uvicorn을 사용한 애플리케이션 실행
_9.2 두 번째 코드: Jinja2 템플릿 사용과 라우팅 확장
__9.2.1 HTML 템플릿 생성 및 Jinja2 설치
__9.2.2 FastAPI 애플리케이션에서 템플릿 렌더링
__9.2.3 추가적인 라우팅 설정
__9.2.4 애플리케이션 실행 및 테스트
_9.3 세 번째 코드: 데이터베이스 연동 및 CRUD 구현
__9.3.1 데이터베이스 연동 및 모델 정의
__9.3.2 CRUD 기능 구현
__9.3.3 CRUD 기능 테스트
_9.4 네 번째 코드: 사용자 인증
__9.4.1 MySQL을 연동한 사용자 인증 구현
__9.4.2 사용자 인증 테스트
_9.5 다섯 번째 코드: 사용자별 메모 관리
__9.5.1 사용자별 메모 관리 구현
__9.5.2 memos.html 작성
__9.5.3 메모 관리 기능 테스트
_9.6 여섯 번째 코드: 웹페이지 개선
__9.6.1 home.html 작성
__9.6.2 memos.html 작성
__9.6.3 테스트
_9.7 일곱 번째 코드: 마무리
__9.7.1 프런트엔드 페이지 개선
__9.7.2 예외 케이스 보완
__9.7.3 테스트
_9.8 여덟 번째 코드: MVC 패턴 적용
__9.8.1 MVC 패턴에 따른 파일 구조 및 역할
__9.8.2 MVC 패턴 적용
FastAPI를 마치며
잔재미코딩과 함께 하는
파이썬 웹 개발과 풀스택의 대단한 즐거움
벨저크(Werkzeug) 툴킷과 진자2(Jinja2) 템플릿 엔진 기반의 웹 프레임워크 플라스크는 파이썬 기반 웹 프레임워크 중 장고(Django)와 양대 산맥을 이룹니다. 플라스크는 장고보다도 직관적이며 단순하고 자유도가 높아 파이썬이 친숙하다면 쉽게 학습할 수 있고, 한 번 익숙해지면 빠른 속도로 좋은 퀄리티의 서비스를 개발할 수 있습니다.
스타레테(Starlette)를 기반으로 웹 요청을 처리하며 파이단틱(Pydantic) 라이브러리로 데이터 검증과 설정을 하는 FastAPI는 비동기 처리에 최적화되어 있는 파이썬 기반 웹 프레임워크입니다. 플라스크나 장고보다 빠르고 심지어 Go 언어와 유사한 속도를 자랑하는 FastAPI는 특히 I/O 바운드 작업에서 뛰어난 성능을 보이며 타입 제약 기능을 제공해 보안성도 좋습니다.
다양한 기술 실무 및 주니어 양성 경험으로 충분한 실력과 노하우를 쌓은 저자와 함께 현대적인 웹에 적합한 파이썬 기반 웹 프레임워크 기술을 차곡차곡 쌓아보세요.
이 책이 필요한 독자
- 파이썬을 활용한 백엔드에 관심 있는 분
- 웹 애플리케이션 개발을 위해 빠르게 기술을 습득해야 하는 분
- 파이썬 기반 웹 개발의 다양한 실전 프로젝트를 접해보고 싶은 주니어
- 다른 프레임워크에서 플라스크나 FastAPI로의 전환을 고려하는 개발자
작가정보
잔재미코딩 Dave Lee
외국어고등학교를 졸업하고 일어일문학을 전공한 비전공자로서 열정을 가지고 IT 분야에 몰두해 좌충우돌 경험을 쌓은 후 연세대학교 컴퓨터공학과 석사 과정을 마쳤습니다. 데이터 관련 분야를 포함해 여러 기술을 접하며 쿠팡 검색 서비스, 삼성페이 등 개발 프로젝트에 참여했고 기획과 비즈니스를 이해하고자 프로덕트 매니저로도 경험을 쌓았습니다.
비전공자로서 다양한 IT 분야를 접하다 보니 실질적으로 관련 기술을 신속하게 익히기에는 자료가 부족하다고 느꼈고, 쉽고 빠르게 학습할 수 있는 온라인 강의를 직접 제작하게 되었습니다. 현재는 현업과 병행하며 '잔재미코딩 Dave Lee'라는 이름으로 강의 활동을 하고 있습니다.
現) 노이먼스&튜링스 CTO
前) 쿠팡 수석 개발 매니저&프로덕트 매니저
삼성전자 개발 매니저
잔재미코딩 fun-coding.org
이 상품의 총서
Klover리뷰 (0)
- - e교환권은 적립일로부터 180일 동안 사용 가능합니다.
- - 리워드는 1,000원 이상 eBook, 오디오북, 동영상에 한해 다운로드 완료 후 리뷰 작성 시 익일 제공됩니다. (5,000원 이상 상품으로 변경 예정, 2024년 9월 30일부터 적용)
- - 리워드는 한 상품에 최초 1회만 제공됩니다.
- - sam 이용권 구매 상품 / 선물받은 eBook은 리워드 대상에서 제외됩니다.
- 도서나 타인에 대해 근거 없이 비방을 하거나 타인의 명예를 훼손할 수 있는 리뷰
- 도서와 무관한 내용의 리뷰
- 인신공격이나 욕설, 비속어, 혐오 발언이 개재된 리뷰
- 의성어나 의태어 등 내용의 의미가 없는 리뷰
구매 후 리뷰 작성 시, e교환권 100원 적립
문장수집
- 구매 후 90일 이내에 문장 수집 등록 시 e교환권 100원을 적립해 드립니다.
- e교환권은 적립일로부터 180일 동안 사용 가능합니다.
- 리워드는 1,000원 이상 eBook에 한해 다운로드 완료 후 문장수집 등록 시 제공됩니다. (5,000원 이상 eBook으로 변경 예정, 2024년 9월 30일부터 적용)
- 리워드는 한 상품에 최초 1회만 제공됩니다.
- sam 이용권 구매 상품 / 선물받은 eBook / 오디오북·동영상 상품/주문취소/환불 시 리워드 대상에서 제외됩니다.
구매 후 문장수집 작성 시, e교환권 100원 적립
신규가입 혜택 지급이 완료 되었습니다.
바로 사용 가능한 교보e캐시 1,000원 (유효기간 7일)
지금 바로 교보eBook의 다양한 콘텐츠를 이용해 보세요!
- 구매 후 90일 이내 작성 시, e교환권 100원 (최초1회)
- 리워드 제외 상품 : 마이 > 라이브러리 > Klover리뷰 > 리워드 안내 참고
- 콘텐츠 다운로드 또는 바로보기 완료 후 리뷰 작성 시 익일 제공
가장 와 닿는 하나의 키워드를 선택해주세요.
총 5MB 이하로 jpg,jpeg,png 파일만 업로드 가능합니다.
신고 사유를 선택해주세요.
신고 내용은 이용약관 및 정책에 의해 처리됩니다.
허위 신고일 경우, 신고자의 서비스 활동이 제한될 수
있으니 유의하시어 신중하게 신고해주세요.
이 글을 작성한 작성자의 모든 글은 블라인드 처리 됩니다.
구매 후 90일 이내 작성 시, e교환권 100원 적립
eBook 문장수집은 웹에서 직접 타이핑 가능하나, 모바일 앱에서 도서를 열람하여 문장을 드래그하시면 직접 타이핑 하실 필요 없이 보다 편하게 남길 수 있습니다.
차감하실 sam이용권을 선택하세요.
차감하실 sam이용권을 선택하세요.
선물하실 sam이용권을 선택하세요.
-
보유 권수 / 선물할 권수0권 / 1권
-
받는사람 이름받는사람 휴대전화
- 구매한 이용권의 대한 잔여권수를 선물할 수 있습니다.
- 열람권은 1인당 1권씩 선물 가능합니다.
- 선물한 열람권이 ‘미등록’ 상태일 경우에만 ‘열람권 선물내역’화면에서 선물취소 가능합니다.
- 선물한 열람권의 등록유효기간은 14일 입니다.
(상대방이 기한내에 등록하지 않을 경우 소멸됩니다.) - 무제한 이용권일 경우 열람권 선물이 불가합니다.
첫 구매 시 교보e캐시 지급해 드립니다.
- 첫 구매 후 3일 이내 다운로드 시 익일 자동 지급
- 한 ID당 최초 1회 지급 / sam 이용권 제외
- 구글바이액션을 통해 교보eBook 구매 이력이 없는 회원 대상
- 교보e캐시 1,000원 지급 (유효기간 지급일로부터 7일)