본문 바로가기

추천 검색어

실시간 인기 검색어

가장 빠른 풀스택을 위한 Flask & FastAPI

한 권으로 정리하는 파이썬 백엔드
Dave Lee 지음
비제이퍼블릭

2024년 05월 21일 출간

종이책 : 2024년 05월 21일 출간

(개의 리뷰)
( 0% 의 구매자)
eBook 상품 정보
파일 정보 pdf (8.03MB)
ISBN 9791165922801
지원기기 교보eBook App, PC e서재, 리더기, 웹뷰어
교보eBook App 듣기(TTS) 불가능
TTS 란?
텍스트를 음성으로 읽어주는 기술입니다.
  • 전자책의 편집 상태에 따라 본문의 흐름과 다르게 텍스트를​ 읽을 수 있습니다.
  • 이미지 형태로 제작된 전자책 (예 : ZIP 파일)은 TTS 기능을 지원하지 않습니다.

PDF 필기가능 (Android, iOS)
소득공제
소장
정가 : 26,400원

쿠폰적용가 23,760

10% 할인 | 5%P 적립

이 상품은 배송되지 않는 디지털 상품이며,
교보eBook앱이나 웹뷰어에서 바로 이용가능합니다.

카드&결제 혜택

  • 5만원 이상 구매 시 추가 2,000P
  • 3만원 이상 구매 시, 등급별 2~4% 추가 최대 416P
  • 리뷰 작성 시, e교환권 추가 최대 200원

작품소개

이 상품이 속한 분야

파이썬 기반 웹 프레임워크는 자바(Java)로의 복잡한 구현에 버금가는 좋은 성능의 결과물을 도출하면서도 개발 기간을 획기적으로 단축시킬 수 있습니다. 따라서 세계적으로 인기를 누린 지는 이미 오래되었고 국내에서의 니즈도 점차 활발해지고 있습니다. 또한 파이썬 자체가 꾸준히 개선되며 생산성과 성능, 두 마리 토끼를 잡을 수 있는 기술로 대두되고 있습니다.
플라스크(Flask), FastAPI와 함께라면 이전보다 빠르고, 가볍고, 세련된 웹과 풀스택을 기대해도 좋습니다. 이 책을 통해 방대한 예시와 실전에서 바로 활용할 수 있는 프로젝트를 직접 경험해보고, 배우기 쉽고 현대적인 웹에 적합한 파이썬 기반 웹 프레임워크 기술을 자신만의 무기로 갖춰보세요.
제1장 플라스크와 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

잔재미코딩 Dave Lee
외국어고등학교를 졸업하고 일어일문학을 전공한 비전공자로서 열정을 가지고 IT 분야에 몰두해 좌충우돌 경험을 쌓은 후 연세대학교 컴퓨터공학과 석사 과정을 마쳤습니다. 데이터 관련 분야를 포함해 여러 기술을 접하며 쿠팡 검색 서비스, 삼성페이 등 개발 프로젝트에 참여했고 기획과 비즈니스를 이해하고자 프로덕트 매니저로도 경험을 쌓았습니다.
비전공자로서 다양한 IT 분야를 접하다 보니 실질적으로 관련 기술을 신속하게 익히기에는 자료가 부족하다고 느꼈고, 쉽고 빠르게 학습할 수 있는 온라인 강의를 직접 제작하게 되었습니다. 현재는 현업과 병행하며 '잔재미코딩 Dave Lee'라는 이름으로 강의 활동을 하고 있습니다.

現) 노이먼스&튜링스 CTO
前) 쿠팡 수석 개발 매니저&프로덕트 매니저
삼성전자 개발 매니저

잔재미코딩 fun-coding.org

이 상품의 총서

Klover리뷰 (0)

Klover리뷰 안내
Klover(Kyobo-lover)는 교보를 애용해 주시는 고객님들이 남겨주신 평점과 감상을 바탕으로, 다양한 정보를 전달하는 교보문고의 리뷰 서비스입니다.
1. 리워드 안내
구매 후 90일 이내에 평점 작성 시 e교환권 100원을 적립해 드립니다.
  • - e교환권은 적립일로부터 180일 동안 사용 가능합니다.
  • - 리워드는 1,000원 이상 eBook, 오디오북, 동영상에 한해 다운로드 완료 후 리뷰 작성 시 익일 제공됩니다.
  • - 리워드는 한 상품에 최초 1회만 제공됩니다.
  • - sam 이용권 구매 상품 / 선물받은 eBook은 리워드 대상에서 제외됩니다.
2. 운영 원칙 안내
Klover리뷰를 통한 리뷰를 작성해 주셔서 감사합니다. 자유로운 의사 표현의 공간인 만큼 타인에 대한 배려를 부탁합니다. 일부 타인의 권리를 침해하거나 불편을 끼치는 것을 방지하기 위해 아래에 해당하는 Klover 리뷰는 별도의 통보 없이 삭제될 수 있습니다.
  • 도서나 타인에 대해 근거 없이 비방을 하거나 타인의 명예를 훼손할 수 있는 리뷰
  • 도서와 무관한 내용의 리뷰
  • 인신공격이나 욕설, 비속어, 혐오 발언이 개재된 리뷰
  • 의성어나 의태어 등 내용의 의미가 없는 리뷰

구매 후 리뷰 작성 시, e교환권 100원 적립

문장수집

