自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 资源 (66)
  • 问答 (5)
  • 收藏
  • 关注

原创 学姐给我的C语言打机枪代码(有声音哦)

自从上次学姐借用我的电脑后,和我说的话就少了,在食堂吃饭遇到她,也不对我笑了,我很不明白,直到有一天,学姐很神秘的给了我一个 C代码,告诉我说这是打手枪用的。。。#include <stdio.h>#include <windows.h>#pragma comment (lib, "winmm.lib") //gcc 请自觉连接 -lwinmm__int64...

2020-04-28 14:52:40 13587

原创 一个神奇的C代码(你知道什么原理吗?)

PYVTX10X41PZ41H4A4I1TA71TADVTZ32PZNBFZDQC02DQD0D13DJE5I16OK4C162K5D16695J1TMN3P1W0P5J0D7N7Z9L9K2I1W5B1M439LLM060L0R691Z414K2Z0M8O5H3Y8M3V604N13KK3L6O0R5JKO0A9Y5B7O6P0N9S3Y0B1H5K100N2Z9R3A0F61075H114S...

2018-12-30 17:51:33 13153

原创 学姐给我的shellcode,说让学习学习

啥也不说了,直接上菜:#pragma comment(linker,"/section:.data,rwe")double data[]= {4.7692617958389255e-063,-2.7069448753256924e-255,-5.2382782092764007e+304, 1.0818100957638435e-096,-6.0312371...

2018-12-27 20:19:01 970

原创 这样的C语言代码你见过吗?可运行!

