计算机
类型
可以朗读
语音朗读
187千字
字数
2020-06-01
发行日期
展开全部
主编推荐语
电商系统设计实战: 从需求到实现
内容简介
本书以电商系统的设计为核心,从需求分析开始,一直到后期的细节实现,采用Django框架,讲解了利用它的特性,构建完整的网站。讲解了Django与数据库、缓存、消息队列、Docker、Nginx等技术组件配合工作实践。以Django为切入点,介绍了安全、测试、日志和监控。本书介绍了Web开发中常见实践,带有丰富的图例和示例,有非常高的实用价值。
目录
- 封面页
- 书名页
- 版权页
- 内容简介
- 作者简介
- 前言
- 目录
- 第1篇 开发工具及框架概述
- 第1章 从零开始学Django
- 1.1 网站运行原理
- 1.1.1 HTTP
- 1.1.2 Web发展
- 1.1.3 浏览器
- 1.1.4 MVC模式
- 1.2 Python Web编程
- 1.2.1 通用网关接口
- 1.2.2 WSGI协议
- 1.2.3 模板引擎
- 1.3 快速上手Django
- 1.3.1 配置开发环境
- 1.3.2 创建项目
- 1.3.3 配置说明
- 1.3.4 创建应用
- 1.3.5 启动开发服务器
- 1.3.6 编写一个页面
- 1.4 总 结
- 1.5 练 习
- 第2篇 项目案例实战
- 第2章 构建电商网站
- 2.1 网站需求分析
- 2.1.1 需求
- 2.1.2 需求分析
- 2.2 网站结构
- 2.2.1 分层设计
- 2.2.2 技术选型
- 2.3 用户模块
- 2.3.1 Django自带的用户模块
- 2.3.2 一对一扩展用户模型
- 2.3.3 继承AbstractBaseUser
- 2.3.4 继承AbstractUser
- 2.4 商品库模块
- 2.4.1 设计模型
- 2.4.2 获取商品
- 2.5 订单模块
- 2.5.1 购物篮模型
- 2.5.2 订单模型
- 2.5.3 获取订单数据
- 2.6 统计模块
- 2.7 总 结
- 2.8 练 习
- 第3章 Django和数据库
- 3.1 管 理
- 3.1.1 配置
- 3.1.2 连接池
- 3.1.3 更改表结构
- 3.2 查 询
- 3.2.1 保存对象
- 3.2.2 获取对象
- 3.2.3 懒加载和缓存
- 3.2.4 聚合查询
- 3.3 事 务
- 3.3.1 事务管理
- 3.3.2 自动提交
- 3.3.3 提交后执行操作
- 3.4 数据库并发控制
- 3.4.1 冲突
- 3.4.2 悲观锁
- 3.4.3 乐观锁
- 3.4.4 解决冲突
- 3.5 数据库扩展
- 3.5.1 扩展方法
- 3.5.2 读写分离
- 3.5.3 垂直分库
- 3.5.4 水平扩展
- 3.5.5 算法分片
- 3.5.6 动态分片
- 3.5.7 全局ID
- 3.6 MySQL实践
- 3.7 总 结
- 3.8 练 习
- 第4章 视 图
- 4.1 配置URL
- 4.1.1 URL匹配
- 4.1.2 配置嵌套
- 4.1.3 反向解析URL
- 4.2 视图函数
- 4.2.1 视图函数
- 4.2.2 请求和响应对象
- 4.2.3 模板响应对象
- 4.3 视图类
- 4.3.1 基本用法
- 4.3.2 视图类的优点
- 4.4 文件上传
- 4.4.1 文件表单
- 4.4.2 文件存储
- 4.4.3 使用对象存储系统
- 4.5 生成文件
- 4.5.1 生成CSV文件
- 4.5.2 生成PDF文件
- 4.6 中间件
- 4.7 总 结
- 4.8 练 习
- 第5章 模 板
- 5.1 Web模板系统
- 5.2 Django模板系统
- 5.2.1 配置
- 5.2.2 模板语言
- 5.3 模板继承
- 5.4 字符转义
- 5.5 自定义标签和过滤器
- 5.5.1 代码路径
- 5.5.2 编写自定义过滤器
- 5.5.3 自定义标签
- 5.6 总 结
- 5.7 练 习
- 第6章 表 单
- 6.1 网页表单
- 6.1.1 表单元素
- 6.1.2 提交数据
- 6.2 Django表单
- 6.2.1 处理流程
- 6.2.2 Form类
- 6.2.3 ModelForm类
- 6.2.4 表单集合
- 6.3 AJAX表单
- 6.3.1 AJAX技术
- 6.3.2 动态表单
- 6.4 验证码
- 6.4.1 表单验证码
- 6.4.2 AJAX验证码
- 6.5 总 结
- 6.6 练 习
- 第7章 Django和缓存
- 7.1 Web缓存系统
- 7.1.1 Redis缓存
- 7.1.2 HTTP缓存
- 7.2 Django缓存系统
- 7.2.1 配置缓存
- 7.2.2 使用缓存
- 7.2.3 缓存页面
- 7.2.4 使用HTTP缓存
- 7.3 缓存替换策略
- 7.4 写入策略
- 7.4.1 Cache-Aside模式
- 7.4.2 Write-Through模式
- 7.4.3 Write-Back模式
- 7.5 高可用缓存系统
- 7.5.1 Redis集群
- 7.5.2 Codis集群
- 7.5.3 缓存穿透和雪崩
- 7.6 总 结
- 7.7 练 习
- 第8章 Django和消息队列
- 8.1 消息队列
- 8.1.1 消息队列系统
- 8.1.2 使用消息队列
- 8.1.3 AMQP
- 8.1.4 使用RabbitMQ
- 8.2 Django和Celery框架
- 8.2.1 任务类
- 8.2.2 在Django中使用Celery
- 8.2.3 定时任务
- 8.2.4 任务路由
- 8.2.5 任务工作流
- 8.2.6 最佳实践
- 8.3 高可用消息队列
- 8.3.1 RabbitMQ高可用
- 8.3.2 NSQ系统
- 8.4 总 结
- 8.5 练 习
- 第9章 Django与安全
- 9.1 安全中间件
- 9.1.1 跨站点脚本防护
- 9.1.2 跨站点伪造请求防护
- 9.1.3 SQL注入防护
- 9.1.4 点击劫持
- 9.1.5 访问白名单
- 9.2 数据安全
- 9.2.1 密码保护
- 9.2.2 安全连接
- 9.2.3 请求签名
- 9.2.4 重放攻击
- 9.3 总 结
- 9.4 练 习
- 第10章 Django和访问控制
- 10.1 认证方式
- 10.1.1 HTTP基本访问认证
- 10.1.2 访问令牌
- 10.1.3 签名验证
- 10.1.4 OAuth2验证
- 10.2 会话状态
- 10.3 控制策略
- 10.3.1 访问控制列表
- 10.3.2 Django权限系统
- 10.3.3 基于身份的访问控制
- 10.4 总 结
- 10.5 练 习
- 第11章 Django和测试
- 11.1 单元测试
- 11.2 Django单元测试
- 11.2.1 编写测试用例
- 11.2.2 运行测试用例
- 11.3 Django测试工具
- 11.3.1 测试客户端
- 11.3.2 测试类
- 11.4 Mock测试
- 11.4.1 Mock对象
- 11.4.2 模拟返回值
- 11.4.3 副作用
- 11.4.4 限定模拟的范围
- 11.5 总 结
- 11.6 练 习
- 第3篇 高可用技术架构
- 第12章 Django与部署
- 12.1 软件部署
- 12.2 部署Django
- 12.2.1 Web服务网关接口
- 12.2.2 配置uWSGI服务器
- 12.2.3 配置Gunicorn服务器
- 12.2.4 配置Nginx服务器
- 12.3 服务管理
- 12.3.1 使用Supervisord管理服务
- 12.3.2 使用systemd管理服务
- 12.4 Django与虚拟化技术
- 12.4.1 使用Vagrant部署Django应用
- 12.4.2 使用Docker部署Django应用
- 12.4.3 Docker的reap问题
- 12.5 总 结
- 12.6 练 习
- 第13章 Django与负载均衡
- 13.1 调度算法
- 13.1.1 循环调度算法
- 13.1.2 最少连接调度算法
- 13.1.3 哈希调度算法
- 13.2 网络冗余
- 13.2.1 网卡绑定
- 13.2.2 虚拟路由器冗余
- 13.3 常用负载均衡器
- 13.3.1 负载均衡器的类型
- 13.3.2 Linux虚拟服务器
- 13.3.3 Nginx反向代理
- 13.4 服务发现
- 13.4.1 服务注册中心
- 13.4.2 注册服务
- 13.4.3 发现服务
- 13.5 总 结
- 13.6 练 习
- 第14章 Django与日志
- 14.1 Python日志模块
- 14.1.1 日志模块组件
- 14.1.2 使用日志模块
- 14.1.3 配置日志模块
- 14.2 Django日志工具
- 14.3 日志管理
- 14.3.1 Elastic技术栈
- 14.3.2 Elasticsearch集群
- 14.4 总 结
- 14.5 练 习
- 第15章 监 控
- 15.1 监控数据采集
- 15.1.1 工作指标
- 15.1.2 资源指标
- 15.1.3 事件
- 15.1.4 收集数据
- 15.2 告 警
- 15.3 使用Prometheus
- 15.3.1 Prometheus的工作方式
- 15.3.2 抓取Linux系统数据
- 15.3.3 抓取Nginx监控数据
- 15.3.4 抓取MySQL监控数据
- 15.3.5 数据存储
- 15.3.6 告警
- 15.4 总 结
- 15.5 练 习
- 第16章 常用工具
- 16.1 Git版本控制系统
- 16.1.1 Git工作方式
- 16.1.2 Gitflow工作流
- 16.1.3 Git日志用法
- 16.2 Linux常用软件
- 16.2.1 安全Shell
- 16.2.2 进程状态
- 16.2.3 系统性能
- 16.3 性能剖析
- 16.3.1 调用路径图
- 16.3.2 性能测试
- 16.3.3 使用Pyflame生成火焰图
- 16.4 总 结
- 16.5 练 习
- 附录CD
展开全部
出版方
清华大学出版社
清华大学出版社成立于1980年6月,是由教育部主管、清华大学主办的综合出版单位。植根于“清华”这座久负盛名的高等学府,秉承清华人“自强不息,厚德载物”的人文精神,清华大学出版社在短短二十多年的时间里,迅速成长起来。清华大学出版社始终坚持弘扬科技文化产业、服务科教兴国战略的出版方向,把出版高等学校教学用书和科技图书作为主要任务,并为促进学术交流、繁荣出版事业设立了多项出版基金,逐渐形成了以出版高水平的教材和学术专著为主的鲜明特色,在教育出版领域树立了强势品牌。