문장수집 안내
문장수집은 고객님들이 직접 선정한 책의 좋은 문장을 보여 주는 교보문고의 새로운 서비스 입니다. 교보eBook 앱에서 도서 열람 후 문장 하이라이트 하시면 직접 타이핑 하실 필요 없이 보다 편하게 남길 수 있습니다. 마음을 두드린 문장들을 기록하고 좋은 글귀들은 ‘좋아요’ 하여 모아보세요. 도서 문장과 무관한 내용 등록 시 별도 통보없이 삭제될 수 있습니다.
리워드 안내
  • 구매 후 90일 이내에 문장 수집 등록 시 e교환권 100원을 적립해 드립니다.
  • e교환권은 적립일로부터 180일 동안 사용 가능합니다.
  • 리워드는 1,000원 이상 eBook에 한해 다운로드 완료 후 문장수집 등록 시 제공됩니다.
  • 리워드는 한 상품에 최초 1회만 제공됩니다.
  • sam 이용권 구매 상품 / 선물받은 eBook / 오디오북·동영상 상품/주문취소/환불 시 리워드 대상에서 제외됩니다.

구매 후 문장수집 작성 시, e교환권 100원 적립

    교보eBook 첫 방문을 환영 합니다!

    신규가입 혜택 지급이 완료 되었습니다.

    바로 사용 가능한 교보e캐시 1,000원 (유효기간 7일)
    지금 바로 교보eBook의 다양한 콘텐츠를 이용해 보세요!

    교보e캐시 1,000원
    TOP
    신간 알림 안내
    가장 빠른 풀스택을 위한 Flask & FastAPI 웹툰 신간 알림이 신청되었습니다.
    신간 알림 안내
    가장 빠른 풀스택을 위한 Flask & FastAPI 웹툰 신간 알림이 취소되었습니다.
    리뷰작성
    • 구매 후 90일 이내 작성 시, e교환권 100원 (최초1회)
    • 리워드 제외 상품 : 마이 > 라이브러리 > Klover리뷰 > 리워드 안내 참고
    • 콘텐츠 다운로드 또는 바로보기 완료 후 리뷰 작성 시 익일 제공
    감성 태그

    가장 와 닿는 하나의 키워드를 선택해주세요.

    사진 첨부(선택) 0 / 5

    총 5MB 이하로 jpg,jpeg,png 파일만 업로드 가능합니다.

    신고/차단

    신고 사유를 선택해주세요.
    신고 내용은 이용약관 및 정책에 의해 처리됩니다.

    허위 신고일 경우, 신고자의 서비스 활동이 제한될 수
    있으니 유의하시어 신중하게 신고해주세요.


    이 글을 작성한 작성자의 모든 글은 블라인드 처리 됩니다.

    문장수집 작성

    구매 후 90일 이내 작성 시, e교환권 100원 적립

    eBook 문장수집은 웹에서 직접 타이핑 가능하나, 모바일 앱에서 도서를 열람하여 문장을 드래그하시면 직접 타이핑 하실 필요 없이 보다 편하게 남길 수 있습니다.

    P.
    가장 빠른 풀스택을 위한 Flask & FastAPI
    한 권으로 정리하는 파이썬 백엔드
    저자 모두보기
    저자(글)
    낭독자 모두보기
    sam 이용권 선택
    님이 보유하신 이용권입니다.
    차감하실 sam이용권을 선택하세요.
    sam 이용권 선택
    님이 보유하신 이용권입니다.
    차감하실 sam이용권을 선택하세요.
    sam 이용권 선택
    님이 보유하신 프리미엄 이용권입니다.
    선물하실 sam이용권을 선택하세요.
    결제완료
    e캐시 원 결제 계속 하시겠습니까?
    교보 e캐시 간편 결제
    sam 열람권 선물하기
    • 보유 권수 / 선물할 권수
      0권 / 1
    • 받는사람 이름
      받는사람 휴대전화
    • 구매한 이용권의 대한 잔여권수를 선물할 수 있습니다.
    • 열람권은 1인당 1권씩 선물 가능합니다.
    • 선물한 열람권이 ‘미등록’ 상태일 경우에만 ‘열람권 선물내역’화면에서 선물취소 가능합니다.
    • 선물한 열람권의 등록유효기간은 14일 입니다.
      (상대방이 기한내에 등록하지 않을 경우 소멸됩니다.)
    • 무제한 이용권일 경우 열람권 선물이 불가합니다.
    이 상품의 총서 전체보기
    네이버 책을 통해서 교보eBook 첫 구매 시
    교보e캐시 지급해 드립니다.
    교보e캐시 1,000원
    • 첫 구매 후 3일 이내 다운로드 시 익일 자동 지급
    • 한 ID당 최초 1회 지급 / sam 이용권 제외
    • 네이버 책을 통해 교보eBook 구매 이력이 없는 회원 대상
    • 교보e캐시 1,000원 지급 (유효기간 지급일로부터 7일)
    구글북액션을 통해서 교보eBook
    첫 구매 시 교보e캐시 지급해 드립니다.
    교보e캐시 1,000원
    • 첫 구매 후 3일 이내 다운로드 시 익일 자동 지급
    • 한 ID당 최초 1회 지급 / sam 이용권 제외
    • 구글북액션을 통해 교보eBook 구매 이력이 없는 회원 대상
    • 교보e캐시 1,000원 지급 (유효기간 지급일로부터 7일)