이미 소장하고 있다면 판매해 보세요.
|
|
제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로의 전환을 고려하는 개발자 |