之前在网上看到一个IOCCC上的很古老的一个代码:short main[] = { 277, 04735, -4129, 25, 0, 477, 1019, 0xbef, 0, 12800, -113, 21119, 0x52d7, -1006, -7151, 0, 0x4bc, 020004, 14880, 10541, 2056, 04010, 4548, 3044, -6716,...

2018-12-24 16:13:30 1471

原创 一个有趣的C代码 (竟然还有声音。。。)

之前写的一个小代码,但只在Windows下有效果:#include &lt;stdio.h&gt;#include &lt;stdlib.h&gt;#define decode(p,r,i,n,t,f) r##f##r##i##t##p#define puts decode(m,s,t,o,e,y)int main(){ puts((char*)(double[]){...

2018-11-08 18:50:46 10407

腾讯区块链白皮书(2018)

腾讯正式发布了区块链方案白皮书,旨在与合作伙伴共同推动可信互联网的发展,打造区块链的共赢生态。与此同时,具有自主知识产权的腾讯区块链行业解决方案也于官方网站正式发布。数字经济时代,腾讯区块链将以其高性能、高安全性、高速接入、高效运营等核心优势,在鉴证证明、智能合约、共享经济、数字资产等领域拥有多样化的应用前景,为合作伙伴提供金融级区块链基础设施的同时,也为用户提供更安全、平等的产品服务。

2018-04-02

低功耗蓝牙开发权威指南 (带书签完整版PDF)

低功耗蓝牙开发权威指南通过与经典蓝牙作对比,详尽介绍了将深入影响下一次无线技术革命的低功耗蓝牙技术的产生、设计、工作原理及其良好的节能、抗干扰特性和灵活、简单的开发特点。本书分为四个部分,分别阐述了低功耗蓝牙技术及其控制器、主机的工作原理,以及应用程序的设计开发,适合从事低功耗蓝牙产品开发工作的工程师、应用程序开发人员、设计师或市场营销人员等各类读者阅读 目录 《低功耗蓝牙开发权威指南》 译者序 前言 第一部分 综  述 第1章 什么是低功耗蓝牙技术 2 1.1 设备类型 4 1.2 设计目标 5 1.3 术语 6 第2章 基本概念 8 2.1 纽扣电池 8 2.2 时间即能量 9 2.3 昂贵的内存 10 2.4 非对称设计 10 2.5 为成功而设计 11 2.6 凡事皆有状态 12 2.7 客户端–服务器架构 12 2.8 模块化架构 13 2.9 十亿只是个小数目 14 2.10 无连接模型 14 2.11 范式 14 2.11.1 客户端–服务器架构 14 2.11.2 面向服务的架构 15 第3章 低功耗蓝牙的体系结构 19 3.1 控制器 20 3.1.1 物理层 20 3.1.2 直接测试模式 20 3.1.3 链路层 21 3.1.4 主机/控制器接口 22 3.2 主机 22 3.2.1 逻辑链路控制和适配协议 22 3.2.2 安全管理器协议 23 3.2.3 属性协议 23 3.2.4 通用属性规范 24 3.2.5 通用访问规范 25 3.3 应用层 25 3.3.1 特性 26 3.3.2 服务 26 3.3.3 规范 26 3.4 协议栈划分 27 3.4.1 单芯片解决方案 27 3.4.2 双芯片解决方案 28 3.4.3 三芯片解决方案 28 第4章 新的使用模型 30 4.1 存在检测 30 4.2 广播数据 31 4.3 无连接模式 31 4.4 网关 32 第二部分 控 制 器 第5章 物理层 36 5.1 背景 36 5.2 模拟调制 36 5.3 数字调制 38 5.4 频段 39 5.5 调制 40 5.6 射频信道 41 5.7 发射功率 41 5.8 容限 42 5.9 接收机灵敏度 42 5.10 通信距离 42 第6章 直接测试模式 45 6.1 背景 45 6.2 收发机测试 46 6.2.1 测试报文格式 46 6.2.2 发射机测试 47 6.2.3 接收机测试 47 6.3 硬件接口 48 6.3.1 串口 48 6.3.2 命令与事件 48 6.4 使用HCI的直接测试模式 50 第7章 链路层 51 7.1 链路层状态机 51 7.1.1 就绪态 52 7.1.2 广播态 53 7.1.3 扫描态 53 7.1.4 发起态 54 7.1.5 连接态 55 7.1.6 多状态机 55 7.2 报文 57 7.2.1 广播与数据报文 57 7.2.2 白化 57 7.3 报文结构 59 7.3.1 比特序与字节 60 7.3.2 前导 60 7.3.3 接入地址 60 7.3.4 报头 61 7.3.5 长度 61 7.3.6 净荷 63 7.3.7 循环冗余校验 63 7.4 信道 63 7.4.1 跳频 66 7.4.2 自适应跳频 66 7.5 设备发现 68 7.5.1 通用广播 69 7.5.2 定向广播 69 7.5.3 不可连接广播 70 7.5.4 可发现广播 70 7.6 广播 70 7.7 建立连接 71 7.7.1 接入地址 72 7.7.2 CRC初始化 72 7.7.3 发送窗口 72 7.7.4 连接事件 73 7.7.5 信道图 74 7.7.6 睡眠时钟精度 74 7.8 发送数据 74 7.8.1 数据报头 75 7.8.2 逻辑链路标识符 75 7.8.3 序列号 76 7.8.4 确认 76 7.8.5 更多数据 77 7.8.6 使用序列号和更多数据的例子 77 7.9 加密 79 7.9.1 AES 79 7.9.2 加密净荷数据 80 7.9.3 消息完整性校验 81 7.10 管理连接 82 7.10.1 连接参数更新 83 7.10.2 自适应跳频 84 7.10.3 启动加密 85 7.10.4 重启加密 87 7.10.5 版本交换 87 7.10.6 功能交换 89 7.10.7 终止连接 90 7.11 鲁棒性 90 7.11.1 自适应跳频 90 7.11.2 强CRC 92 7.12 为低功耗优化 93 7.12.1 短报文 93 7.12.2 高比特率 94 7.12.3 低开销 95 7.12.4 确认机制 96 7.12.5 单信道连接事件 96 7.12.6 亚速率连接事件 97 7.12.7 离线加密 98 第8章 主机/控制器接口 99 8.1 介绍 99 8.2 物理接口 99 8.2.1 UART 99 8.2.2 3线UART 100 8.2.3 USB 101 8.2.4 SDIO 102 8.3 逻辑接口 102 8.3.1 HCI信道 102 8.3.2 命令数据包 102 8.3.3 事件数据包 103 8.3.4 数据包 104 8.3.5 命令流控 105 8.3.6 数据流控 106 8.4 控制器的配置 106 8.4.1 重置控制器为已知状态 106 8.4.2 读取设备地址 107 8.4.3 设置事件掩码 107 8.4.4 读取缓冲区大小 108 8.4.5 读取控制器支持的功能 109 8.4.6 读取控制器支持的状态 109 8.4.7 随机数 110 8.4.8 加密数据 110 8.4.9 设置随机地址 111 8.4.10 白名单 112 8.5 广播和观察 112 8.5.1 广播 112 8.5.2 被动扫描 114 8.5.3 主动扫描 115 8.6 发起连接 116 8.6.1 与白名单设备发起连接 116 8.6.2 与单一设备发起连接 118 8.6.3 取消连接请求 118 8.7 连接管理 119 8.7.1 更新连接 119 8.7.2 更新信道映射图 120 8.7.3 交换功能列表 121 8.7.4 交换版本信息 121 8.7.5 加密连接 122 8.7.6 重启加密 123 8.7.7 终止连接 125 第三部分 主  机 第9章 逻辑链路控制和适配协议 128 9.1 背景 128 9.2 L2CAP信道 130 9.3 L2CAP数据包结构 130 9.4 低功耗信令信道 131 9.4.1 命令拒绝 132 9.4.2 连接参数更新请求和响应 132 第10章 属性 135 10.1 背景 135 10.1.1 精简协议 136 10.1.2 无所不在的数据 136 10.1.3 数据与状态 137 10.1.4 几种常见的状态 137 10.1.5 状态机 138 10.1.6 服务和规范 139 10.2 属性 142 10.2.1 属性概述 143 10.2.2 属性句柄 143 10.2.3 属性类型 143 10.2.4 属性值 144 10.2.5 数据库、服务器和客户端 145 10.2.6 属性许可 145 10.2.7 接入属性 147 10.2.8 原子操作和事务 148 10.3 分组 149 10.4 服务 150 10.4.1 扩展服务 151 10.4.2 其他服务的重用 153 10.4.3 结合服务 153 10.4.4 首要还是次要 154 10.4.5 即插即用的客户端应用 156 10.4.6 服务声明 157 10.4.7 包含服务 158 10.5 特性 159 10.5.1 特性声明 159 10.5.2 特性数值 161 10.5.3 描述符 161 10.6 属性协议 164 10.6.1 协议消息 165 10.6.2 交换MTU请求 165 10.6.3 查找信息请求 166 10.6.4 按类型值查找请求 167 10.6.5 按类型读取请求 168 10.6.6 读取请求 168 10.6.7 大对象读取请求 168 10.6.8 多重读取请求 169 10.6.9 按组类型读取请求 169 10.6.10 写入请求 169 10.6.11 写入命令 169 10.6.12 签名写入命令 169 10.6.13 准备写入请求与执行写入请求 170 10.6.14 句柄值通知 171 10.6.15 句柄值指示 171 10.6.16 错误响应 171 10.7 通用属性规范 173 10.7.1 发现规程 174 10.7.2 发现服务 174 10.7.3 特性发现 175 10.7.4 客户端发起规程 176 10.7.5 服务器发起规程 178 10.7.6 属性协议数据单元(ATT PDU)到GATT规程的映射 178 第11章 安全 180 11.1 安全概念 180 11.1.1 认证 180 11.1.2 授权 181 11.1.3 完整性 181 11.1.4 机密性 182 11.1.5 隐私 182 11.1.6 加密引擎 182 11.1.7 共享机密 182 11.2 配对和绑定 185 11.2.1 配对 185 11.2.2 配对信息交换 185 11.2.3 认证 186 11.2.4 密钥分配 187 11.2.5 绑定 188 11.3 数据签名 188 第12章 通用访问规范 189 12.1 背景 189 12.1.1 初次发现 190 12.1.2 建立初始连接 191 12.1.3 服务特性 191 12.1.4 长期关系 192 12.1.5 重连 192 12.1.6 私有地址 193 12.2 GAP角色 193 12.3 模式和规程 194 12.3.1 广播模式和观察规程 195 12.3.2 可发现性 195 12.3.3 可连接性 197 12.3.4 绑定 199 12.4 安全模式 200 12.5 广播数据 201 12.5.1 标识 202 12.5.2 服务 202 12.5.3 本地名称 203 12.5.4 发射功率等级 203 12.5.5 从设备连接间隔范围 203 12.5.6 服务请求 203 12.5.7 服务数据 203 12.5.8 制造商指定数据 203 12.6 GAP服务 204 12.6.1 设备名特性 204 12.6.2 外观特性 204 12.6.3 外围设备隐私标识 204 12.6.4 重连地址 205 12.6.5 外围设备首选连接参数 205 第四部分 应  用 第13章 中央设备 208 13.1 背景 208 13.2 发现设备 208 13.3 连接设备 209 13.4 这个设备能做什么 210 13.5 通用客户端 211 13.6 与服务交互 211 13.6.1 可读特性 212 13.6.2 控制点 212 13.6.3 状态机 213 13.6.4 通知和指示 214 13.7 绑定 214 13.8 变更服务 215 13.9 实现规范 216 13.9.1 定义规范 216 13.9.2 查找服务 217 13.9.3 查找特性 217 13.9.4 使用特性 217 13.9.5 规范安全 217 第14章 外围设备 219 14.1 背景 219 14.2 仅广播 219 14.3 可发现 220 14.4 可连接 220 14.5 公开服务 221 14.6 特性 221 14.7 安全事项 222 14.8 为低功耗优化 222 14.8.1 可发现广播 224 14.8.2 绑定 224 14.8.3 可连接广播 224 14.8.4 定向广播 225 14.8.5 已连接 225 14.8.6 保持连接还是断开 226 14.9 优化属性 227 第15章 测试和质量鉴定 229 15.1 启动项目 229 15.2 选择功能 231 15.3 一致性检查 232 15.4 生成测试计划 232 15.5 建立合规文件夹 232 15.6 鉴定测试 233 15.7 鉴定设计 234 15.8 合规声明 234 15.9 产品名录 234 15.10 结合组件 235

2018-02-11

游戏脚本高级编程 (高清珍藏版PDF带书签)

一本学习游戏编程的入门宝典 第1篇 脚本编程的基本原理 第1章 脚本编程概论 1.1 什么是脚本编程 1.2 结构化的游戏内容——一种简单的游戏设计方法 1.3 通过将逻辑和具体实现相互分离来改善这种方法 1.4 硬编码的危险性 1.5 将功能函数存放到外部文件 1.6 脚本是如何运行的 1.7 脚本系统的基本类型 1.8 总结 第2章 脚本编程系统的应用 2.1 编写脚本的普遍目的 2.2 角色扮演游戏(Role Playing Games,RPGs) 2.3 第一人称射击游戏(First-Person Shooters,FPSs) 2.4 总结 第2篇 基于命令的脚本 第3章 基于命令的脚本编程绪论 3.1 基于命令的脚本编程的基础知识 3.2 基于命令的脚本编程综述 3.3 实现一种基于命令的语言 3.4 为一个游戏的介绍顺序编写脚本 3.5 为RPG游戏中某个角色的行为编写脚本 3.6 并发的脚本执行 3.7 总结 3.8 CD上的内容 3.9 挑战 第4章 基于命令的高级脚本 …… 第3篇 结构化的脚本编程语言概述 第5章 结构化的脚本编程系统介绍 第6章 对现有脚本编程系统的集成和使用 第7章 设计一个面向过程的脚本编程语言 第4篇 设计和实现一种底层语言 第8章 汇编语言入门 第9章 构造XASM汇编器 第5篇 设计和实现虚拟机 第10章 汇编语言入门 第11章 高级虚拟机的概念和问题 第6篇 编译高级代码 第12章 编译理论概论 第13章 词法分析器 第14章 构造XtremeStcript编译器框架 第15章 语法分析和语义分析. 第7篇 完成培训 第16章 应用这个系统开发的一个完整游戏 第17章 从今往后,何去何从

2018-02-02

云环境下的软件测试:迁移与执行 高清PDF完整版 带书签目录

《云环境下的软件测试--迁移与执行》作者斯科特·蒂利、托希达·帕维恩所在的美国卡内基·梅隆大学软件工程学院的团队组织了一个对云环境下软件测试相关课题感兴趣的社区,同时也开发和实现了SMART-T框架和HadoopUnit执行环境。书中涉及的思想、方法和工具都具有创新性,是在近年来发表的学术论文基础上进行总结和梳理形成的专著。该专著中详细研究和分析了5个案例,向云测试研究者提供了相关的理论分析和阐述,以及不可多得的实践经验,为希望将测试技术迁移至云计算环境的技术人员提供了最佳的实践范例。简而言之,本书是针对云测试技术的研究者和软件测试人员提供相关前沿技术介绍的一本论著,重点在一个“新”字,新兴市场的创新技术! 目录 第一章 引言 1.1 软件测试 1.1.1 回归测试 1.1.2 单元测试 1.1.3 分布式测试 1.2 云计算 1.2.1 云服务 1.2.2 云提供商 1.2.3 云的类型 1.3 系统迁移 1.3.1 遗留系统 1.3.2 迁移技术 1.3.3 SMART 1.4 测试执行时间冗长的问题 1.5 在云环境下的软件测试 第二章 sMART-T:将测试迁移至云 2.1 SMART-T 2.2 为什么将测试迁移至云 2.2.1 使测试更快 2.2.2 使测试更便宜 2.2.3 更好的测试 2.3 何时将测试迁移至云 2.3.1 应用程序的特点 2.3.2 测试类型 2.3.3 基于云的测试执行环境 2.4 如何将测试迁移至云 2.4.1 尝试迁移 2.4.2 实际迁移 2.5 小结 第三章 HadoopUnit:云环境下的测试执行 3.1 Hadoop 3.1.1 Hadoop分布式文件系统 3.1.2 MapRcduce 3.1.3 Hadoop是如何工作的 3.2 HadoopUnit的设计 3.2.1 测试用例的提取 3.2.2 Map函数 3.2.3 Reduce函数 3.3 HadoopUnit的实现 3.4 使用HadoopUnit 3.4.1 在主节点上安装HadoopUnit 3.4.2 为测试的执行配置HadoopUnit 3.4.3 采用HadoopUnit执行测试用例 3.5 小结 第四章 案例研究 4.1 JUnit 4.1.1 生成的测试用例 4.1.2 Hadoop 4.1.3 Spring 4.2 GCC 4.2.1 业务驱动 4.2.2 技术因素 4.2.3 尝试迁移 4.2.4 实际迁移 4.2.5 结果 4.3 XYZ 4.3.1 业务驱动 4.3.2 技术因素 4.3.3 讨论 4.4 效度的威胁 4.4.1 被测应用程序 4.4.2 执行的测试类型 4.4.3 迁移中的变更 4.5 小结 第五章 结论 5.1 结果总结 5.1.1 迁移至云 5.1.2 云环境下的测试执行 5.2 经验教训 5.2.1 将测试迁移至云 5.2.2 云环境下的测试执行 5.3 结束语 附录 附录A SMART-T问卷 附录B 搭建Hadoop 附录C 转换GCC测试用例

2018-01-31

MySQL 中文参考手册

MySQL 中文参考手册 MySQL 中文参考手册 MySQL 中文参考手册

2018-01-31

OpenGL编程指南(原书第9版) 英文原版+源码 高清pdf

OpenGL编程指南(原书第9版) 将着色器相关的技术完全融入了经典的以函数讲解为核心的章节当中,并且通过丰富的代码案例来演示这些现代化的技法。从基础的概念,到物体的绘制、着色、像素、片元、变换方法、纹理、帧缓存、光照和阴影、内存等高级方法和非图形学应用的讲解,无所不包。本书还讲解了着色器的每一个阶段,包括全新的细分、几何和计算着色器。 本书共12章,第1章概述OpenGL主要特性和功能;第2章讨论OpenGL中*主要的特性——可编程着色器和SPIR-V;第3章介绍使用OpenGL进行几何体绘制的各种方法,以及一些可以让渲染更为高效的优化手段;第4章阐释OpenGL对于颜色的处理过程;第5章介绍在一个二维计算机屏幕上表现三维场景的操作细节;第6章讨论将几何模型与图像结合来创建真实的、高质量的三维模型的方法;第7章介绍计算机图形的光照效果模拟方法;第8章介绍使用可编程着色器生成纹理和其他表面效果的方法细节;第9章解释OpenGL管理和细分几何表面的着色器功能;第10章介绍在OpenGL渲染流水线中使用着色器进行几何体图元修改的特别技术;第11章介绍使用OpenGL帧缓存和缓存内存实现高级渲染技术和非图形学应用的相关方法;第12章介绍了*新的着色器阶段,将通用计算的方法融合到OpenGL的渲染流水线当中。

2018-01-27

D程序设计语言 (高清完整版) 适合初学者

《D程序设计语言》据说最容易学习理解的语言 不仅适合于D语言初学者,对于想学习编译器实现的研究人员、想拓展学生的编程语言知识面的教师以及想深入了解编程语言设计的人,也能提供很好的帮助和指导。

2018-01-27

物联网 核心技术详解(高清完整版PDF 带索引)

物联网 核心技术详解(高清完整版PDF 带索引) 需要的可以看看。

2018-01-26

智能硬件安全(一本书掌握物联网安全核心技术)高清完整珍藏版PDF

一本书掌握 物联网 安全核心技术,学会即可天下无敌。

2018-01-26

网络游戏服务器端编程 高清完整版PDF 写出高效的服务端

非常适合从事游戏开发,但是没有网络游戏服务器端开发经验的游戏行业程序开发人员

2018-01-25

DEEP LEARNING 深度学习 中文高清珍藏版.包含源代码

本资源包含 高清PDF 和源代码 《Deep Learning》(深度学习)是一本皆在帮助学生和从业人员进入机器学习领域的教科书,以开源的形式免费在网络上提供,这本书是由学界领军人物 Ian Goodfellow、Yoshua Bengio 和 Aaron Courville 合力打造。

2018-01-25

VC 6.0 精简版(完美支持WIN7 WIN8 WIN10)

VC 6.0 精简版(完美支持WIN7 WIN8 WIN10) 很适合学习编程入门 VC 6.0 精简版(完美支持WIN7 WIN8 WIN10) 很适合学习编程入门 VC 6.0 精简版(完美支持WIN7 WIN8 WIN10) 很适合学习编程入门

2018-01-24

Java API文档中文版chm版

Java API文档中文版 查 询、学习、 必 备学习资料 。。 Java API文档中文版 查 询、学习、 必 备学习资料 。。 Java API文档中文版 查 询、学习、 必 备学习资料 。。

2018-01-24

PLSQL Developer 12.0.1 绿色版

PLSQL Developer 12.0.1 绿色版。需要的可以收藏下。。 PLSQL Developer 12.0.1 绿色版。需要的可以收藏下。。 PLSQL Developer 12.0.1 绿色版。需要的可以收藏下。。 PLSQL Developer 12.0.1 绿色版。需要的可以收藏下。。 PLSQL Developer 12.0.1 绿色版。需要的可以收藏下。。

2018-01-24

微信跳一跳小游戏源代码

微信 跳一跳小游戏 源代码 别人给的 在这里分享给大家 微信 跳一跳小游戏 源代码 别人给的 在这里分享给大家 微信 跳一跳小游戏 源代码 别人给的 在这里分享给大家

2018-01-24

蜕变-从菜鸟到Linux安全专家.高清扫描版

《蜕变:从菜鸟到linux安全专家》通过实际故事场景对linux安全技术和应用方法进行了全面、深入和系统的分析。分别从黑客攻击的基本技术、linux面临的安全威胁、linux系统安全管理、linux网络服务安全管理、linux核心安全技术等多个层面,向读者系统、全面、科学地讲述了与linux相关的原理、技术和机制等安全方法。 《蜕变:从菜鸟到linux安全专家》覆盖的知识面广,基本覆盖了linux安全的方方面面。本书适用于广大读者群,包括众多linux安全爱好者、中高级linux用户、it培训人员及it从业者,同时也兼顾网络管理员。本书也可作为高等院校计算机和信息安全专业学生的教学参考用书。

2018-01-24

大型网站技术架构_核心原理与案例分析_李智慧

大型网站技术架构:核心原理与案例分析 目录: 第1篇 概述 1 大型网站架构演化 2 1.1 大型网站软件系统的特点 3 1.2 大型网站架构演化发展历程 4 1.2.1 初始阶段的网站架构 4 1.2.2 应用服务和数据服务分离 4 1.2.3 使用缓存改善网站性能 5 1.2.4 使用应用服务器集群改善网站的并发处理能力 6 1.2.5 数据库读写分离 7 1.2.6 使用反向代理和CDN加速网站响应 8 1.2.7 使用分布式文件系统和分布式数据库系统 9 1.2.8 使用NoSQL和搜索引擎 10 1.2.9 业务拆分 11 1.2.10 分布式服务 11 1.3 大型网站架构演化的价值观 13 1.3.1 大型网站架构技术的核心价值是随网站所需灵活应对 13 1.3.2 驱动大型网站技术发展的主要力量是网站的业务发展 13 1.4 网站架构设计误区 14 1.4.1 一味追随大公司的解决方案 14 1.4.2 为了技术而技术 14 1.4.3 企图用技术解决所有问题 14 1.5 小结 15 2 大型网站架构模式 16 2.1 网站架构模式 16 2.1.1 分层 17 2.1.2 分割 18 2.1.3 分布式 18 2.1.4 集群 19 2.1.5 缓存 20 2.1.6 异步 20 2.1.7 冗余 21 2.1.8 自动化 22 2.1.9 安全 23 2.2 架构模式在新浪微博的应用 23 2.3 小结 25 3 大型网站核心架构要素 26 3.1 性能 27 3.2 可用性 28 3.3 伸缩性 29 3.4 扩展性 30 3.5 安全性 30 3.6 小结 31 第2篇 架构 4 瞬时响应:网站的高性能架构 34 4.1 网站性能测试 35 4.1.1 不同视角下的网站性能 35 4.1.2 性能测试指标 36 4.1.3 性能测试方法 39 4.1.4 性能测试报告 41 4.1.5 性能优化策略 41 4.2 Web前端性能优化 42 4.2.1 浏览器访问优化 42 4.2.2 CDN加速 43 4.2.3 反向代理 44 4.3 应用服务器性能优化 45 4.3.1 分布式缓存 45 4.3.2 异步操作 52 4.3.3 使用集群 53 4.3.4 代码优化 54 4.4 存储性能优化 58 4.4.1 机械硬盘vs. 固态硬盘 58 4.4.2 B+树vs. LSM树 59 4.4.3 RAID vs. HDFS 61 4.5 小结 64 5 万无一失:网站的高可用架构 66 5.1 网站可用性的度量与考核 67 5.1.1 网站可用性度量 67 5.1.2 网站可用性考核 67 5.2 高可用的网站架构 69 5.3 高可用的应用 71 5.3.1 通过负载均衡进行无状态服务的失效转移 72 5.3.2 应用服务器集群的Session管理 73 5.4 高可用的服务 76 5.5 高可用的数据 78 5.5.1 CAP原理 79 5.5.2 数据备份 82 5.5.3 失效转移 84 5.6 高可用网站的软件质量保证 85 5.6.1 网站发布 85 5.6.2 自动化测试 86 5.6.3 预发布验证 87 5.6.4 代码控制 88 5.6.5 自动化发布 90 5.6.6 灰度发布 91 5.7 网站运行监控 91 5.7.1 监控数据采集 92 5.7.2 监控管理 93 5.8 小结 94 6 永无止境:网站的伸缩性架构 95 6.1 网站架构的伸缩性设计 97 6.1.1 不同功能进行物理分离实现伸缩 97 6.1.2 单一功能通过集群规模实现伸缩 98 6.2 应用服务器集群的伸缩性设计 99 6.2.1 HTTP重定向负载均衡 100 6.2.2 DNS域名解析负载均衡 101 6.2.3 反向代理负载均衡 102 6.2.4 IP负载均衡 103 6.2.5 数据链路层负载均衡 104 6.2.6 负载均衡算法 105 6.3 分布式缓存集群的伸缩性设计 106 6.3.1 Memcached分布式缓存集群的访问模型 107 6.3.2 Memcached分布式缓存集群的伸缩性挑战 107 6.3.3 分布式缓存的一致性Hash算法 109 6.4 数据存储服务器集群的伸缩性设计 112 6.4.1 关系数据库集群的伸缩性设计 113 6.4.2 NoSQL数据库的伸缩性设计 117 6.5 小结 119 7 随需应变:网站的可扩展架构 121 7.1 构建可扩展的网站架构 122 7.2 利用分布式消息队列降低系统耦合性 123 7.2.1 事件驱动架构 123 7.2.2 分布式消息队列 124 7.3 利用分布式服务打造可复用的业务平台 126 7.3.1 Web Service与企业级分布式服务 128 7.3.2 大型网站分布式服务的需求与特点 129 7.3.3 分布式服务框架设计 130 7.4 可扩展的数据结构 131 7.5 利用开放平台建设网站生态圈 132 7.6 小结 134 8 固若金汤:网站的安全架构 135 8.1 道高一尺魔高一丈的网站应用攻击与防御 136 8.1.1 XSS攻击 136 8.1.2 注入攻击 138 8.1.3 CSRF攻击 139 8.1.4 其他攻击和漏洞 140 8.1.5 Web应用防火墙 141 8.1.6 网站安全漏洞扫描 142 8.2 信息加密技术及密钥安全管理 142 8.2.1 单向散列加密 143 8.2.2 对称加密 144 8.2.3 非对称加密 144 8.2.4 密钥安全管理 145 8.3 信息过滤与反垃圾 146 8.3.1 文本匹配 147 8.3.2 分类算法 148 8.3.3 黑名单 149 8.4 电子商务风险控制 150 8.4.1 风险 151 8.4.2 风控 151 8.5 小结 153 第3篇 案例 9 淘宝网的架构演化案例分析 156 9.1 淘宝网的业务发展历程 157 9.2 淘宝网技术架构演化 158 9.3 小结 162 10 维基百科的高性能架构设计分析 163 10.1 Wikipedia网站整体架构 163 10.2 Wikipedia性能优化策略 165 10.2.1 Wikipedia前端性能优化 165 10.2.2 Wikipedia服务端性能优化 166 10.2.3 Wikipedia后端性能优化 167 11 海量分布式存储系统Doris的高可用架构设计分析 169 11.1 分布式存储系统的高可用架构 170 11.2 不同故障情况下的高可用解决方案 171 11.2.1 分布式存储系统的故障分类 172 11.2.2 正常情况下系统访问结构 172 11.2.3 瞬时故障的高可用解决方案 173 11.2.4 临时故障的高可用解决方案 174 11.2.5 永久故障的高可用解决方案 175 12 网购秒杀系统架构设计案例分析 176 12.1 秒杀活动的技术挑战 177 12.2 秒杀系统的应对策略 177 12.3 秒杀系统架构设计 178 12.4 小结 182 13 大型网站典型故障案例分析 183 13.1 写日志也会引发故障 184 13.2 高并发访问数据库引发的故障 184 13.3 高并发情况下锁引发的故障 185 13.4 缓存引发的故障 185 13.5 应用启动不同步引发的故障 186 13.6 大文件读写独占磁盘引发的故障 186 13.7 滥用生产环境引发的故障 187 13.8 不规范的流程引发的故障 187 13.9 不好的编程习惯引发的故障 188 13.10 小结 188 第4篇 架构师 14 架构师领导艺术 190 14.1 关注人而不是产品 191 14.2 发掘人的优秀 191 14.3 共享美好蓝图 192 14.4 共同参与架构 193 14.5 学会妥协 194 14.6 成就他人 194 15 网站架构师职场攻略 196 15.1 发现问题,寻找突破 197 15.2 提出问题,寻求支持 199 15.3 解决问题,达成绩效 201 16 漫话网站架构师 203 16.1 按作用划分架构师 203 16.2 按效果划分架构师 204 16.3 按职责角色划分架构师 205 16.4 按关注层次划分架构师 205 16.5 按口碑划分架构师 206 16.6 非主流方式划分架构师 207 附录A 大型网站架构技术一览 208 附录B Web开发技术发展历程 215 后记 218 大型网站技术架构.核心

2018-01-24

[Android开发从入门到精通].扶松柏.扫描版

《Android开发从入门到精通》包括Android世界、界面布局实战演练、基本控件实战演练、数据存储实战演练等内容。 目录: 第1章 走进Android世界 第2塞界面布局实战演练 第3章 基本控件实战演练 第4章 数据存储实战演练 第5章 通信领域实战演练 第6章 自动服务实战演练 第7章 互联网实战演练 第日章 多媒傩实战演练 第9章 Google地图实战演练 第10章 GoogleApI实战演练 第11章 游戏实战演练 第12章 优化和发布项目

2018-01-24

微信公众平台应用开发实战-完整扫描版

本书是微信公众平台应用开发领域的经典著作,作者是腾讯公司的资深软件开发工程师,而且是微信公众平台应用开发的先驱者之一。本书全面介绍了微信公众平台应用开发所需的各项技术,系统解读了微信公众平台开放的API和各项高级功能,逐步讲解了微信公众平台应用开发的流程、方法和技巧。注重实战,不仅通过3个实战案例呈现了娱乐型、应用型、游戏型应用的完整开发过程,还实现了一个快速开发公众平台应用的框架,读者可以直接用于快速开发自己的公众平台应用。 全书一共9章,在逻辑上分为四大部分:第一部分(第1章)介绍了微信公众平台的开发模式、数据交互方式,以及开发公众平台应用所需要的各项技术;第二部分(第2~4章)首先详细讲解了微信公众平台开放的所有API的功能特性及使用方法,然后实现了一个快速开发公众平台应用的框架,这个框架可供读者直接使用;第三部分(第5~7章)以迭代的方式讲解了3个实战案例的完整开发过程,这3个实战案例涉及的应用分别是娱乐型、应用型和游戏型的,其中应用型实战案例用到了人脸识别等技术;第四部分(第8~9章)详细探讨了应对海量请求和恶意请求的方法,这是企业运营公众账号(尤其是服务号)时容易忽视的,但也是应该重点关注的。

2018-01-24

PHP 中文手册(带用户注释)

PHP 中文手册(带用户注释)的 Windows HTML Help 版本是针对开发人员的,他们希望每时每刻都有手册在手头,并且不需要等待远程页面下载就可以阅读手册以及用户注解。此版本给你完整的手册内容加上用户注解,以及一些很棒的特色。这是由我们用来生成此格式的脚本产生的阅读程序以及其他人在皮肤样式上的贡献所提供的。

2018-01-24

菜鸟用C语言写的一分钟动画

刚学C语言的菜鸟用putchar写的一分钟NB动画(C语言写的动画) 你们看看觉得怎么样?

2020-03-14

C语言写的声音恶作剧(会一直嘿嘿嘿的笑)

菜鸟用C语言写的声音恶作剧(会一直嘿嘿嘿的笑),很有趣的东东。 菜鸟用C语言写的声音恶作剧(会一直嘿嘿嘿的笑),很有趣的东东。

2019-08-13

C语言写的动画(怎样才能学好C语言 )

C语言写的动画(怎样才能学好C语言的秘籍 ),内含C语言无上心法。 C语言写的动画(怎样才能学好C语言的秘籍 ),内含C语言无上心法。

2019-08-13

一个神奇的C代码(如果你感觉自己很菜,就不要下了)

一个神奇的C代码(如果你感觉自己很菜,就不要下了)

2019-08-13

C语言最快三次猜出你的属相

C语言最快三次猜出你的属相,不信可以一试! C语言最快三次猜出你的属相,不信可以一试! C语言最快三次猜出你的属相,不信可以一试!

2019-07-20

精通Git (第2版)高清带书签

Git仅用了几年时间就一跃成为了几乎一统商业及开源领域的版本控制系统。精通Git (第2版)全面介绍Git进行版本管理的基础和进阶知识。全书共10章,内容由浅入深,展现了普通程序员和项目经理如何有效利用Git提高工作效率,掌握分支概念,灵活地将Git用于服务器和分布式工作流,如何将开发项目迁移到Git,以及如何高效利用GitHub。 精通Git (第2版)目录 第1章 入门 1 第2章 Git基础 13 第3章 Git分支机制 42 第4章 Git服务器 76 第5章 分布式Git 95 第6章 GitHub 128 第7章 Git工具 171 第8章 自定义Git 262 第9章 Git与其他系统 289 第10章 Git内幕 338

2018-11-11

8位数字密码生成器Demo(速度超快)

8位数字密码生成器Demo 速度超快,至少我还没遇到过生成8位数字密码在速度上能比这个还快的

2018-10-08

快速生成8位数字密码Demo(同类最快的)

快速生成8位数字密码,据说是同类软件中最快的,好像还是单线程实现的,但好像只是一个Demo...

2018-10-08

微信小程序:开发入门及案例详解

内容简介编辑 本书全面介绍微信小程序的开发思路、技术、工具与案例,涉及小程序开发的方方面面。主要内容包括:前端开发基础、小程序开发基础、小程序组件、AIP详解、实例分析等。本书案例丰富、讲解细腻、实用性强,可帮助读者从零开始快速入门小程序开发。 [1] 目录编辑 对本书的赞誉 序 一 序 二 前 言 第1章 初识小程序 1 1.1 简介 1 1.2 接入流程 2 1.2.1 注册小程序帐号 2 1.2.2 开发环境准备 4 1.3 第一个小程序 6 1.4 小结 10 第2章 小程序开发核心 11 2.1 简介 11 2.2 “徒手”创建小程序 12 2.3 框架主体文件 15 2.3.1 配置文件(app.json) 15 2.3.2 小程序逻辑(app.js) 19 2.3.3 全局样式(app.wxss) 20 2.4 框架页面文件 21 2.4.1 页面配置文件 21 2.4.2 页面逻辑文件(JavaScript) 21 2.4.3 页面结构文件(WXML) 27 2.4.4 页面样式文件(WXSS) 43 2.5 模块化 46 2.5.1 模块化简介 46 2.5.2 文件作用域 47 2.5.3 模块的使用 47 2.5.4 其他 48 2.6 小结 49 第3章 布局 50 3.1 基本知识 50 3.1.1 盒子模型 50 3.1.2 块级元素 51 3.1.3 行内元素 52 3.1.4 行内块元素 54 3.2 浮动和定位 54 3.2.1 浮动 54 3.2.2 定位 58 3.3 Flex布局 59 3.3.1 基本概念 59 3.3.2 容器属性 60 3.3.3 项目属性 64 3.4 小结 68 第4章 组件 69 4.1 组件定义及属性 69 4.2 视图容器 70 4.2.1 view组件 71 4.2.2 scroll-view组件 72 4.2.3 滑块视图组件 74 4.3 基础组件 77 4.3.1 icon 77 4.3.2 text组件 81 4.3.3 progress组件 82 4.4 表单组件 82 4.4.1 radio组件 83 4.4.2 checkbox组件 84 4.4.3 switch组件 86 4.4.4 label组件 87 4.4.5 slider组件 89 4.4.6 picker组件 91 4.4.7 picker-view组件 95 4.4.8 input组件 97 4.4.9 textarea组件 99 4.4.10 button组件 101 4.4.11 form组件 102 4.5 导航组件 105 4.6 媒体组件 107 4.6.1 image 107 4.6.2 audio 110 4.6.3 video 112 4.7 地图组件 114 4.8 画布组件 117 4.9 客服会话 119 4.10 小结 119 第5章 API 120 5.1 网络 121 5.1.1 发起HTTPS请求 121 5.1.2 上传、下载 122 5.1.3 WebSocket 124 5.2 媒体 127 5.2.1 图片 127 5.2.2 录音 128 5.2.3 音频播放控制 129 5.2.4 音乐播放控制 130 5.2.5 音频组件控制 134 5.2.6 视频 135 5.2.7 视频组件控制 136 5.3 文件 137 5.4 数据缓存 139 5.4.1 保存数据 140 5.4.2 获取数据 140 5.4.3 获取本地数据信息 141 5.4.4 删除数据 141 5.4.5 清空数据 142 5.5 位置 142 5.5.1 获取位置 142 5.5.2 选择位置 143 5.5.3 查看位置 144 5.5.4 地图组件控制 144 5.6 设备 145 5.6.1 系统信息 145 5.6.2 网络状态 146 5.6.3 重力感应 146 5.6.4 罗盘 147 5.6.5 拨打电话 147 5.6.6 扫码 147 5.7 界面 148 5.7.1 交互反馈 148 5.7.2 设置导航条 149 5.7.3 导航 150 5.7.4 动画 152 5.7.5 绘图 156 5.7.6 下拉刷新 172 5.8 开放接口 173 5.8.1 登录 173 5.8.2 用户信息 175 5.8.3 微信支付 176 5.8.4 模板消息 176 5.8.5 客服消息 181 5.8.6 分享 188 5.8.7 获取二维码 189 5.9 小结 189 第6章 案例分析——豆瓣电影 190 6.1 准备工作 190 6.1.1 豆瓣API 190 6.1.2 跳转层 192 6.2 技术架构 193 6.3 公共模块开发 195 6.3.1 业务逻辑层 195 6.3.2 公共模块 196 6.4 页面构建 197 6.4.1 首页 197 6.4.2 详情页 199 6.5 页面逻辑开发 201 6.5.1 首页 201 6.5.2 详情页 203 6.6 小结 204 第7章 案例分析——驾考 205 7.1 业务流程 205 7.2 项目架构 206 7.2.1 功能点分析 206 7.2.2 项目结构图 207 7.2.3 数据接口 208 7.3 代码分析 210 7.3.1 小程序底层代码封装 210 7.3.2 首页 212 7.3.3 答题页 213 7.3.4 答题结果页 225 7.4 小结 227 第8章 案例分析——打赏 228 8.1 登录 228 8.1.1 登录流程 228 8.1.2 源码讲解 230 8.2 支付 237 8.3 小结 241 第9章 案例分析——日程表 243 9.1 业务流程 243 9.2 项目架构 245 9.2.1 功能点分析 245 9.2.2 项目结构图 245 9.3 代码分析 246 9.3.1 日程详情页 246 9.3.2 首页 251 9.3.3 日程管理页 257 9.4 小结 263 第10章 案例分析——多点商城 264 10.1 需求分析 264 10.2 技术架构 267 10.2.1 主界面架构 267 10.2.2 业务逻辑层 268 10.2.3 代理网络请求接口 271 10.2.4 本地模拟接口数据 273 10.2.5 widgets 273 10.2.6 全局样式控制 275 10.3 页面实现 276 10.3.1 主界面实现 276 10.3.2 首页与活动页 279 10.3.3 分类页与搜索页 283 10.3.4 支付流程 286 10.3.5 其他页面 287 10.4 小结 287

2018-06-09

Linux内核API完全参考手册(第2版) PDF带书签

Linux内核API完全参考手册(第2版)基于最新的Linux内核源代码3.19.3版本,对常用的内核API作了系统归纳,并编写了典型验证程序,使理论分析与实际编程做到了统一。分析的内核API模块包括:模块机制内核API、进程管理内核API、进程调度内核API、中断与异常机制内核API、时间与定时机制内核API、内存管理内核API、内核同步机制API、文件系统内核API和设备驱动与设备管理模块内核API。 目录 第1章 Linux内核API分析必备知识 1 第2章 内核模块机制API 14 第3章 Linux进程管理内核API 51 第4章 Linux 进程调度内核API 83 第5章 Linux中断机制内核API 187 第6章 Linux内存管理内核API 252 第7章 Linux内核定时机制API 350 第8章 Linux内核同步机制API 436 第9章 Linux文件系统内核API 500 第10章 Linux 设备驱动及设备管理API 560

2018-05-30

计算机图形学 第四版 PDF带书签

本书是一本经典著作,这次版本更新增加了许多实践内容,覆盖了近年来计算机图形学的最新发展和成就,并附有使用OpenGL编写的大量程序以及各种效果图。本书共分24章,全面系统地讲解了计算机图形学的基本概念和相关技术。作者首先对计算机图形学进行综述;然后讲解了二维图形的对象表示、算法及应用,三维图形的相关技术、建模和变换等;接着介绍了层次建模、动画技术、样条曲线表示、纹理处理等方面的内容,最后光照模型、颜色模型和交互输入法等。

2018-05-30

ORACLE PLSQL性能调优诀窍与方法

本书作者从PL/SQL入手,根据其特性,将其全书组织为4大部分共12章。第一部分(1-3章)从宏观的角度综合概述了系统调优涉及的关键领域,并结合Web应用系统的9大步骤探讨了性能调优问题的定位和根源。第二部分(4-6章)阐述了PL/SQL与SQL的集成问题;第三部分(7-9章)描述了Dynamic SQL、缓冲机制及高级数据类型三类技术;第四部分(10-12章)结合大量的案例,介绍了性能调优的日常工作内容、版本控制的意义及作用等。

2018-05-30

Python大战机器学习

数据科学家是当下炙手可热的职业,机器学习则是他们的必备技能。机器学习在大数据分析中居于核心地位,在互联网、金融保险、制造业、零售业、医疗等产业领域发挥了越来越大的作用且日益受到关注。 Python 是最好最热门的编程语言之一,以简单易学、应用广泛、类库强大而著称,是实现机器学习算法的首选语言。 《Python大战机器学习:数据科学家的第一个小目标》以快速上手、四分理论六分实践为出发点,讲述机器学习的算法和Python 编程实践,采用“原理笔记精华+ 算法Python 实现+ 问题实例+ 代码实战+ 运行调参”的形式展开,理论与实践结合,算法原理与编程实战并重。 《Python大战机器学习:数据科学家的第一个小目标》从内容上分为13 章分4 篇展开:第一篇:机器学习基础篇(第1~6 章),讲述机器学习的基础算法,包括线性模型、决策树、贝叶斯分类、k 近邻法、数据降维、聚类和EM算法;第二篇:机器学习高级篇(第7~10 章),讲述经典而常用的高级机器学习算法,包括支持向量机、人工神经网络、半监督学习和集成学习;第三篇:机器学习工程篇(第11~12章),讲述机器学习工程中的实际技术,包括数据预处理,模型评估、选择与验证等;第四篇:Kaggle 实战篇(第13 章),讲述一个Kaggle 竞赛题目的实战。 《Python大战机器学习:数据科学家的第一个小目标》内容丰富、深入浅出,算法与代码双管齐下,无论你是新手还是有经验的读者,都能快速学到你想要的知识。本书可供为高等院校计算机、金融、信息、自动化及相关理工科专业的本科生或研究生使用,也可供对机器学习感兴趣的研究人员和工程技术人员阅读参考。 [1]

2018-05-30

中文编程:学习进阶(一本中文编程的教程)

中文编程:学习进阶 目录 第一部分 易语言核心支持库 第一章 易语言常用组件 第二章 易语言常用命令 第二部分 易语言外部支持库 第三章 易语言支持库 第四章 易语言扩展组件的应用 第五章 易语言扩展功能的应用 第三部分 易语言对数据库的操作 第六章 MySQL数据库 第七章 SQL语句应用 第四部分 易语言网络功能应用 第八章 Internet程序设计 第九章 局域网应用 第五部分 易语言行业软件 第十章 进销存管理系统

2018-05-10

终极算法:机器学习和人工智能如何重塑世界(高清PDF)

多明戈斯在他的《终极算法》中认为机器学习将被明确归入全球经济未来的中心。随着数量的不断增多,我们使用的算法也可能不需要那么复杂,反而需要一种简单的、通用的算法,称之为“终极算法”。在多明戈斯的眼里,终极算法将会统一物理、数学、社会、生物等各种学科的理论,进而获得一种万有理论。他把宇宙生成、生命进化看成是一个程序,而不同的物种在不同时间、不同地点的生长、成熟和消灭都是由于程序设置的参数不同所导致的。他还分别从大脑皮层的统一、物理学规律的统一、进化论的规律、计算机科学本身的规律来分析了生成终极算法的可能性。多明戈斯也总结了目前机器学习的5大流派,分别是符号派、联结派、进化派、贝叶斯派、类推派。

2018-05-09

DOS/BIOS高手真经(第2版) 高清PDF 带书签

本书详实而精确地讲解了DOS和BIOS相关知识和应用技巧。从维护计算机系统、提高工作效率和网络管理的实际需要出发,以实际应用驱动,直接告诉读者如何用DOS命令和BIOS设置快速高效地完成Windows不擅长或无法完成的工作。 维护磁盘、解决系统故障、保障网络运行,应用案例印证DOS解决问题知道。BIOS系统典型设置、安全与破解一一道来,关注解决问题实际流程。

2018-05-09

人工智能:计算Agent基础(扫描版PDF)

内容简介 · · · · · · 《人工智能:计算agent基础》讨论AI科学,它将AI作为智能计算Agent设计的研究课题。《人工智能:计算agent基础》虽然设计为教科书,但它也适合广大专业人员和研究人员阅读。《人工智能:计算agent基础》的一个重要特色是其在线学习资源。在过去的几十年里,人工智能是作为一种严肃科学和工程学科出现的。《人工智能:计算agent基础》提供了针对本科生和研究生的第一手便利可用的领域综合资料,对当今该领域的基础发展进行了展望。像任何名副其实的科学一样,AI具有条理分明、形式化的理论和难以控制的实验。《人工智能:计算agent基础》均衡了理论和实验部分,并说明了如何将理论与实验密切地联系起来,使科学与工程应用共同发展。 作者简介 · · · · · · 普尔(David L.Poole),加拿大不列颠哥伦比亚大学计算机科学教授,计算智能实验室主任。2014-2015年,他是牛津大学Leverhulme Trust客座教授。他还是加拿大人工智能学会(CAIAC)2013年终身成就奖获得者,是国际人工智能促进协会(AAAI)和加拿大人工智能学会(CAIAC)Fellow。 麦克沃思(Alan K.Mackworth),加拿大不列颠哥伦比亚大学计算机科学教授。他的研究兴趣是基于约束的人工智能及其应用,被称为约束满足、机器人足球、混合系统和基于约束的Agent等研究领域的先驱。他是国际人工智能联合会议(IJCAI)公司的总裁和理事,以及IJCAI执行委员会主席;同时还担任许多编委会和程序委员会委员。他是加拿大计算机智能研究会(CSCSI)主席,还担任国际人工智能促进协会(AAAI)主席。荣获的奖励包括

2018-05-09

NLP汉语自然语言处理原理与实践 高清完整版PDF

本书是一本研究汉语自然语言处理方面的基础性、综合性书籍,涉及NLP的语言理论、算法和工程实践的方方面面,内容繁杂。 本书包括NLP的语言理论部分、算法部分、案例部分,涉及汉语的发展历史、传统的句法理论、认知语言学理论。需要指出的是,本书是迄今为止*本系统介绍认知语言学和算法设计相结合的中文NLP书籍,并从认知语言学的视角重新认识和分析了NLP的句法和语义相结合的数据结构。这也是本书的创新之处。 本书适用于所有想学习NLP的技术人员,包括各大人工智能实验室、软件学院等专业机构。

2018-05-09

解析深度学习 语音识别实践 PDF

AlphaGo与李世石的围棋大战激发了人们对人工智能是非的诸多争论。人工智能背后的工作原理深度学习跳入大众的视野。AlphaGo的大获全胜一定程度展示了深度学习在应用领域的成功,而语音识别正是深度学习取得显著成功的应用领域之一。 本书是首次以深度学习为主线介绍语音识别应用的书籍,对读者了解语音识别技术及其发展历程有重要的参考价值。 本书作者俞栋、邓力均是该领域的著名专家,他们是深度学习在应用领域取得突破性进展的推动者与实践者,他们在书中分享的研究成果一定程度上代表了本领域最新的研究进展;译者俞凯、钱彦旻也是本领域的资深专家,并有众多实践成果。对于从事此领域研究的读者来说,本书无疑有重要的参考价值。 《解析深度学习:语音识别实践》是首部介绍语音识别中深度学习技术细节的专著。全书首先概要介绍了传统语音识别理论和经典的深度神经网络核心算法。接着全面而深入地介绍了深度学习在语音识别中的应用,包括"深度神经网络-隐马尔可夫混合模型"的训练和优化,特征表示学习、模型融合、自适应,以及以循环神经网络为代表的若干先进深度学习技术。 《解析深度学习:语音识别实践》适合有一定机器学习或语音识别基础的学生、研究者或从业者阅读,所有的算法及技术细节都提供了详尽的参考文献,给出了深度学习在语音识别中应用的全景。

2018-05-09

神奇的匹配:正则表达式求精之旅 带书签目录完整PDF

《神奇的匹配:正则表达式求精之旅》适合广大Web网站开发人员、网站管理维护人员和在校学生阅读,尤其适合与字符串处理相关的Web编程技术人员阅读。 目录 第1篇 正则表达式基础 第1章 外行看正则表达式 1 1.1 什么是正则表达式 1 1.2 本书使用的测试工具 2 1.3 理解元字符 3 1.3.1 匹配位置的元字符 3 1.3.2 匹配字符的元字符 4 1.3.3 元字符总结 5 1.4 文字匹配 7 1.4.1 字符类 7 1.4.2 字符转义 9 1.4.3 反义 9 1.4.4 限定符 10 1.5 字符的操作 15 1.5.1 替换 15 1.5.2 分组 17 1.5.3 反向引用 17 1.6 正则的其他操作 19 1.6.1 零宽度断言 19 1.6.2 负向零宽度断言 20 1.6.3 匹配选项 21 1.6.4 注释 21 1.6.5 优先级顺序 22 1.6.6 递归匹配 22 1.7 典型正则表达式解释 23 1.7.1 匹配Windows操作系统的名称 23 1.7.2 匹配HTML标记 23 1.7.3 匹配HTML标记之间的内容 24 1.7.4 匹配CSV文件内容 25 第2章 数字验证的方法 27 2.1 9种数值验证 27 2.1.1 字符串只包含数字的验证 27 2.1.2 字符串只包含整数的验证 31 2.1.3 字符串指定范围的整数验证 32 2.1.4 字符串为实数的验证 35 2.1.5 字符串指定精度的实数验证 38 2.1.6 科学计数法的数值验证 39 2.1.7 二进制数值的验证 39 2.1.8 八进制数值的验证 40 2.1.9 十六进制数值的验证 41 2.2 4种国内电话号码的验证 43 2.2.1 国内手机号码验证 43 2.2.2 固定电话号码(不包括区号)验证 44 2.2.3 区号+固定电话号码验证 45 2.2.4 区号+固定电话号码+分机号码验证 47 2.2.5 固定电话号码验证总结 48 2.3 2种身份证号码验证 49 2.3.1 15位身份证号码验证 50 2.3.2 18位身份证号码验证 51 2.4 银行卡和信用卡号验证 51 2.5 邮政编码验证 52 2.5.1 国内邮政编码验证 52 2.5.2 国际邮政编码验证 53 2.6 4种IP地址验证 53 2.6.1 简单IP地址验证 53 2.6.2 精确IP地址验证 54 2.6.3 子网内部IP地址验证 56 2.6.4 64位IP地址验证 57 第3章 常用字符串验证方法 60 3.1 5种英文单词验证 60 3.1.1 小写英文单词验证 60 3.1.2 大写英文单词验证 61 3.1.3 英文单词的分隔符验证 62 3.1.4 否定验证 64 3.1.5 具有重复特征的英文单词验证 67 3.2 6种非单词字符串验证 69 3.2.1 英文标点符号验证 69 3.2.2 中文标点符号验证 70 3.2.3 中文文本验证 70 3.2.4 特殊字符验证 71 3.2.5 密码验证 71 3.2.6 字符表的分类 76 3.3 常用的文件名称和路径验证 76 3.3.1 通配符 76 3.3.2 指定文件扩展名的验证 77 3.3.3 指定文件名的验证 78 3.3.4 包含指定字符串的文件全名验证 78 3.3.5 排除两端存在空白字符的文件全名验证 79 3.3.6 文件路径验证 81 3.4 4种网络常用元素验证 82 3.4.1 电子邮件验证 82 3.4.2 主机名称验证 83 3.4.3 HTTP地址验证 85 3.4.4 FTP地址验证 86 第4章 常见数字和字符混合验证 87 4.1 5种数学表达式验证 87 4.1.1 操作数验证 87 4.1.2 操作符验证 88 4.1.3 简单数学表达式验证 88 4.1.4 只含操作数和操作符的数学表达式验证 89 4.1.5 包含小括号的数学表达式验证 90 4.2 8种日期和时间验证 92 4.2.1 年验证 92 4.2.2 月验证 93 4.2.3 日验证 94 4.2.4 年月日格式的日期验证 95 4.2.5 24小时制时分秒格式的时间验证 96 4.2.6 12小时制时分秒格式的时间验证 97 4.2.7 带毫秒的时间验证 98 4.2.8 长格式的日期和时间验证 100 4.3 4种编码规范验证 101 4.3.1 类名称验证 101 4.3.2 声明变量表达式验证 102 4.3.3 函数名称验证 102 4.3.4 声明函数表达式验证 103 4.4 3种车牌号码验证 106 4.4.1 通用车牌号码验证 106 4.4.2 武警车牌号码验证 108 第5章 常见的HTML元素验证和处理 110 5.1 6种HTML元素验证的基础 110 5.1.1 HTML标记验证 110 5.1.2 非封闭HTML标记验证 111 5.1.3 封闭HTML标记验证 112 5.1.4 属性赋值表达式验证 113 5.1.5 HTML中的注释验证 116 5.1.6 HTML中的脚本代码块验证 117 5.2 4种非封闭的HTML元素验证 118 5.2.1 <br>元素验证 119 5.2.2 <hr>元素验证 121 5.2.3 <a>元素验证 124 5.2.4 &lt;input&gt;元素验证 128 5.3 封闭的HTML元素验证 129 5.4 处理HTML元素 130 5.4.1 提取HTML标记 130 5.4.2 提取HTML标记之间的内容 131 5.4.3 提取URL 132 5.4.4 提取图像的URL 133 5.4.5 提取HTML页面的标题 134 第2篇 ASP.NET正则表达式应用 第6章 C#常用数据类型的检查与转换 136 6.1 数值数据类型的检查与转换 136 6.1.1 整数检查 136 6.1.2 实数检查 137 6.1.3 整数和字符串之间的转换 138 6.1.4 浮点数和字符串之间的转换 140 6.2 布尔数据类型检查与转换 141 6.2.1 布尔值检查 141 6.2.2 布尔值和字符串之间的转换 141 6.3 时间数据类型检查与转换 142 6.3.1 时间数据类型检查 142 6.3.2 时间和字符串之间的转换 143 6.4 数据类型检查与转换应用实例 144 第7章 不可变字符串与可变字符串的处理 146 7.1 15种不可变字符串String处理 146 7.1.1 String类和对象 146 7.1.2 插入字符串 147 7.1.3 替换字符串 147 7.1.4 填充字符串 148 7.1.5 删除字符串 149 7.1.6 分割字符串 149 7.1.7 比较字符串 150 7.1.8 连接字符串 151 7.1.9 处理字符串中的空白 152 7.1.10 转换字符串大小写 153 7.1.11 匹配和检索字符串 153 7.1.12 格式化字符串 156 7.1.13 获取子字符串 156 7.1.14 编码字符串 157 7.1.15 不可变字符串String处理的应用 157 7.2 8种可变字符串StringBuilder处理 159 7.2.1 StringBuilder类和对象 159 7.2.2 追加字符串 159 7.2.3 插入字符串 161 7.2.4 替换字符串 162 7.2.5 删除字符串 163 7.2.6 复制字符串 164 7.2.7 处理字符串容量 165 7.2.8 可变字符串StringBuilder处理的应用 165 第8章 常见的.NET框架中正则表达式及其应用 167 8.1 10种.NET框架中的正则表达式类库 167 8.1.1 System.Text.RegularExpressions命名空间 167 8.1.2 正则表达式类Regex 168 8.1.3 正则表达式选项 168 8.1.4 检查是否匹配表达式 169 8.1.5 匹配单个匹配项 170 8.1.6 匹配多个匹配项 171 8.1.7 替换 173 8.1.8 使用委托MatchEvaluator处理匹配结果 174 8.1.9 获取分组名称 175 8.1.10 分割表达式 175 8.2 14种正则表达式类Regex处理字符串 176 8.2.1 只包含数字验证 176 8.2.2 整数验证 176 8.2.3 实数验证 176 8.2.4 电话号码验证 177 8.2.5 邮政编码验证 177 8.2.6 身份证号码验证 177 8.2.7 银行卡号验证 177 8.2.8 IP地址验证 178 8.2.9 日期和时间验证 178 8.2.10 车牌号码验证 178 8.2.11 电子邮件验证 179 8.2.12 URL验证 179 8.2.13 提取网页标题 179 8.2.14 提取网页中的图像地址 180 8.2.15 提取网页中的HTTP地址 181 第9章 常见ASP.NET验证控件 183 9.1 ASP.NET验证简介 183 9.2 2种非空验证 184 9.2.1 无初始值的非空验证 185 9.2.2 指定初始值的验证 185 9.3 3种范围验证 186 9.3.1 整数范围验证 186 9.3.2 字母范围验证 187 9.3.3 日期范围验证 188 9.4 3种比较验证 189 9.4.1 两个控件内容的比较验证 189 9.4.2 检查控件内容的数据类型 190 9.4.3 指定的值和控件内容的比较验证 191 9.5 2种自定义验证 192 9.5.1 自定义客户端验证 192 9.5.2 自定义服务端验证 193 9.6 7种正则表达式验证 194 9.6.1 整数验证 194 9.6.2 数值验证 195 9.6.3 电话号码验证 196 9.6.4 身份证号码验证 197 9.6.5 电子邮件验证 198 9.6.6 日期和时间验证 199 9.6.7 URL验证 200 9.7 2种显示验证摘要 201 9.7.1 在对话框上显示验证摘要 201 9.7.2 在网页上显示验证摘要 202 第3篇 PHP正则表达式应用 第10章 常见PHP数据类型 204 10.1 7种PHP常见数据类型 204 10.1.1 布尔型 204 10.1.2 NULL型 204 10.1.3 整型 205 10.1.4 浮点型 205 10.1.5 字符串 205 10.1.6 数组 207 10.1.7 对象 208 10.2 5种常见的类型转化 209 10.2.1 变量类型变化 209 10.2.2 强制类型转换 210 10.2.3 字符串转化 212 10.2.4 数字转化 212 10.2.5 数组转化 213 10.3 小结 213 第11章 常见PHP字符串处理 214 11.1 常见的3种字符串分析 214 11.1.1 访问字符串中的字符 214 11.1.2 处理子字符串 215 11.1.3 分割字符串 217 11.2 4种字符串的操作 218 11.2.1 删除字符串的空白 218 11.2.2 转换字符串大小写 219 11.2.3 填补字符串 220 11.2.4 反转字符串 221 11.3 2种字符串的格式化 221 11.3.1 格式化数字 221 11.3.2 格式化字符串 222 11.4 字符串的查找和替换 224 11.4.1 查找字符串 224 11.4.2 替换字符串 225 11.5 3种常见的字符串的比较方法 227 11.5.1 按ASCII码顺序比较 227 11.5.2 按“自然排序”法比较 228 11.5.3 按相似性比较 229 11.6 处理HTML和URL 230 11.6.1 HTML标签的清理 230 11.6.2 HTML实体的处理 231 11.6.3 URL字符串的解析 232 11.6.4 URL编码处理 234 11.6.5 查询字符串的构造 235 11.7 小结 236 第12章 PHP与正则表达式的应用 237 12.1 关于POSIX扩展库的正则表达式函数 237 12.1.1 模式匹配 237 12.1.2 模式替换 238 12.1.3 模式分割 239 12.2 关于PCRE库的正则表达式函数 239 12.2.1 对正则表达式匹配 240 12.2.2 取得正则表达式的全部匹配 241 12.2.3 返回与模式匹配的数组单元 241 12.2.4 正则表达式的替换 242 12.2.5 正则表达式的拆分 243 12.3 PHP与正则表达式的综合应用 243 12.3.1 表单验证 243 12.3.2 UBB代码 247 12.3.3 分析Apache日志文件 251 12.4 小结 254 第4篇 JSP正则表达式应用 第13章 常见的JSP中数据处理 255 13.1 5种JSP中的常用数据类型 255 13.1.1 整数类型及应用 255 13.1.2 浮点类型及应用 258 13.1.3 字符类型及应用 259 13.1.4 布尔类型及应用 260 13.1.5 字符串类型及应用 261 13.2 2种JSP中数据类型的转换 262 13.2.1 自动类型转换及应用 262 13.2.2 强制类型转换及应用 263 13.3 7种JSP中字符串数据的处理 264 13.3.1 字符串与其他类型数据的转换 264 13.3.2 字符串的分析 265 13.3.3 字符串的查找与替换 267 13.3.4 字符串数据的整理 268 13.3.5 字符串的比较 269 13.3.6 字符串的连接 270 13.3.7 字符串的格式化 271 13.4 小结 272 第14章 常见的JSP中正则表达式 273 14.1 2种JSP中的正则表达式函数 273 14.1.1 Pattern类 273 14.1.2 Matcher类 275 14.1.3 正则表达式常用的四种功能 278 14.2 JSP中正则表达式的常见应用示例 282 14.2.1 电子邮件地址的校验 282 14.2.2 URL地址的校验 283 14.2.3 电话号码的校验 284 14.3 小结 286 第5篇 JavaScript正则表达式应用 第15章 常见的JavaScript中数据类型及其转化 287 15.1 常见的三种JavaScript数据类型 287 15.1.1 数字基本类型 287 15.1.2 字符串基本类型 288 15.1.3 布尔值基本类型 289 15.2 数据类型转化 289 15.2.1 基本数据类型转换 289 15.2.2 将字符串转化为整数 290 15.2.3 将字符串转化为浮点数 290 第16章 常见JavaScript字符串和数组处理 291 16.1 6种字符串格式处理 291 16.1.1 获取字符串的长度 291 16.1.2 根据指定的Unicode编码返回一个字符串 291 16.1.3 将字符串分割并存储到数组中 292 16.1.4 比较两个字符串的大小 292 16.1.5 将字符串转化为小写格式 293 16.1.6 将字符串转化为大写格式 294 16.2 最基本的字符串查找、替换 294 16.2.1 获取指定字符(串)第一次在字符串中出现的位置 294 16.2.2 获取指定字符(串)最后一次在字符串中出现的位置 295 16.2.3 替换字符串中指定的内容 296 16.3 字符串截取、组合的方法 296 16.3.1 返回字符串中指定位置处的字符 297 16.3.2 将一个或多个字符串连接到当前字符串的末尾 298 16.3.3 获取指定位置的字符的Unicode编码 298 16.3.4 从字符串中提取子串(1) 299 16.3.5 从字符串中提取子串(2) 300 16.3.6 从字符串中提取子串(3) 301 16.4 字符串HTML格式化 301 16.4.1 在字符串两端加入锚点标志 302 16.4.2 在字符串的两端加上粗体标志 302 16.4.3 在字符串两端加入斜体标签 302 16.4.4 在指定字符串的两端加上大字体标志 303 16.4.5 在字符串的两端加上固定宽度字体标记 303 16.4.6 设置字符串输出时的字体大小 304 16.4.7 设置字符串输出时的前景色 305 16.4.8 在字符串上加入超链接 305 16.4.9 在字符串两端加上小字体标记 306 16.4.10 在字符串两端加入下标标签 307 16.4.11 在字符串两端加入上标标签 307 16.4.12 在字符串的两端加入下画线标记 308 16.5 Array对象的方法及使用 308 16.5.1 连接其他数组到当前数组末尾 309 16.5.2 将数组元素连接为字符串 309 16.5.3 删除数组中的第一个元素 310 16.5.4 删除数组中最后一个元素 310 16.5.5 删除或替换数组中部分数据 311 16.5.6 将指定的数据添加到数组中 312 16.5.7 在数组前面插入数据 313 16.5.8 获取数组中的一部分数据 313 16.5.9 反序排列数组中的元素 314 16.5.10 对数组中的元素进行排序 314 16.5.11 返回一个包含数组中全部数据的字符串 315 第17章 常见JavaScript正则表达式应用 317 17.1 正则表达式对象RegExp及其应用 317 17.1.1 正则表达式的创建 317 17.1.2 判断字符串中是否存在匹配内容 317 17.1.3 对字符串进行匹配检测 318 17.1.4 编译正则表达式 319 17.1.5 替换字符串中的指定内容 320 17.2 处理匹配的结果 320 17.2.1 获取字符串中所有的匹配信息 320 17.2.2 获取第一次匹配的起始位置(1) 321 17.2.3 获取第一次匹配的起始位置(2) 322 17.2.4 获取子匹配的结果 322 17.2.5 获取与正则表达式进行匹配检测的字符串 324 17.2.6 获取最近一次匹配的内容 324 17.2.7 获取最近一次匹配的最后一个子匹配 325 17.2.8 获取匹配的内容的最后一个索引位置 325 17.2.9 获取匹配内容左侧的字符信息 326 17.2.10 获取匹配内容右侧的字符信息 327

2018-04-02

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除