这两本书都是我这几年在将实际开发过程中的心得找到相应的契机陆续写成并已经出版的图书。
《Vue2.0 实践揭秘》
这是我在2016年出版的以Vue2为主题的第一本技术类图书。
简介
本书以Vue2的实践应用为根基,从实际示例入手,详细讲解Vue2的基础理论应用及高级组件开发,通过简明易懂的实例代码,生动地让读者快速、全方位地掌握Vue2的各种入门技巧以及一些在实际项目中的宝贵经验。
本书除了全面、细致地讲述Vue2的生态结构、实际编程技巧和一些从实践中得到的经验,还重点介绍如何以组件化编程思想为指导,以前端工程化方法为实现手段来实践Vue2,通过组件的单元测试和E2E测试来保证工程质量。
目录
- 前言
- 第1章 - 例说Vue.js * 1.1 插值 * 1.2 数据绑定 * 1.3 样式绑定 * 1.4 过滤器
- 第2章 - 工程化的Vue.js开发 * 2.1 - 脚手架 vue-cli * 2.2 - 深入 vue-cli 的工程模板 * 2.3 - Vue工程的Webpack配置与基本用法 * 2.4 - 基于Karma+Phantom+Mocha+Sinon+Chai的单元测试环境 * 2.5 - 基于Nightwatch的端到端测试环境
- 第3章 - 路由与页面间导航 * 3.1 - vue-router * 3.2 - 路由的模式 * 3.3 - 路由与导航 * 3.4 - 导航状态与样式 * 3.5 - URL的替换和追加 * 3.6 - 关于Fallback * 3.7 - 小结
- 第4章 - 组件化的设计与实现方法 * 4.1 - 页面逻辑的实现 * 4.2 - 封装可重用组件 * 4.3 - 自定义事件 * 4.4 - 数据接口的分析与提取 * 4.5 - 从服务端获取数据 * 4.6 - 创建复合型的模板组件 * 4.7 - 数据模拟 * 4.8 - 小结 * 4.9 - 扩展阅读 - Vue组件的继承 mixin
- 第5章 - VUE的测试与调试技术 * 5.1 - Mocha入门 * 5.2 - 组件的单元测试方法 * 5.3 - 单元测试中的仿真技术 * 5.3.1 - 调用侦测 * 5.3.2 - Sinon断言扩展 * 5.3.3 - 存根 * 5.3.4 - 接口仿真 * 5.3.5 - 后端服务仿真 * 5.4 - 调试 * 5.5 - Nightwatch入门 * 5.5.1 - 编写端到端测试 * 5.5.2 - 钩子函数与异步测试 * 5.5.3 - 全局模块与Nightwatch调试 * 5.5.4 - Page Objects 模式 * 5.5.4.1 - 元素 * 5.5.4.2 - 分段 * 5.5.4.3 - 命令
- 第6章 - 视图与表单的处理 * 6.1 - 为Vue2集成uikit * 6.2 - 表格视图的实现 * 6.2.1 - 实时数据筛选 * 6.2.2 - 多行数据的选择 * 6.2.3 - 排序的实现 * 6.3 - 单一职责原则与高级组件开发方法 * 6.3.1 - 搜索区组件 * 6.3.2 - 母板组件 * 6.3.3 - 重构模态对话框组件 * 6.3.4 - 高级组件与Render方法 * 6.3.5 - UIKit按钮组件 * 6.3.6 - 通用表格组件 * 6.4 - 表单的设计与实现 * 6.4.1 - 计算属性的双向绑定 * 6.4.2 - 富文本编辑器的实现 * 6.4.3 - 嵌套式分页容器组件 * 6.4.4 - 表单的验证 * 6.5 - 接入服务端与CRUD的简化 * 6.6 - HTTP拦截器 * 6.7 - 开发服务器的定制
- 第7章 - VUEX状态管理 * 7.1 - Vuex的基本结构 * 7.2 - data的替代者-State和Getter * 7.3 - 测试getter * 7.4 - Action-操作的执行者 * 7.5 - 测试Action * 7.6 - 只用Mutation修改状态 * 7.7 - 测试mutations * 7.8 - 子状态与模块 * 7.9 - 用服务分离外部操作
- 附录 - Chai断言参考
- 附录 - Vee-Validate验证规则参考
《虫术:Python绝技》
这一本是今年7月份上市发行的,也是之前我就这个主题参加了开源中国的问答活动的一本书。
内容摘要
本书以大数据应用方面常用的语言Python为基础,从网络爬虫的实现原理入手,逐步引领读者进入网络爬虫的世界。在各类爬虫框架中,将Scrapy作为轴心,从多个维度揭开爬虫技术的面纱。例如,爬取规则的制定技巧,设计高速爬虫,如何让爬虫更“聪明”地获取数据,将海量数据进行分布式存储的技术,设计具有高隐匿性的爬虫,大规模、高并发的分布式爬虫技术。
目录
- 第1章 爬虫初步
- 1.1 爬虫与大数据
- 1.1.1 大数据架构
- 1.1.2 爬虫的作用与地位
- 1.1.3 Python与爬虫
- 1.1.4 Python的网络爬虫框架
- 1.1.5 虫术技术路线图
- 1.2 实例:简单的爬虫
- 1.3 内容分析进阶
- 1.3.1 选择器
- 1.3.2 深入BeautifulSoup
- 1.3.3 元素的搜寻
- 1.3.4 乱码与中文编码
- 1.4 新闻供稿的爬取实例
- 1.5 小结
- 1.1 爬虫与大数据
- 第2章 Scrapy基础知识
- 2.1 Scrapy架构
- 2.2 Scrapy快速入手
- 2.3 数据模型Item
- 2.4 蜘蛛—Spiders
- 2.5 管道—Item Pipeline
- 2.6 Scrapy的运行与配置
- 2.7 新闻供稿爬虫的Scrapy实现
- 2.8 小结
- 第3章 Scrapy的工程管理
- 3.1 Scrapyd
- 3.2 scrapyd-client及部署
- 3.3 搭建爬虫服务器
- 第4章 中阶虫术
- 4.1 蜘蛛的演化
- 4.1.1 蜘蛛的本质—深入Spider
- 4.1.2 通用蜘蛛
- 4.1.3 蜘蛛中间件
- 4.2 爬虫系统的测试与调试
- 4.2.1 开发期调试
- 4.2.2 蜘蛛的测试
- 4.2.3 蜘蛛的运行期调试
- 4.2.4 调试内存溢出
- 4.3 处理HTTP请求
- 4.3.1 HTTP请求
- 4.3.2 Scrapy的Request对象
- 4.3.3 表单处理
- 4.3.4 下载器中间件
- 4.4 处理HTTP响应
- 4.4.1 HTTP响应
- 4.4.2 Scrapy的响应对象
- 4.4.3 深入选择器
- 4.4.4 非结构化数据的提取
- 4.4.5 黑夜中的眼睛
- 4.5 处理JavaScript
- 4.5.1 示例:电商产品爬虫
- 4.5.2 Selenium和PhantomJS
- 4.5.3 Scrapy与Splash
- 4.6 数据存储与后处理
- 4.6.1 图片的下载与存储
- 4.6.2 示例:产品图片采集
- 4.6.3 导出到数据文件
- 4.6.4 导出到数据库
- 4.6.5 示例:基于阿里云的存储后端
- 4.1 蜘蛛的演化
- 第5章 高阶虫术
- 5.1 增量式爬网
- 5.1.1 推演路由
- 5.1.2 时机的重要性
- 5.1.3 去重处理
- 5.1.4 布隆过滤器
- 5.1.5 基于Redis的布隆过滤器
- 5.2 突破封印
- 5.2.1 封禁浅析
- 5.2.2 客户端仿真
- 5.2.3 化身万千—蜘蛛世界的易容术
- 5.2.4 反跟踪
- 5.2.5 绕开蜜罐
- 5.3 虫海
- 5.3.1 分布式爬虫架构
- 5.3.2 认识scrapy-redis
- 5.3.3 示例:分布式电商爬虫
- 5.4 可视化爬虫
- 5.4.1 示例:某点评网爬虫
- 5.4.2 解读Portia爬虫代码
- 5.4.3 数据项加载器—Item Loaders
- 5.4.4 最后的工作
- 5.1 增量式爬网