猜你喜欢
FastAPI Web开发入门、进阶与实战

FastAPI Web开发入门、进阶与实战

书籍作者:钟远晓 ISBN:9787111736486
书籍语言:简体中文 连载状态:全集
电子书格式:pdf,txt,epub,mobi,azw3 下载次数:9466
创建日期:2024-05-05 发布日期:2024-05-05
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板
内容简介

这是一本从实战角度介绍FastAPI web开发的入门与进阶型技术书。本书没有过多的理论介绍,完全从一线工作角度入手,介绍日常web开发需要掌握的相关知识。本书共分为4篇16章:
第1篇是基础篇,主要介绍FastAPI的基础知识,包括FastAPI的基本信息、安装使用、常规操作、中间件、数据库相关内容。作为初学者,掌握这部分内容就可以快速上手使用FastAPI,处理各种日常问题。
第二篇是进阶篇,主要围绕与FastAPI相关的高级技能展开,包括异常处理、功能扩展、安全认证、性能、测试等相关内容。
第三篇是实战篇,主要从案例的角度对FastAPI在典型应用场景中的落地进行分享,包括短链应用、websocket、基于公众号的挂号系统等应用场景。
第四篇是部署篇,这部分重点介绍如何实现FastAPI的自动化部署,这数据高阶人员必备技能。本篇提供了三种自动化部署方式。

作者简介

钟远晓(网名小钟同学)

*某知名企业资深软件工程师。

*FastAPI社区贡献者,为FastAPI社区贡献大量代码和文档。

*FastAPI尝鲜者、实践者,用FastAPI开发了多个高性能、可扩展的大型Web应用。

*FastAPI推动者,通过公众号“程序员小钟同学”发表了近百篇FastAPI相关技术文章。

*精通Python、Go、Android等开发语言,及FastAPI、Flask和Django等框架。

*具有多年的全栈开发经验,在现代Web应用开发、Python生态系统方面经验尤其丰富。


编辑推荐
适读人群 :(1)前端开发人员(2)Web开发人员(3)小程序、APP开发人员(4)从事Python Web开发的后端工程师、运维工程师(5)想要从flask、Django转型到fastapi的人

FastAPI被认为是取代Flask和Django的高性能的Web框架,是业界公认的Python Web的未来。尤其是在Python盛行的当下,FastAPI前景更被看好。InfoWorld发布的2021年最佳开源软件中,FastAPI位列其中。FastAPI具有运行快速、编码快捷、错误更少、操作直观、简易、代码简短、稳健、基于标准。但是学习FastAPI有一定的门槛,本书从0开始,手把手教你玩转FastAPI,是一本从入门到精通的好书。

前言

FastAPI框架诞生于2018年12月,如今已经活跃在各大厂家的产品中,如HttpRunner(一个通用测试框架),这足以说明它越来越受到人们的喜爱。截至本书完稿时,FastAPI在GitHub上已收获54100余颗星,且仍然在快速增长中,与Flask这个老牌框架的距离在慢慢拉近(Flask有61800余颗星)。

在国内,使用FastAPI开发Web应用程序已经开始流行。特别是在测试领域,国内有非常多的企业在生产环境中将FastAPI作为主要开发框架。越来越多的Python程序员慢慢从Flask框架迁移到FastAPI,并开始在生产环境中进行应用。

作者之所以被FastAPI吸引,主要是因为它同时支持同步和异步特性。对于同步来说,从Flask迁移过来没什么压力;对于异步来说,FastAPI在单线程的模式下也可以支持更多的任务并发处理,结合依赖注入和各种模型校验等,可以给开发人员带来更快、更高效、更便捷的体验。当然,FastAPI还有很多其他优秀的特性,本书会进行深入分析。

FastAPI的流行之风已形成,但是国内却少有完整地介绍如何将FastAPI应用到生产环境中的教程,这对想使用FastAPI的用户来说无疑是一个坏消息。为此作者在公众号上发布了一系列与FastAPI基础使用相关的文章,得到了读者的广泛好评。有不少读者建议作者写一本内容全面、讲解具体、实战性强的图书,于是,本书诞生了。

【适合阅读本书的读者】
要想快速且顺畅地掌握本书内容,需要广大读者掌握Python基础知识。若读者对Python完全不了解,则建议先对Python进行简单学习,以便无障碍地阅读本书。
具体来说,适合阅读本书的读者如下:
所有Python Web初中级开发人员。
想要从其他框架(如Flask、Django等)转向FastAPI的Python工程师。
Python Web开发爱好者。
Python Web方向的后端工程师/运维工程师。
想使用FastAPI进行测试开发工作的工程师。

【本书特点】
本书的项目中包括了一些常用的知识点,从基础到实战都有所涉及,对于一些常见疑难问题,也有所陈述并提供了对应的解决方案,希望读者可以从中受益。
本书主要在作者多年的项目实践经验基础上编写而成,有以下特点。
(1)内容全面,可满足初中级读者的需求。本书从基础使用、运行原理到进阶扩展再到高级应用,都进行了深度讲解。无论是初级读者的安装部署、快速上手需求,还是中级读者的二次开发、高级实践需求,本书都能很好地满足。
(2)内容实用,可真正帮助读者高效工作。本书所有的案例均来自实际开发项目,围绕一线实践需求展开。尤其对消息队列的使用、缓存限流器的原理和使用、错误统计的实现等读者关心的内容,本书进行了深度解读。通过阅读本书,读者可以真正上手开发自己的项目,并实现独立部署上线。
(3)内含一个大型的完整案例及多个来自一线的小案例。为了帮助读者把所学知识落地到实际工作中,本书给出了大量案例,读者可以边阅读边实操。另外,为了完整展现开发全流程,让读者掌握使用FastAPI开发项目的方法,本书还给出了一个大型综合案例——预约挂号系统,其中包括项目框架结构规划、路由分组模块化、数据表模型设计、数据库配置、API实现、异常错误处理、日志记录、订单处理、接口测试、部署上线等内容。
(4)提供完整且可运行的示例源代码。每章所涉及的示例代码都是完整可运行的。通过示例代码,读者可以看到FastAPI对相关功能的实现过程,也能直观体验具体业务逻辑的处理过程。

【开发工具版本说明】
本书使用的开发工具版本如下:
Python 3.9.5。
FastAPI 0.72.0。
PyCharm IDE 2021.2。
本地环境开发主要使用Windows 10,生产环境部署基于Linux的CentOS 7.6。

【反馈与交流】
本书中的所有示例代码均托管于码云(https://gitee.com/xiaozhong1988/fastapi_tutorial)上,读者可以通过安装Git客户端来获取相关示例代码。
虽然作者使用FastAPI框架已有些时日,并在生产环境中进行了正式应用,但是不同企业或个人的业务环境、使用场景千差万别,加之作者的水平有限,所以本书给出的部分代码的写法可能不是最优的,也可能存在错误。关于代码错误和优化的相关问题,欢迎大家批评指正,也恳请读者不吝赐教。
读者可以关注公众号“程序员小钟同学”,也可以加入QQ群(247491107),与众多FastAPI的爱好者一起学习交流。

目录

产品特色