
作者:陈少佳
页数:324
出版社:清华大学出版社
出版日期:2021
ISBN:9787302576839
电子书格式:pdf/epub/txt
内容简介
本书系统地讲解了如何使用Python异步IO编程技术。从学习基础知识开始,展开讲解全栈框架的实现过程及项目开发过程中的实用技术。本书分为基础篇和实战篇。基础篇(~7章)讲解Python异步IO的基础用法及常用技术框架的用法,包括Python asyncio库、页面渲染、异步IO数据库使用、ASGI等技术;实战篇(第8章和第9章)介绍如何基于Python异步IO实现一个全栈框架,并利用该框架开发一个实用项目。本书配套源代码及视频教程,可以使读者学习起来更轻松。本书适合有一定基础的开发人员阅读,用于突破职业瓶颈、从编码员进阶成架构师,也可作为培训机构的参考用书。
作者简介
陈少佳,业内知名编程技术讲师,热爱新技术,善于钻研。
本书特色
最近几年异步编程模型兴起,所有常用的编程语言都在向异步编程模型这个方向演化,甚至系统级编程语言C++在C++2020的标准里已经纳入了异步模型。Python也紧跟时代步伐支持了异步编程模型,在Python网站开发这个技术分支里已经涌现出了一系列的基于异步编程模型的框架,而一些老牌技术框架也开始逐步地支持异步,例如大名鼎鼎的Django在3.0版本以后支持了ASGI,这是个开始,相信在随后的发展中它会全面支持异步。作者将十几年的编程经验汇总并以实用性为根本原则编写本书,全面讲解异步IO编程模型在Python语言中的应用,以及基于异步IO实现一个完整全栈框架的所有流程。
全面讲解Python asyncio库的用法及常用Python Web开发框架!
基于ASGI技术及HTTP规范实现全栈框架!
★人类已经迈入人工智能时代,人工智能编程工具是进行人工智能应用开发的重要工具之一。我已经认识陈少佳老师10多年,在移动互联时代他是最早掌握移动互联编程的一批高级程序员和专家。在人工智能时代,陈少佳老师快速结合自己的学习和实践推出的《Python 异步编程实战——基于AIO的全栈开发技术》一定能对想在人工智能时代快速进步的青年、学生和编程爱好者提供有益的支持和帮助!
——范金鹏 飞腾公司首席生态专家
★本书不仅是Python高阶实战教材,而且包含Python在科技应用中具有较高含金量的案例。任何对Python开发感兴趣的读者,本书在很长一段时间里,都将是你获得深度提高的宝贵资料,这本书是真正推进Python学习开发、应用、构建智能化社会框架的实战应用宝典。
——刘彬 星猿云商创始人兼CEO
★互联网的飞速发展一直改变着我们的生活,人们使用互联网的方式越来越便捷,也越来越频繁,使得任何一个部署在互联网的系统都有一个绕不开的主题——高并发。一个无法在高并发状态下稳定运行的系统是没有用户粘性的,异步编程作为处理高并发的一种最简洁且成本最低的方式,在互联网系统架构设计和实现中得到了广泛的运用。本书系统地介绍了目前最流行的编程语言在异步编程方面的实现原理和方式,并配以翔实的项目案例,指导读者如何在实践中运用。无论对于有志于进入该领域还是想深入学习、提升自我的技术人员,都具有很高的参考价值。
——李华 光大银行业务经理
★Python作为一门应用广泛且简洁易学的语言,很适合初学者尝试新的领域,但由于全局锁的存在,导致其性能饱受诟病。而异步处理比同步处理能提升成百上千倍的效率,弥补了Python性能方面的短板。本书从Python异步编程基础和原理讲起,涵盖工程中各种常用库的使用,并搭配完整的前后端项目实践,全面详尽展示了异步编程的强大之处和Web项目的整体实现思路。对于初学者,可以从本书中领略到异步IO的魅力;对于专业人士,本书也可以让你以另一种角度,更清晰而全面地了解Web框架和项目的整体脉络及技术细节,从而在工作中更加得心应手。
—— 张浩然 人工智能推荐算法高级研发工程师
目录
基础篇
第1章Python AIO库(38min)
1.1协程
1.2任务
1.3支持阻塞型IO
1.4支持CPU密集型运算
扩展阅读: 圆周率算法
1.5文件异步IO
1.6异步Socket服务器
1.7异步Socket客户端
1.8异步HTTP客户端
1.9异步HTTP服务器
1.10子进程
第2章Docker工具(21min)
2.1安装Docker及Docker compose
2.2使用Docker命令
2.3编写Docker镜像
2.4编排服务
第3章AIOHTTP(37min)
3.1创建异步Web服务器
3.2路由
3.3静态文件处理
3.4模板渲染
3.5处理表单提交
3.6文件上传
3.7Session
3.8HTTP客户端
3.9HTTPS支持
第4章aioMySQL(23min)
4.1搭建MariaDB数据库环境
4.2连接数据库
4.3操作数据库
4.4SQLAlchemy异步
4.5与AIOHTTP集成
第5章ASGI(16min)
5.1WSGI
5.2ASGI
5.3Uvicorn
5.4Daphne
5.5Django搭配ASGI
5.6Quart
5.7Starlette
第6章Tornado(13min)
6.1TCP服务器
6.2HTTP服务器
6.3路由
6.4处理静态文件
6.5模板渲染
6.6多语言支持
6.7使用WSGIContainer集成旧系统
6.8HTTP客户端
第7章Socket.IO(19min)
7.1WebSocket实时通信
7.2Socket.IOASGIApp
7.3Socket.IO实时通信
7.4实现聊天室服务器端
7.5实现聊天室浏览器端
7.6Socket.IO与AIOHTTP集成
7.7Socket.IO与Tornado集成
实战篇
第8章实现全栈框架cms4py(27min)
8.1制订需求
8.2接入ASGI
8.3处理静态文件请求
8.4静态文件缓存
8.5处理动态请求
8.6实现控制器热更新
8.7实现动态页面缓存
8.8实现路径参数解析功能
8.9实现表单解析功能
8.10实现Cookie操作
8.11实现Session机制
8.12实现多语言支持
8.13集成模板渲染功能
8.14实现页面重定向
8.15集成pyDAL
8.16集成Socket.IO
8.17支持WSGI
8.18部署在Apache服务器后端
8.19技术总结
第9章房屋直租系统项目实例
9.1制订需求
9.2技术选型
9.3配置运行环境
9.4设计数据库结构
9.5实现用户系统
9.6实现权限系统
9.7管理面板
9.8呈现关系表
9.9组管理
9.10用户管理
9.11实现发布房源功能
9.12房源列表
9.13实现搜索房源功能
9.14实现房源评论功能
9.15部署项目
9.16项目总结
附录A名词解释
附录B开发环境约定
附录C创建项目及依赖项安装
参考文献















