课程分类

课程介绍
课程目录
用户评论
课程介绍
课程目录
用户评论

你将获得

  • 掌握某些知识点
  • 学会某些技巧(或思路)

教学服务

  • icon

    1v1专属答疑服务

  • icon

    BAT专家面试辅导

讲师介绍

  • 超过十年的互联网技术研发经验,先后任职于腾讯、盛大、成都品果和成都实验楼。

  • 课程详情

    本课程已暂停答疑和参考代码维护,购买请慎重!
    由于本文档不能加链接,更多课程资料和答疑等信息请查看此文(blog.jaggerwang.net/jwcourse-python-sanic-high-currency-service-develop-in-practice/)。iOS 上购买苹果会抽成 35%,请尽量在网站和安卓上购买,不影响在 iOS 上观看,谢谢!

     
    课程介绍
    性能无法与 C/C++、Java、Go 等静态编译型语言比美,还有全局锁限制的 Python 注定就不适合开发高并发服务?如果你还这样认为,那就 Out 了。Python 现在已经拥有强大和成熟的 `asyncio` 模块,通过使用异步 IO,能够大幅提升像 Web 服务这样的 IO 密集型应用的并发性能。本课程将带领大家使用 Sanic 这个 Python 异步 IO Web 框架,以及 AIOMySQL、AIORedis 等异步库来开发一个支持高并发的 API 服务。学习完本课程,你会对 Python 的 AsyncIO 有一个透彻的理解,掌握如何异步处理 HTTP 请求和访问后端服务(MySQL、Redis),以及如何使用 Docker 来简化应用开发和部署。

    本课程里所开发的围观 API 服务可作为本网校另外一门课程“Flutter 移动应用开发实战”里所开发的围观 APP 的后端 API 服务,有志于成为全栈工程师的同学可以选学。

    适用人群
    有 Python 语言基础,想进入 Python 后端服务开发领域的同学。

    课程目录
    Sanic Web 框架:轻轻松松实现高并发
    Python AsyncIO 介绍:异步 IO 编程 So Easy
    • 为什么需要异步 IO?
    • Python AsyncIO 进化史
    • 高层 APIs
    • 低层 APIs
    Sanic 介绍
    • 同步/异步、阻塞/非阻塞、并发/并行
    • 安装 Sanic
    • Hello World
    • 跟 Flask 性能对比
    配置和日志
    • 配置来源
    • 内置配置
    • Python3 日志 API
    • 内置 Logger
    • 访问日志格式化参数
    请求和响应
    • Request 对象的属性
    • RequestParameters 类型
    • CIMultiDict 类型
    • 自定义 query 参数解析方式
    • 响应内容给请求方
    Cookie 和 Session
    • 什么是 Cookie 和 Session
    • 在 Sanic 应用里操作 Cookie
    • Cookie 属性
    • Sanic 没有内置 Session 支持
    路由
    • 定义路由
    • 路由参数
    • 限定请求方式和 Host 请求头
    • 构建 URL
    • 严格匹配结尾 /
    • 自定义路由名字
    • 静态文件路由
    蓝图
    • 什么时候需要蓝图(Blueprint)
    • 创建蓝图
    • 注册蓝图
    • 蓝图分组(BlueprintGroup)
    • 蓝图还支持以下 Sanic 应用特性
    版本化、异常处理、中间件和监听器
    • 版本化
    • 异常处理
    • 中间件
    • 监听器
    WebSocket 和流
    • WebSocket
    SQLAlchemy SQL 工具包:告别裸写 SQL
    介绍
    • 主要特点
    • ORM vs Core:连 Martin Fowler 都厌倦 ORM 了
    引擎与连接
    • 引擎(Engine)
    • 连接池(Pool)
    • 创建引擎和连接
    • 使用引擎和连接
    • 执行结果(ResultProxy)
    • 结果行(RowProxy)
    • 事务
    定义及创建表
    • 元数据(Metadata )
    • 表(Table)
    • 列(Column)
    • 列默认值(客户端)
    • 列默认值(服务端)
    • 外键约束
    • 唯一约束
    • 主键约束
    • 索引
    • 访问表定义
    • 创建和删除表
    • 反射(Reflect)已有表的定义
    生成及执行语句
    • 语句(Statement)对象
    • 插入
    • 查询
    • 更新
    • 删除
    手动构建语句
    • 表别名(Alias)和列标签(Label)
    • 操作符(Operator)
    • 联结(Conjunction)
    • 函数
    • 类型转换(Cast)
    • 文本 SQL
    高级查询
    • 排序和分页
    • 分组
    • 去重
    • 连接(Join)
    • 标量(Scalar)查询
    • 关联子查询(Correlated Subquery)
    • 集合(Set)查询
    围观 API 服务开发:亲自动手才有收获
    搭建应用骨架:麻雀虽小五脏俱全
    • 创建项目及其 Python 虚拟环境
    • 编写应用配置
    • 编写应用入口
    开发帐号 APIs
    • JSON 响应
    • 错误处理
    • 注册/登录/退出 API
    • 登录检查装饰器
    • 查询已登录用户 API
    • 编辑个人资料 API
    • 发送手机验证码 API
    • 使用 Postman 来测试 API
    开发动态 APIs
    • 上传文件 API
    • 发布动态 API
    • 删除动态 API
    • 查询单个动态 API
    • 已发布动态 API
    • 赞/取消赞动态 API
    • 赞过的动态 API
    • 使用 Postman 来测试 API
    开发用户 APIs
    • 查询单个用户 API
    • 关注/取消关注用户 API
    • 正在关注的用户 API
    • 粉丝 API
    • 关注用户的动态 API
    • 使用 Postman 来测试 API
    Fire 管理命令编写
    • Fire 命令行应用框架介绍
    • 编写模型管理命令
    APScheduler 定时任务运行
    • 动态统计
    • 用户统计
    • APScheduler 定时任务调度框架介绍
    • 编写定时任务管理命令
    WebSocket 即时消息通信
    • 编写 WebSocket 连接管理器
    • 编写 WebSocket 请求处理器
    • 支持多机分布式服务
    Docker 应用部署:一次构建处处运行
    Docker 介绍
    • Docker 越来越流行的原因
    • Docker Engine
    • Docker 工作流程
    Docker 镜像和容器
    • 概念
    • 分层存储
    • Registry 和 Repository(仓库)
    • Docker CLI 仓库操作
    • Docker CLI 镜像管理
    • Docker CLI 容器管理
    Docker 镜像构建
    • 两种构建方式
    • Dockerfile 文件格式
    • Dockerfile 指令
    • 多阶段(Multi-stage)构建
    Docker 存储
    • 三种存储方式
    • 绑定挂载
    • 临时文件系统
    Docker 网络
    • 介绍
    • 网络驱动
    • Bridge 网络
    • Overlay 网络
    • Host 网络
    Docker Compose
    • 适用场景
    • 主要特性
    • 用法示例
    • Compose CLI
    • Compose CLI 子命令
    • Compose 配置文件
    • 多机集群容器编排
    使用 Docker 来简化围观 API 服务开发和部署
    • 编写 Dockerfile 镜像构建文件
    • 编写 Compose 应用部署文件
    • 使用 Compose 来部署应用
    • 在 VSCode 里使用远程容器来快速搭建开发环境

    更新日志
    • 2019-08-03 课程发布
    温馨提示
    • 请勿私下交易
      请勿在平台外交易。与机构和老师私下交易造成的任何损失及纠纷,腾讯课堂不承担任何责任
    • 听课说明

      1、电脑:访问腾讯课堂官网 ke.qq.com 查看我的课表或下载win/mac客户端听课

      2、手机/平板:下载腾讯课堂APP, 进入学习页面听课