0%

基本信息

名称: Processing语言权威指南
作者信息: 作者: 瑞斯 (Casey Reas) [ 英文 pdf ]

简单介绍

Processing语言是麻省理工大学的Casey Reas和Ben Fry两人原创,如今已经风靡世界。随着学习的人越来越多,简单的代码教程已经无法满足大家的需要。本书是Casey Reas和Ben Fry关于Processing的集大成之作,加入了更多实践案例,让读者学习得更加深入。

目录

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78

前言
Processing
使用Processing
结构一:代码要素
形状一:坐标与基本图形
数据一:变量
数学一:算术与函数
控制一:判断
控制二:重复
形状二:顶点
数学二:曲线
色彩一:用数字定义颜色
图像一:显示与染色
数据二:文本
数据三:转换与对象
字体设计一:显示
数学三:三角学
数学四:随机
变换一:平移与矩阵
变换二:旋转与缩放
开发一:草图与技术
综合一:形式与代码
访谈一:印刷
结构二:连续运行
结构三:函数
形状三:参数与递归
输入一:鼠标一
绘图一:静态形式
输入二:键盘
输入三:事件
输入四:鼠标二
输入五:时间与日期
开发二:迭代与调试
综合二:输入与响应
访谈二:软件与网页
运动一:直线与曲线
运动二:机械与有机体
数据四:数组
图像二:动画
图像三:像素
字体设计二:运动
字体设计三:响应
色彩二:分量
图像四:滤波、融合、复制与蒙板
图像五:图像处理
输出一:图像
综合三:运动与数组
访谈三:动画与录像
结构四:对象一
绘图二:动态形式
输出二:文件导出
输入六:文件导入
输入七:界面
结构五:对象二
模拟一:生物
模拟二:物理
综合四:结构与接口
访谈四:演出与装置
扩展一:继续
扩展二:三维
扩展三:视觉
扩展四:网络
扩展五:声音
扩展六:印刷品
扩展七:移动平台
扩展八:电子器件
附录A:运算顺序
附录B:保留字
附录C:ASCII与Unicode
附录D:比特、二进制与十六进制
附录E:优化
附录F:编程语言
附录G:代码对比
相关媒介
术语表
代码索引
索引

亚马逊链接

基本信息

名称: 像计算机科学家一样思考Python
作者信息: 作者: 唐尼 (Allen B.Downey) [ 英文 pdf ]

简单介绍

以“像计算机科学家一样思考”的方式,学习和掌握Python语言!如果你想学习如何编程,使用Python语言是一个极佳的开始。这本实践指南会带你一步一个脚印地学习Python语言,从最基本的编程概念,到函数、递归、数据结构和面向对象设计。计算机科学家自有一套解决问题的方法,而且这种方法是独特的、通用的和强大的。将引领你去感知这样的方法,按照“像计算机科学家一样思考”的方式,学习和掌握Python语言。从基础开始,包括语言的语法和语义。每个编程概念都有清晰的定义。进度合理地学习值、变量、语句、函数和数据结构。了解如何处理文件和数据库。理解对象、方法和面向对象编程。使用调试技巧来修正语法错误、运行时错误和语义错误。通过案例分析来探索接口设计、数据结构和基于GUI的程序。

目录

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
第1章 程序之道 1
1.1 Python编程语言 1
1.2 什么是程序 3
1.3 什么是调试 3
1.4 语法错误 3
1.5 运行时错误 4
1.6 语义错误 4
1.7 实验型调试 4
1.8 形式语言和自然语言 5
1.9 第一个程序 6
1.10 调试 7
1.11 术语表 7
1.12 练习 9
第2章 变量、表达式和语句 10
2.1 值和类型 10
2.2 变量 11
2.3 变量名称和关键字 12
2.4 操作符和操作对象 13
2.5 表达式和语句 13
2.6 交互模式和脚本模式 14
2.7 操作顺序 15
2.8 字符串操作 15
2.9 注释 16
2.10 调试 16
2.11 术语表 17
2.12 练习 18
第3章 函数 19
3.1 函数调用 19
3.2 类型转换函数 19
3.3 数学函数 20
3.4 组合 21
3.5 添加新函数 21
3.6 定义和使用 23
3.7 执行流程 23
3.8 形参和实参 24
3.9 变量和形参是局部的 25
3.10 栈图 25
3.11 有返回值函数和无返回值函数 26
3.12 为什么要有函数 27
3.13 使用from导入模块 28
3.14 调试 28
3.15 术语表 29
3.16 练习 30
第4章 案例研究:接口设计 32
4.1 乌龟世界 32
4.2 简单重复 33
4.3 练习 34
4.4 封装 35
4.5 泛化 36
4.6 接口设计 36
4.7 重构 37
4.8 一个开发计划 38
4.9 文档字符串 39
4.10 调试 39
4.11 术语表 40
4.12 练习 40
第5章 条件和递归 43
5.1 求模操作符 43
5.2 布尔表达式 43
5.3 逻辑操作符 44
5.4 条件执行 44
5.5 选择执行 45
5.6 条件链 45
5.7 嵌套条件 46
5.8 递归 46
5.9 递归函数的栈图 48
5.10 无限递归 48
5.11 键盘输入 49
5.12 调试 50
5.13 术语表 51
5.14 练习 52
第6章 有返回函数 54
6.1 返回值 54
6.2 增量开发 55
6.3 组合 57
6.4 布尔函数 58
6.5 再谈递归 59
6.6 坚持信念 60
6.7 另一个示例 61
6.8 检查类型 61
6.9 调试 63
6.10 术语表 64
6.11 练习 64
第7章 迭代 67
7.1 多重赋值 67
7.2 更新变量 68
7.3 while语句 68
7.4 break语句 70
7.5 平方根 70
7.6 算法 72
7.7 调试 72
7.8 术语表 73
7.9 练习 73
第8章 字符串 75
8.1 字符串是一个序列 75
8.2 len 76
8.3 使用for循环进行遍历 76
8.4 字符串切片 77
8.5 字符串是不可变的 78
8.6 搜索 79
8.7 循环和计数 79
8.8 字符串方法 80
8.9 操作符in 81
8.10 字符串比较 81
8.11 调试 82
8.12 术语表 84
8.13 练习 84
第9章 案例分析:文字游戏 86
9.1 读取单词列表 86
9.2 练习 87
9.3 搜索 88
9.4 使用下标循环 89
9.5 调试 91
9.6 术语表 91
9.7 练习 91
第10章 列表 93
10.1 列表是一个序列 93
10.2 列表是可变的 93
10.3 遍历一个列表 95
10.4 列表操作 95
10.5 列表切片 96
10.6 列表方法 96
10.7 映射、过滤和化简 97
10.8 删除元素 98
10.9 列表和字符串 99
10.10 对象和值 100
10.11 别名 101
10.12 列表参数 102
10.13 调试 103
10.14 术语表 105
10.15 练习 105
第11章 字典 108
11.1 使用字典作为计数器集合 110
11.2 循环和字典 111
11.3 反向查找 111
11.4 字典和列表 113
11.5 备忘 114
11.6 全局变量 116
11.7 长整数 117
11.8 调试 118
11.9 术语表 118
11.10 练习 119
第12章 元组 121
12.1 元组是不可变的 121
12.2 元组赋值 122
12.3 作为返回值的元组 123
12.4 可变长参数元组 123
12.5 列表和元组 124
12.6 字典和元组 125
12.7 比较元组 127
12.8 序列的序列 128
12.9 调试 128
12.10 术语表 129
12.11 练习 130
第13章 案例研究:选择数据结构 132
13.1 单词频率分析 132
13.2 随机数 133
13.3 单词直方图 134
13.4 最常用的单词 135
13.5 可选形参 136
13.6 字典减法 136
13.7 随机单词 137
13.8 马尔可夫分析 138
13.9 数据结构 139
13.10 调试 141
13.11 术语表 142
13.12 练习 142
第14章 文件 143
14.1 持久化 143
14.2 读和写 143
14.3 格式操作符 144
14.4 文件名和路径 145
14.5 捕获异常 146
14.6 数据库 147
14.7 封存 148
14.8 管道 149
14.9 编写模块 150
14.10 调试 151
14.11 术语表 152
14.12 练习 153
第15章 类和对象 154
15.1 用户定义类型 154
15.2 属性 155
15.3 矩形 156
15.4 作为返回值的实例 157
15.5 对象是可变的 158
15.6 复制 158
15.7 调试 160
15.8 术语表 160
15.9 练习 161
第16章 类和函数 163
16.1 时间 163
16.2 纯函数 164
16.3 修改器 165
16.4 原型和计划 166
16.5 调试 167
16.6 术语表 168
16.7 练习 168
第17章 类和方法 170
17.1 面向对象特性 170
17.2 打印对象 171
17.3 另一个示例 172
17.4 一个更复杂的示例 173
17.5 init方法 173
17.6 str方法 174
17.7 操作符重载 174
17.8 基于类型的分发 175
17.9 多态 176
17.10 调试 177
17.11 接口和实现 178
17.12 术语表 179
17.13 练习 179
第18章 继承 181
18.1 卡片对象 181
18.2 类属性 182
18.3 对比卡牌 183
18.4 牌组 184
18.5 打印牌组 185
18.6 添加、删除、洗牌和排序 186
18.7 继承 186
18.8 类图 188
18.9 调试 189
18.10 数据封装 190
18.11 术语表 191
18.12 练习 192
第19章 案例研究:Tkinter 195
19.1 GUI 195
19.2 按钮和回调 196
19.3 画布部件 197
19.4 坐标序列 198
19.5 更多部件 198
19.6 包装部件 200
19.7 菜单与Callable 202
19.8 绑定 203
19.9 调试 205
19.10 术语表 206
19.11 练习 206
附录A 调试 209
附录B 算法分析 217
附录C Lumpy 227
译后记 236

亚马逊链接

基本信息

名称: 利用Python进行数据分析
作者信息: 作者: 麦金尼 (Wes McKinney) [ 英文 pdf ]

简单介绍

《利用Python进行数据分析》适合刚刚接触Python的分析人员以及刚刚接触科学计算的Python程序员。将IPython这个交互式Shell作为你的首要开发环境。

目录

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
前言1
第1章准备工作5
本书主要内容5
为什么要使用Python进行数据分析6
重要的Python库7
安装和设置10
社区和研讨会16
使用本书16
致谢18
第2章引言20
来自bit.ly的1.usa.gov数据21
MovieLens1M数据集29
1880—2010年间全美婴儿姓名35
小结及展望47
第3章IPython:一种交互式计算和开发环境48
IPython基础49
内省51
使用命令历史60
与操作系统交互63
软件开发工具66
IPythonHTMLNotebook75
利用IPython提高代码开发效率的几点提示77
高级IPython功能79
致谢81
第4章NumPy基础:数组和矢量计算82
NumPy的ndarray:一种多维数组对象83
通用函数:快速的元素级数组函数98
利用数组进行数据处理100
用于数组的文件输入输出107
线性代数109
随机数生成111
范例:随机漫步112
第5章pandas入门115
pandas的数据结构介绍116
基本功能126
汇总和计算描述统计142
处理缺失数据148
层次化索引153
其他有关pandas的话题158
第6章数据加载、存储与文件格式162
读写文本格式的数据162
二进制数据格式179
使用HTML和WebAPI181
使用数据库182
第7章数据规整化:清理、转换、合并、重塑186
合并数据集186
重塑和轴向旋转200
数据转换204
字符串操作217
示例:USDA食品数据库224
第8章绘图和可视化231
matplotlibAPI入门231
pandas中的绘图函数244
绘制地图:图形化显示海地地震危机数据254
Python图形化工具生态系统260
第9章数据聚合与分组运算263
GroupBy技术264
数据聚合271
分组级运算和转换276
透视表和交叉表288
示例:2012联邦选举委员会数据库291
第10章时间序列302
日期和时间数据类型及工具303
时间序列基础307
日期的范围、频率以及移动311
时区处理317
时期及其算术运算322
重采样及频率转换327
时间序列绘图334
移动窗口函数337
性能和内存使用方面的注意事项342
第11章金融和经济数据应用344
数据规整化方面的话题344
分组变换和分析355
更多示例应用361
第12章NumPy高级应用368
ndarray对象的内部机理368
高级数组操作370
广播378
ufunc高级应用383
结构化和记录式数组386
更多有关排序的话题388
NumPy的matrix类393
高级数组输入输出395
性能建议397
附录APython语言精要401

亚马逊链接

基本信息

名称: Windows Azure实战
作者信息: 作者: 白海石 [ 英文 pdf ]

简单介绍

内容权威,微软官方资深云计算专家撰写,英文版将在海外发行 全面深入,完整覆盖Windows Azure所有关键技术和理论,详细讲解云计算开发流程、云服务架构(可用性、可靠性和高性能)、云设备整合、系统整合,以及云计算项目的管理 注重实战,68个精心策划的针对特定实际应用场景的真实案例,详细呈现案例的设计思路和完整实现步骤

目录

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
目    录
Preface

前言
第一部分 基础篇
第1章  云计算概览 2
1.1  云计算历史 2
1.2  云计算的本质 4
1.2.1  弹性 5
1.2.2  可用性 7
1.2.3  缩放性 8
1.3  Windows Azure概览 9
1.3.1  设施即服务 10
1.3.2  平台即服务 11
1.3.3  软件即服务 12
1.3.4  成本计算 14
1.4  准备Windows Azure的开发
环境 14
1.4.1  订阅Windows Azure 15
1.4.2  安装软件开发工具包 15
1.5  熟悉Windows Azure管理门户 15
1.5.1  登录 16
1.5.2  界面结构 16
1.6  本章小结 18
第2章 创建云端网站 19
2.1  Windows Azure WebSites 19
2.2  网站的发布与更新 24
2.3  与源代码管理系统的整合 32
2.4  网站的缩放 36
2.4.1  垂直缩放 36
2.4.2  水平缩放 38
2.4.3  自动缩放 39
2.5  移植现有的ASP.NET网站 39
2.6  使用网站模板 40
2.7  网站设置 44
2.8  网站的诊断和监视 48
2.8.1  网站诊断 48
2.8.2  网站监视 50
2.8.3  自定义域名 53
2.9  本章小结 54
第3章 云服务入门 55
3.1  Windows Azure Cloud Service 55
3.2  角色和云服务 59
3.2.1  角色 60
3.2.2  云服务 60
3.3  云服务部署的基本步骤 61
3.4  云服务的部署和更新 67
3.4.1  增量更新(按更新域
更新) 67
3.4.2  同时更新 67
3.4.3  多个部署环境 68
3.5  实例和负载平衡 73
3.5.1  实例 73
3.5.2  负载平衡 73
3.6  配置文件和定义文件 76
3.6.1  云服务定义文件 76
3.6.2  云服务配置文件 77
3.7  本章小结 80
第4章 高级云服务 81
4.1  端点类型 81
4.1.1  输入端点 81
4.1.2  内部端点 82
4.1.3  实例输入端点 82
4.2  辅助角色 86
4.3  角色间通信 92
4.4  角色的生命周期 96
4.4.1  角色在虚拟机上部署和运行的过程 97
4.4.2  角色实例的状态 97
4.5  启动任务 98
4.5.1  定义启动任务 98
4.5.2  启动任务的属性 99
4.6  诊断与调试 104
4.6.1  本机开发与调试 104
4.6.2  Windows Azure诊断 105
4.6.3  IntelliTrace 111
4.6.4  监视云服务 117
4.7  开发者社区 120
4.8  本章小结 121
第5章  数据存储——关系型数据库 122
5.1  Windows Azure数据存储方案 122
5.2  SQL Database概览 123
5.3  管理与优化SQL Database 136
5.3.1  SQL Server Management Studio 136
5.3.2  Microsoft SQL Server Data Tools 138
5.3.3  动态管理视图 139
5.3.4  查询优化 140
5.4  数据的同步和复制 142
5.4.1  数据层应用程序 143
5.4.2  数据同步 147
5.5  使用MySQL数据库 152
5.5.1  Windows Azure商店 152
5.5.2  查看MySQL连接信息 153
5.5.3  自己搭建MySQL环境 154
5.6  本章小结 154
第6章  数据存储——非结构化数据 155
6.1  使用本地存储 155
6.2  Windows Azure存储服务概览 158
6.2.1  Windows Azure存储账户 159
6.2.2  创建Windows Azure存储账户 160
6.2.3  存储账户的密钥 160
6.3  使用BLOB存储 161
6.3.1  BLOB存储概览 161
6.3.2  块BLOB和页BLOB 177
6.3.3  ETag和快照 178
6.3.4  REST风格调用 178
6.3.5  分享访问签名和库访问策略 179
6.3.6  BLOB的更新、复制和租约 180
6.3.7  错误处理 181
6.4  使用表存储 181
6.4.1  表存储概览 181
6.4.2  优化数据分区 181
6.4.3  查询表数据 192
6.4.4  批处理 193
6.4.5  动态表实体 194
6.4.6  分享访问签名 194
6.5  使用队列存储 194
6.5.1  队列储概览 194
6.5.2  在代码中使用队列服务 195
6.6  监视存储账户 196
6.6.1  配置监视存储服务 197
6.6.2  监视服务的收费 198
6.7  本章小结 198
第7章 虚拟机和虚拟网络 199
7.1  Windows Azure IaaS 199
7.2  映像和虚拟磁盘 206
7.3  虚拟机的通信 212
7.3.1  虚拟机的端点 212
7.3.2  同一个云服务下的
虚拟机 214
7.4  虚拟网络 218
7.4.1  虚拟网络简介 218
7.4.2  点到站点虚拟网络 220
7.4.3  站点到站点虚拟网络 225
7.5  本章小结 226
第二部分 架构篇
第8章 云解决方案系统架构 228
8.1  服务器/客户端 228
8.1.1  服务器/客户端架构的特点 228
8.1.2  云平台上的服务器/客户端架构 230
8.1.3  多租户系统设计 231
8.1.4  服务器/客户端系统到云平台的移植 233
8.1.5  在Windows Azure上实现服务器/客户端系统 234
8.1.6  移动客户端 234
8.2  服务器/浏览器 235
8.2.1  服务器/浏览器架构的特点 235
8.2.2  云平台上的服务器/浏览器架构 236
8.2.3  将服务器/浏览器系统移植到云平台的难点 244
8.2.4  在Windows Azure上实施服务器/浏览器系统 246
8.3  n层体系 247
8.3.1  n层体系的特点 248
8.3.2  n层体系、MVC和MVVM 249
8.3.3  Windows Azure服务总线队列服务简介 252
8.3.4  在Windows Azure上实现n层体系结构 255
8.4  分布式系统 264
8.4.1  基于消息的连接 264
8.4.2  中继连接 268
8.5  本章小结 274
第9章 高可用性设计 275
9.1  高可用性设计的策略 275
9.1.1  冗余 275
9.1.2  负载平衡 276
9.1.3  容错转移 276
9.2  负载平衡与健康检测器 281
9.3  竞争消费者模式 283
9.3.1  松散耦合 283
9.3.2  动态负载平衡 283
9.3.3  动态缩放 284
9.3.4  容错转移 284
9.4  本章小结 287
第10章 高可靠性设计 288
10.1  可靠性、可维护性与可用性 288
10.1.1  可用性 288
10.1.2  可靠性 288
10.1.3  可维护性 289
10.1.4  相互关系 289
10.2  错误类型 289
10.2.1  运营中的错误 290
10.2.2  系统状态错误 290
10.2.3  系统设计与实施错误 290
10.3  瞬时错误 291
10.4  可靠性设计 294
10.4.1  单一失效点 294
10.4.2  可靠性编程原则 296
10.5  本章小结 298
第11章 高性能设计 299
11.1  Windows Azure缓存服务 299
11.1.1  缓存服务简介 299
11.1.2  缓存的部署方式 300
11.1.3  缓存功能介绍 303
11.1.4  并发模式 305
11.1.5  本地缓存 305
11.1.6  会话状态 306
11.2  Windows Azure CDN服务 310
11.3  异步操作和并发操作 313
11.4  本章小结 314
第12章 基于声明的体系架构 315
12.1  基于声明的验证和授权 316
12.1.1  基本流程 317
12.1.2  身份验证协议与WIF 318
12.1.3  身份验证代理 318
12.2  Windows Azure AD基础 320
12.2.1  管理Windows Azure租户和用户 321
12.2.2  Graph API 332
12.3  Windows Azure AD新增功能 337
12.4  本章小结 338
第三部分 设备篇
第13章 移动服务 340
13.1  移动服务概览 340
13.2  消息推送 348
13.3  计划程序与API 354
13.4  本章小结 356
第14章 物联网 357
14.1  物联网概览 357
14.1.1  射频识别 358
14.1.2  人工智能设备 358
14.1.3  可穿戴设备 358
14.1.4  无线传感器网络 359
14.2  设备与云服务 359
14.2.1  设备对云的意义 359
14.2.2  云对设备的意义 360
14.3  物联网的挑战 361
14.4  .NET Micro Framework 362
14.4.1  .NET Micro Framework概览 362
14.4.2  .NET Gadgeteer简介 364
14.4.3  设备的整合案例 368
14.5  本章小结 373
第四部分 企业篇
第15章 基于消息整合 376
15.1  系统整合 376
15.1.1  通过数据整合 376
15.1.2  共享业务功能 377
15.1.3  企业服务总线 377
15.2  基于消息的系统整合模式 378
15.2.1  基于内容的消息路由(Content-based Routing) 379
15.2.2  优先级队列 382
15.2.3  请求/响应 382
15.2.4  死信队列 385
15.2.5  事件驱动的消费者 388
15.3  高级消息队列协议 390
15.3.1  AMQP简介 390
15.3.2  业界对AMQP的支持 391
15.4  基于消息集成的优势 397
15.5  本章小结 398
第16章 源代码和项目管理 399
16.1  创建TFS账户 399
16.2  使用TFS管理源代码 400
16.3  创建和使用单元测试 405
16.4  本章小结 410
第17章 脚本和自动化 411
17.1  Windows Azure PowerShell命令集 411
17.1.1  准备Windows Azure PowerShell命令集环境 411
17.1.2  管理虚拟机 412
17.1.3  管理云服务 415
17.1.4  管理网站 416
17.1.5  其他管理命令 417
17.2  Windows Azure 命令行工具 417
17.2.1  安装命令行工具 417
17.2.2  使用命令行工具 418
17.3  Windows Azure管理应用程序接口 418
17.4  本章小结 421
结语 云之禅 422
附录A  云计算术语中英文对照表 424
附录B 英文缩写对照表 429
附录C 扩展概念 432
参考文献 442

实例目录 实例1: 您好,Windows Azure网站! 19 实例2: 使用WebMatrix更新网站 25 实例3: 使用FTP发布和更新PHP 网站 28 实例4: 使用Git发布和更新网站 32 实例5: 创建基于Drupal的网站 40 实例6: 网站应用设置实例——描绘用 户输入函数的图像 44 实例7: 您好,Windows Azure云服务! 55 实例8: 部署云服务 62 实例9: 通过管理门户部署云服务与VIP交换 69 实例10: 云服务的水平缩放 74 实例11: 配置网站服务的HTTPS 端点 82 实例12: 使用UDP端口的辅助角色 87 实例13: 使用Web前端和后台服务 93 实例14: 启动任务——将图片转化成文本网页 99 实例15: 配置Windows Azure诊断 106 实例16: 使用IntelliTrace求最大公约数 112 实例17: 使用SQL Database创建在线订单系统 125 实例18: 使用SSMSE创建订单视图 136 实例19: 使用动态管理视图(DMV) 139 实例20: 使用SQL Database管理界面 141 实例21: 使用.bacpac和.dacpac 143 实例22: SQL Server和SQL Database的数据同步 147 实例23: 本地存储——数据文件生成服务 155 实例24: 通过Visual Studio管理BLOB服务 162 实例25: BLOB服务——在线照片管理 164 实例26: 通过Visual Studio 管理表服务 182 实例27: 使用表服务——猜动物游戏 183 实例28: 通过Visual Studio 管理队列服务 195 实例28: 您好,Windows虚拟机! 199 实例29: 您好,Linux虚拟机! 204 实例30: 使用数据磁盘 206 实例31: 创建和使用虚拟机映像 210 实例32: 在Linux虚拟机上配置和运行Node.js 212 实例33: 同一云服务内虚拟机的通信 214 实例34: 虚拟机间负载平衡 215 实例35: 创建Windows Azure虚拟 网络 218 实例36: 创建点到站点虚拟网络——本地与云端的文件共享 221 实例37: 多网站与租户限流 236 实例38: ASP.NET Web API和MVVM 249 实例39: 管理服务总线命名空间和消息队列 253 实例40: 使用服务总线队列服务实现异步通信——翻译服务 256 实例41: 服务总线的主题/订阅——简单的聊天程序 264 实例42: 中继服务——WCF Mastermind游戏 269 实例43: 交通管理服务——跨地域容错转移 276 实例44: 竞争消费者模式演示 284 实例45: 使用瞬时错误处理应用 程序库 292 实例46: 使用缓存服务 300 实例47: 使用外部会话状态提供者 307 实例48: 使用CDN发布存储账户中的内容 311 实例49: 使用Windows Azure AD验证用户身份 323 实例50: 使用Graph API 332 实例51: 使用移动服务支持Windows商店应用 341 实例52: 移动服务后台编程 344 实例53: 推送到Windows设备 349 实例54: 计划程序 354 实例55: API 355 实例56: 您好,嵌入式设备! 362 实例57: 简易摄像机 365 实例58: 入侵者报警系统 368 实例59: 基于内容的消息路由 380 实例60: 请求/响应模式 383 实例61: 死信队列 386 实例62: 事件驱动消费者 388 实例63: 通过AMQP实现系统整合 392 实例64: 使用TFS管理源代码 401 实例65: 创建和使用单元测试 406 实例66: 封闭签入 408 实例67: 用Windows Azure PowerShell管理虚拟机 413 实例68: 使用Windows Azure管理应用程序接口 419

亚马逊链接

基本信息

名称: 如何创造思维 人类思想所揭示出的奥秘
作者信息: 作者: 雷•库兹韦尔 (Ray Kurzweil) [ 英文 pdf ]

简单介绍

《如何创造思维》作者雷·库兹韦尔是21世纪最具洞察力的思想家和未来学家、“库兹韦尔定律”创立者,美国发明家名人堂获奖者、美国国家技术奖获得者、奇点大学校长、谷歌公司工程总监雷•库兹韦尔最新力作。 这是一部洞悉未来思维模式的颠覆之作。库兹韦尔对于大脑和人工智能的理解,将对我们生活的方方面面,地球上的各行各异,以及我们有关未来的设想产生巨大的影响。库兹韦尔通过一系列推理告诉我们,我们有能力创造超越人类智能的非生物智能。财讯传媒集团首席战略官段永超,跨界物理学家李淼,中国当代最知名的科幻作家、畅销书《三体》作者刘慈欣联袂推荐。湛庐文化出品。

目录

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
各方赞誉
推荐序 解放思想
段永朝.跨界思想家财讯传媒集团首席战略官
前言 揭开人脑思维的奥秘
第1章 自然界的思想实验
历史上出现过很多著名的思想实验,特别是关于自然界的思想实验,爱因斯坦的“驾乘光束”实验就是其一。研究大脑,也可以采用同样的办法。通过简单的思想实验,我们就能很好地理解人类智慧是怎么一回事儿。
思想实验1:大峡谷和大洞穴的形成
思想实验2:驾乘光束
大脑新皮质的统一模式

第2章 思考的思想实验 大脑和计算机都能存储和处理信息,但是,大脑和计算机之间的相似性可不只是看上去那么简单。大脑的记忆是层级结构和连贯有序的。记忆奇妙地出现在你的脑海里,一定是某些事物触发了它们。 思考,人脑不同于计算机 记忆是连贯有序的 联想因触发而生 记忆的结构是层级的

第3章 大脑新皮质模型 大脑新皮质分 6层,共包含 300亿个神经元,它们又组成了 3亿个模式识别器。这些模式识别器按层级关系组织,它们是思想的语言和思维模式识别理论的基础。只有具备自联想能力和特征恒常性能力,大脑新皮质才能识别模式。思维模式分两种:无目标思维和导向式思维,做梦就是无目标思维实例。 分层模式 模式结构 流向大脑新皮质模式识别器的数据本质 自联想和恒常性 学习 思想的语言 梦的语言 模型的根源 第4章 人类的大脑新皮质 尽管进化带来的改变并不总是朝着更高的智力水平前进,但是,智力仍是一个重要的进化分支。大脑新皮质的分层学习能力如此重要,以至于它在进化过程中体积越来越大,并最终成为大脑的主体。大脑运转时,并不以神经元为基础,而是神经元集合。 智力,一个重要的进化分支 新皮质的分层学习能力 积木式神经元集合 视觉皮质与通用算法

第5章 旧脑 虽然大脑新皮质已成为大脑的主体,但我们的旧脑并未消失,仍在帮助我们寻求满足和躲避危险。丘脑的突出作用是与新皮质持续联络,海马体存储最新记忆,而小脑则负责人体动作的协调。 感觉传导路 丘脑 海马体 小脑 快乐与恐惧

第6章 卓越的能力 人类的卓越能力,主要归功于大脑脑岛中的纺锤体细胞。大脑新皮质某些区域的优化,使其更善于处理联合模式,这就是天分的由来。跨领域合作和非生物大脑新皮质的云端存储,将让我们更富有创造力。从进化观点看,爱情的存在就缘于大脑新皮质的需求。 天分 创造力 爱情

第7章 仿生数码新皮质 我们现在已能模拟包含 160万个视觉神经元的人脑视觉新皮质,模拟完整人类大脑的目标,预计 2023年就可实现。“矢量量化”方法既能高效利用计算机资源,又能保留重要的语言识别特征。“隐马尔可夫模型”让语音识别系统能同时完成识别和学习两项任务。 脑模拟 神经网络 矢量量化 用隐马尔可夫模型解读你的思维 进化(遗传)算法 列表处理语言LISP 分层储存系统 人工智能的前沿:登上能力层级顶端 创造思维的策略 第8章 计算机思维的4大基础 尽管人脑的思维模式极为精巧,我们仍可通过软件对人脑进行模拟。要想做到这一点,计算机必须要具备准确的沟通、记忆和计算能力,具有计算的通用性和冯 •诺依曼结构,并且能够按大脑核心算法进行创造性思维。 基础1:准确的沟通、记忆和计算能力 基础2:计算的通用性 基础3:冯•诺依曼结构 基础4:按大脑核心算法进行创造性思考

第9章 思维的思想实验3 意识来源于复杂物理系统的“涌现特性”(emergent property),“感受性”(qualia)是其突出特征。成功模拟人脑的计算机也是有意识的。思维就是有意识大脑所进行的活动。非生物学意义上的“人”将于 2029年出现。将非生物系统引入人脑,不会改变我们的身份,但却产生了另外一个“我”。把我们的大部分思想储存在云端,人类就能实现“永生”。 谁是有意识的 你必须有信仰 我们能够意识到什么呢 东方是东方,西方是西方自由 意志身份 第10章 有关思维的库兹韦尔定律 信息技术的发展,都遵循着库兹韦尔定律,与思维相关的技术也不例外。随着人类基因组计划的实施,生物医学已成为一项信息技术,并呈指数型发展。在互联网上,每秒比特的传递量每 16个月就翻一番。磁共振成像技术,也以指数级速度稳定发展,目前的空间分辨率已接近 100微米。 生物医学 信息传输 大脑研究

第11章 反对的声音 库兹韦尔定律及其在人类智能提高方面的应用,也招致了不少批评。保罗 • 艾伦对“指数发展”说完全持否定态度。罗杰斯 • 彭罗斯认为,计算机无法像人脑那样进行量子计算。约翰 • 赛尔说,计算机即便能够通过图灵测试,它也不知道自己在做些什么。 “奇点遥远”论 “量子计算能力缺失”论 “无意识”论 后记 拥抱“奇点” 注释 译者后记

亚马逊链接

基本信息

名称: Node.js高级编程
作者信息: 作者: 特谢拉 (Teixeira P.) [ 英文 pdf ]

简单介绍

Node.js是一种主流框架,它允许你使用JavaScript快速构建具有高度可伸缩性的网络程序。可是,它有自己的学习曲线,特谢拉编著的《Node.js高级编程》这本较为深入的指南性图书首先介绍了Node.js平台的安装,然后重点关注:创建和加载模块;使用缓冲区对二进制数据进行处理、编码和编码;用事件发射器模式简化事件绑定等。本书还涵盖了从使用定时器制定函数执行计划到创建和控制外部进程等内容,可以让你为运行、构建和测试自定义模块做好准备。

目录

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
第Ⅰ部分  概述和安装
第1章 安装Node 3
1.1 在Windows上安装Node 4
1.2 在MAC OS X上安装Node 6
1.3 使用源代码安装Node 7
1.3.1 选择Node的版本 7
1.3.2 下载Node源代码 7
1.3.3 编译Node 8
1.3.4 安装Node 8
1.3.5 运行Node 8
1.4 安装和应用Node包管理器 9
1.5 本章小结 14
第2章 Node简介 15
2.1 事件驱动编程风格介绍 16
2.2 Node和JavaScript如何简化异步应用程序的编写 17
2.2.1 什么是闭包 17
2.2.2 闭包如何辅助异步编程 18
2.3 本章小结 19
第Ⅱ部分 Node核心API基础
第3章 加载模块 23
3.1 理解Node如何加载模块 24
3.2 导出模块 24
3.3 加载模块 25
3.3.1 加载核心模块 25
3.3.2 加载文件模块 26
3.3.3 加载文件夹模块 26
3.3.4 从node_modules文件夹加载 26
3.3.5 缓存模块 27
3.4 本章小结 28
第4章 应用缓冲区处理、编码和解码二进制数据 29
4.1 创建缓冲区 30
4.2 在缓冲区中获取和设置数据 30
4.3 切分缓冲区 31
4.4 复制缓冲区 32
4.5 缓冲区解码 32
4.6 本章小结 33
第5章 使用事件发射器模式简化事件绑定 35
5.1 理解标准回调模式 35
5.2 理解事件发射器模式 36
5.3 理解事件类型 37
5.4 应用事件发生器API 38
5.4.1 使用.addListener( )或.on( )绑定回调函数 38
5.4.2 绑定多个事件监听器 39
5.4.3 使用.removeListener( )从事件发射器中删除一个事件监听器 40
5.4.4 使用.once()使回调函数最多执行一次 40
5.4.5 使用.removeAllListeners()从事件发射器删除所有事件监听器 41
5.5 创建事件发射器 41
5.5.1 从Node事件发射器继承 41
5.5.2 发射事件 42
5.6 本章小结 42
第6章 使用定时器制定函数执行计划 45
6.1 使用setTimeout推迟函数执行 46
6.2 使用clearTimeout取消函数执行 46
6.3 制定和取消函数的重复执行计划 47
6.4 使用process.nextTick将函数执行推迟到下一轮事件循环 47
6.5 阻塞事件循环 48
6.6 退出事件循环 49
6.7 使用setTimeout代替setInterval强制函数串行执行 49
6.8 本章小结 50
第Ⅲ部分 文件、进程、流和网络
第7章 查询和读写文件 53
7.1 处理文件路径 54
7.1.1 规范化路径 54
7.1.2 连接路径 54
7.1.3 解析路径 55
7.1.4 查找两个绝对路径之间的相对路径 55
7.1.5 提取路径的组成部分 55
7.1.6 确定路径是否存在 56
7.2 fs模块简介 57
7.3 打开文件 58
7.4 读取文件 58
7.4.1 写入文件 59
7.4.2 关闭文件 60
7.5 本章小结 62
第8章 创建和控制外部进程 63
8.1 执行外部命令 63
8.2 生成子进程 68
8.2.1 创建子进程 68
8.2.2 监听子进程的输出数据 69
8.2.3 向子进程发送数据 69
8.2.4 当子进程退出时获得通知 71
8.3 向进程发送信号并终止进程 72
8.4 本章小结 73
第9章 读写数据流 75
9.1 使用可读流 76
9.1.1 等待数据 76
9.1.2 暂停与恢复流 76
9.1.3 了解流何时终止 77
9.2 使用可写流 77
9.2.1 将数据写入流 77
9.2.2 等待流被清空 78
9.3 考虑几个流的例子 78
9.3.1 创建文件系统流 78
9.3.2 理解网络流 80
9.4 避免慢客户端问题以及挽救服务器 80
9.4.1 理解慢客户端问题 80
9.4.2 避免慢客户端问题 81
9.4.3 应用stream.pipe()避免慢客户端问题与使用pipe()集成可读流和可写流 81
9.5 本章小结 82
第10章 构建TCP服务器 83
10.1 创建TCP服务器 83
10.1.1 应用套接字对象 85
10.1.2 理解空闲套接字 86
10.1.3 设置保持运行 87
10.1.4 应用延时或非延时 87
10.1.5 监听连接 88
10.1.6 关闭服务器 88
10.1.7 处理错误 88
10.2 构建一个简单的TCP聊天服务器 89
10.2.1 接受连接 89
10.2.2 从连接中读取数据 89
10.2.3 聚合所有客户端 90
10.2.4 广播数据 91
10.2.5 删除被关闭的连接 91
10.2.6 使用TCP聊天服务器 92
10.3 本章小结 93
第11章 构建HTTP服务器 95
11.1 理解http.ServerRequest对象 96
11.2 理解http.ServerResponse对象 98
11.2.1 写入响应头 98
11.2.2 修改或设置响应头 98
11.2.3 删除响应头 99
11.2.4 写入一块响应主体 99
11.3 以流的形式传送HTTP分块响应 99
11.3.1 传送文件 99
11.3.2 传送其他进程的输出 100
11.4 关闭服务器 100
11.5 示例1:构建提交静态文件的服务器 101
11.6 示例2:使用HTTP分块响应和定时器 102
11.7 本章小结 102
第12章 构建TCP客户端 103
12.1 连接服务器 104
12.2 发送和接收数据 104
12.3 终止连接 105
12.4 处理错误 106
12.5 创建命令行TCP客户端的示例 106
12.5.1 连接服务器 107
12.5.2 向服务器发送命令行 107
12.5.3 打印服务器消息 107
12.5.4 在连接终止时重新连接 108
12.5.5 关闭连接 110
12.5.6 前述内容综合 111
12.6 本章小结 112
第13章 创建HTTP请求 113
13.1 创建GET请求 113
13.2 使用其他HTTP动词 114
13.2.1 查看响应对象 115
13.2.2 获取响应主体 116
13.2.3 以流的方式传送响应主体 116
13.3 使用HTTP.Agent维护套接字池 116
13.4 应用第三方请求模块简化HTTP请求 118
13.4.1 安装和应用request模块 118
13.4.2 创建测试服务器 119
13.4.3 跟随重定向 121
13.4.4 设置请求选项 122
13.4.5 对请求体进行编码 125
13.4.6 流式传送 126
13.4.7 使用Cookie Jar 127
13.5 本章小结 127
第14章 使用用户数据报 129
14.1 理解用户数据报 129
14.2 理解用户数据报的使用 130
14.3 构建数据报服务器 130
14.3.1 监听消息 130
14.3.2 测试服务器 131
14.3.3 查看附加的消息信息 132
14.4 创建简单的数据报回送服务器 132
14.4.1 等待消息 132
14.4.2 向发送端发回消息 132
14.4.3 前述内容综合 133
14.5 构建数据报客户端 133
14.5.1 创建客户端 134
14.5.2 发送消息 134
14.5.3 关闭套接字 134
14.6 创建一个简单的数据报命令行客户端 134
14.6.1 读取命令行 135
14.6.2 向服务器发送数据 135
14.6.3 从服务器接收数据 135
14.6.4 前述内容综合 136
14.7 理解和使用数据报多播 136
14.7.1 接收多播消息 137
14.7.2 发送多播消息 137
14.7.3 理解数据报最大容量 138
14.8 本章小结 138
第15章 用TLS/SSL保证服务器的安全性 139
15.1 理解私钥和公钥 139
15.1.1 产生私钥 140
15.1.2 产生公钥 140
15.2 构建TLS服务器 140
15.2.1 初始化服务器 141
15.2.2 监听连接 141
15.2.3 从客户端读取数据 142
15.2.4 向客户端发送数据 142
15.2.5 终止连接 142
15.3 构建TLS客户端 142
15.3.1 初始化客户端 143
15.3.2 连接服务器 143
15.3.3 验证服务器证书 143
15.3.4 向服务器发送数据 144
15.3.5 从服务器读取数据 144
15.3.6 终止连接 144
15.4 创建几个示例 144
15.4.1 创建TLS聊天服务器 145
15.4.2 创建TLS命令行聊天客户端 146
15.4.3 验证客户端证书 147
15.5 本章小结 148
第16章 用HTTPS保证HTTP服务器的安全性 149
16.1 构建安全的HTTP服务器 149
16.1.1 设置服务器选项 150
16.1.2 监听连接 150
16.1.3 验证HTTPS客户端证书 151
16.2 创建HTTPS客户端 152
16.2.1 初始化客户端 152
16.2.2 创建请求 152
16.2.3 验证HTTPS服务器证书 153
16.3 本章小结 154
第Ⅳ部分 构建与调试模块及应用程序
第17章 测试模块及应用程序 157
17.1 应用测试运行工具 157
17.1.1 编写测试 158
17.1.2 运行测试 159
17.2 使用断言测试模块 159
17.2.1 使用断言模块 159
17.2.2 使用Node-Tap中的内置断言函数 161
17.3 测试异步模块 163
17.4 本章小结 166
第18章 调试模块及应用程序 167
18.1 使用console.log 167
18.2 使用Node内置调试器 169
18.3 使用Node检查器 173
18.4 本章小结 175
第19章 控制回调流程 177
19.1 理解飞去来器效应 177
19.2 通过声明函数避免飞去来器效应 179
19.3 使用ASYNC流程控制库 183
19.3.1 串行执行 184
19.3.2 并行执行 185
19.3.3 连续传递 186
19.3.4 排队 187
19.3.5 迭代 189
19.3.6 映射 190
19.3.7 规约 191
19.3.8 过滤 192
19.3.9 检测 193
19.4 本章小结 194
第Ⅴ部分 构建Web应用程序
第20章 构建和使用HTTP中间件 197
20.1 理解Connect HTTP中间件框架 198
20.2 构建自定义HTTP中间件 198
20.2.1 创建异步中间件 199
20.2.2 在中间件内部注册回调函数 201
20.2.3 在中间件内处理错误 202
20.3 使用捆绑在Connect中的HTTP中间件 206
20.3.1 记录请求 206
20.3.2 处理错误 208
20.3.3 提交静态文件 209
20.3.4 解析查询字符串 210
20.3.5 解析请求主体 211
20.3.6 解析Cookies 212
20.3.7 使用会话 213
20.3.8 其他可用的中间件 216
20.4 本章小结 216
第21章 用Express.js创建Web应用程序 217
21.1 初始化Express.js应用程序 218
21.2 在应用程序中设置中间件 220
21.3 路由请求 222
21.3.1 处理路由 222
21.3.2 使用会话 229
21.3.3 使用路由中间件 234
21.4 本章小结 238
第22章 使用Socket.IO创建通用的实时Web应用程序 241
22.1 理解WebSockets如何工作 242
22.2 使用Socket.IO创建WebSocket应用程序 243
22.2.1 在服务器上安装和运行Socket.IO 243
22.2.2 使用Socket.IO创建实时网络聊天应用程序 245
22.2.3 扩展聊天应用程序 250
22.2.4 检测连接断开 253
22.2.5 将用户分隔到聊天室中 255
22.2.6 使用名称空间 259
22.2.7 使用Redis分布运行服务器端应用程序 260
22.3 本章小结 263
第Ⅵ部分 连接数据库
第23章 使用node-mysql连接MySQL数据库 267
23.1 应用库与MySQL数据库进行连接和通信 267
23.2 向数据库添加数据时请记住安全性 269
23.3 高效读取数据 272
23.4 本章小结 276
第24章 使用Nano连接CouchDB数据库 277
24.1 安装Nano 278
24.2 连接和创建数据库 281
24.3 存储文档 285
24.4 创建和使用CouchDB视图 286
24.5 将文件附加到CouchDB文档上 299
24.6 本章小结 312
第25章 使用Mongoose连接MongoDB 数据库 313
25.1 安装Mongoose 315
25.2 理解Mongoose如何使用模型封装对数据库的访问 315
25.3 连接MongoDB数据库 316
25.4 定义模式 316
25.5 定义模型 316
25.5.1 使用验证器 326
25.5.2 使用修改器 332
25.5.3 使用取值器 333
25.5.4 使用虚拟属性 334
25.5.5 使用默认值 340
25.5.6 定义索引 341
25.5.7 使用DB Refs引用其他文档 343
25.5.8 定义实例方法 349
25.5.9 定义静态方法 350
25.6 本章小结 351

亚马逊链接

基本信息

名称: R语言技术手册(第2版)
作者信息: 作者: Joseph Adler [ 英文 pdf ]

简单介绍

如果你选择R语言用于统计计算和数据可视化,那么《R语言技术手册(影印版第2版)》将可以为你提供开源R语言及其软件环境的快速实用指南。你将学习如何编写R函数和使用R包来帮助你准备、可视化和分析数据。本书作者Joseph Adler(艾德勒)讲解了来自医药、商业和体育方面大量实例的处理过程。 本次第二版更新基于R语言2.14和2.15版本,包括了这样一些新的扩展章节:R性能、ggplot2数据可视化包和基于Hadoop的并行R计算。

目录

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
Preface
Part Ⅰ. R Basics
1. Getting and Installing R
R Versions
Getting and Installing Interactive R Binaries
Windows
Mac OS X
Linux and Unix Systems
2. The R Userlnterface
The R Graphical User Interface
Windows
Mac OS X
Linux and Unix
The R Console
Command-Line Editing
Batch Mode
Using R Inside Microsoft Excel
RStudio
Other Ways to Run R
3. AShort RTutorial
Basic Operations in R
Functions
Variables
Introduction to Data Structures
Objects and Classes
Models and Formulas
Charts and Graphics
Getting Help
4. R Packages
An Overview of Packages
Listing Packages in Local Libraries
Loading Packages
Loading Packages on Windows and Linux
Loading Packages on Mac OS X
Exploring Package Repositories
Exploring R Package Repositories on the Web
Finding and Installing Packages Inside R
Installing Packages From Other Repositories
Custom Packages
Creating a Package Directory
Building the Package
Part Ⅱ. The R Language
5. An Overview of the R Language
Expressions
Objects
Symbols
Functions
Objects Are Copied in Assignment Statements
Everything in R Is an Object
Special Values
NA
Inf and -Inf
NaN
NULL
Coercion
The R Interpreter
Seeing How R Works
6. R Syntax
Constants
Numeric Vectors
Character Vectors
Symbols
Operators
Order of Operations
……
7. R Objects
8. Symbols and Environments
9. Functions.
10. Object-Oriented Programming
Part Ⅲ. Working with Data
11. Saving, Loading, and Editing Data
12. Preparing Data
Part Ⅳ. Data Visualization
13. Graphics
14. Lattice Graphics
15. ggplot2
Part Ⅴ. Statistics with R
16. Analyzing Data
17. Probability Distributions
18. Statistical Tests
19. Power Tests
20. Regression Models
21. Classification Models
22. Machine Learning
23. Time Series Analysis
Part Ⅵ. Additional Topics
24. Optimizing R Programs
25. Bioconductor
26. Rand Hadoop
Appendix: R Reference
Bibliography
Index

亚马逊链接

基本信息

名称: Linux/UNIX系统编程手册
作者信息: 作者: 凯利斯克 (Michael Kerrisk) [ 中文 pdf ]

简单介绍

Linux/UNIX系统编程接口权威巨著,无出其右;涵盖500多个系统调用和库函数;示例清晰完整,解释巨细靡遗;涵盖当前UNIX标准(POSI X.1-2001/SUS v3和POSI X.1-2008/SUS v4);众多业内专家人士联袂推荐;Linux/UNIX开发人员的案头必备,注定成为新的经典;

目录

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
《Linux/UNIX系统编程手册(上册)》目录:
第1章 历史和标准 1
1.1 UNIX和C语言简史 1
1.2 Linux简史 4
1.2.1 GNU项目 4
1.2.2 Linux内核 5
1.3 标准化 8
1.3.1 C编程语言 8
1.3.2 首个POSIX标准 9
1.3.3 X/Open公司和TheOpenGroup 10
1.3.4 SUSv3和POSIX.1—2001 10
1.3.5 SUSv4和POSIX.1—2008 12
1.3.6 UNIX标准时间表 12
1.3.7 实现标准 14
1.3.8 Linux、标准、Linux标准规范(LinuxStandardBase) 14
1.4 总结 15
第2章 基本概念 17
2.1 操作系统的核心—内核 17
2.2 shell 19
2.3 用户和组 20
2.4 单根目录层级、目录、链接及文件 21
2.5 文件I/O模型 23
2.6 程序 24
2.7 进程 25
2.8 内存映射 27
2.9 静态库和共享库 28
2.10 进程间通信及同步 28
2.11 信号 29
2.12 线程 30
2.13 进程组和shell任务控制 30
2.14 会话、控制终端和控制进程 30
2.15 伪终端 31
2.16 日期和时间 31
2.17 客户端服务器架构 32
2.18 实时性 32
2.19 proc文件系统 33
2.20 总结 33
第3章 系统编程概念 34
3.1 系统调用 34
3.2 库函数 36
3.3 标准C语言函数库;GNUC语言函数库(glibc) 37
3.4 处理来自系统调用和库函数的错误 38
3.5 关于本书示例程序的注意事项 40
3.5.1 命令行选项及参数 40
3.5.2 常用的函数及头文件 40
3.6 可移植性问题 49
3.6.1 特性测试宏 49
3.6.2 系统数据类型 51
3.6.3 其他的可移植性问题 53
3.7 总结 54
3.8 练习 55
第4章 文件I/O:通用的I/O模型 56
4.1 概述 56
4.2 通用I/O 58
4.3 打开一个文件:open() 58
4.3.1 open()调用中的flags参数 60
4.3.2 open()函数的错误 63
4.3.3 creat()系统调用 64
4.4 读取文件内容:read() 64
4.5 数据写入文件:write() 65
4.6 关闭文件:close() 66
4.7 改变文件偏移量:lseek() 66
4.8 通用I/O模型以外的操作:ioctl() 70
4.9 总结 71
4.10 练习 71
第5章 深入探究文件I/O 72
5.1 原子操作和竞争条件 72
5.2 文件控制操作:fcntl() 75
5.3 打开文件的状态标志 75
5.4 文件描述符和打开文件之间的关系 76
5.5 复制文件描述符 78
5.6 在文件特定偏移量处的I/O:pread()和pwrite() 80
5.7 分散输入和集中输出(Scatter—GatherI/O):readv()和writev() 81
5.8 截断文件:truncate()和ftruncate()系统调用 84
5.9 非阻塞I/O 84
5.10 大文件I/O 85
5.11 /dev/fd目录 88
5.12 创建临时文件 88
5.13 总结 90
5.14 练习 90
第6章 进程 92
6.1 进程和程序 92
6.2 进程号和父进程号 93
6.3 进程内存布局 94
6.4 虚拟内存管理 97
6.5 栈和栈帧 99
6.6 命令行参数(argc,argv) 99
6.7 环境列表 101
6.8 执行非局部跳转:setjmp()和longjmp() 106
6.9 总结 111
6.9 练习 112
第7章 内存分配 113
7.1 在堆上分配内存 113
7.1.1 调整programbreak:brk()和sbrk() 113
7.1.2 在堆上分配内存:malloc()和free() 114
7.1.3 malloc()和free()的实现 117
7.1.4 在堆上分配内存的其他方法 120
7.2 在堆栈上分配内存:alloca() 122
7.3 总结 123
7.4 练习 123
第8章 用户和组 124
8.1 密码文件:/etc/passwd 124
8.2 shadow密码文件:/etc/shadow 125
8.3 组文件:/etc/group 126
8.4 获取用户和组的信息 127
8.5 密码加密和用户认证 132
8.6 总结 135
8.7 练习 135
第9章 进程凭证 136
9.1 实际用户ID和实际组ID 136
9.2 有效用户ID和有效组ID 136
9.3 Set—User—ID和Set—Group—ID程序 137
9.4 保存set—user—ID和保存set—group—ID 138
9.5 文件系统用户ID和组ID 139
9.6 辅助组ID 140
9.7 获取和修改进程凭证 140
9.7.1 获取和修改实际、有效和保存设置标识 140
9.7.2 获取和修改文件系统ID 145
9.7.3 获取和修改辅助组ID 145
9.7.4 修改进程凭证的系统调用总结 146
9.7.5 示例:显示进程凭证 148
9.8 总结 149
9.9 习题 150
第10章 时间 151
10.1 日历时间(CalendarTime) 151
10.2 时间转换函数 153
10.2.1 将time_t转换为可打印格式 153
10.2.2 time_t和分解时间之间的转换 154
10.2.3 分解时间和打印格式之间的转换 155
10.3 时区 161
10.4 地区(Locale) 163
10.5 更新系统时钟 167
10.6 软件时钟(jiffies) 168
10.7 进程时间 168
10.8 总结 171
10.9 练习 172
第11章 系统限制和选项 173
11.1 系统限制 174
11.2 在运行时获取系统限制(和选项) 176
11.3 运行时获取与文件相关的限制(和选项) 178
11.4 不确定的限制 179
11.5 系统选项 180
11.6 总结 181
11.7 练习 182
第12章 系统和进程信息 183
12.1 /proc文件系统 183
12.1.1 获取与进程有关的信息:/proc/PID 183
12.1.2 /proc目录下的系统信息 185
12.1.3 访问/proc文件 186
12.2 系统标识:uname() 188
12.3 总结 190
12.4 练习 190
第13章 文件I/O缓冲 191
13.1 文件I/O的内核缓冲:缓冲区高速缓存 191
13.2 stdio库的缓冲 194
13.3 控制文件I/O的内核缓冲 196
13.4 I/O缓冲小结 200
13.5 就I/O模式向内核提出建议 201
13.6 绕过缓冲区高速缓存:直接I/O 202
13.7 混合使用库函数和系统调用进行文件I/O 204
13.8 总结 205
13.9 练习 205
第14章 系统编程概念 207
14.1 设备专用文件(设备文件) 207
14.2 磁盘和分区 208
14.3 文件系统 209
14.4 i节点 211
14.5 虚拟文件系统(VFS) 213
14.6 日志文件系统 214
14.7 单根目录层级和挂载点 215
14.8 文件系统的挂载和卸载 216
14.8.1 挂载文件系统:mount() 217
14.8.2 卸载文件系统:umount()和umount2() 222
14.9 高级挂载特性 223
14.9.1 在多个挂载点挂载文件系统 224
14.9.2 多次挂载同一挂载点 224
14.9.3 基于每次挂载的挂载标志 225
14.9.4 绑定挂载 225
14.9.5 递归绑定挂载 226
14.10 虚拟内存文件系统:tmpfs 227
14.11 获得与文件系统有关的信息:statvfs() 228
14.12 总结 229
14.13 练习 230
第15章 文件属性 231
15.1 获取文件信息:stat() 231
15.2 文件时间戳 236
15.2.1 使用utime()和utimes()来改变文件时间戳 238
15.2.2 使用utimensat()和futimens()改变文件时间戳 239
15.3 文件属主 241
15.3.1 新建文件的属主 241
15.3.2 改变文件属主:chown()、fchown()和lchown() 241
15.4 文件权限 244
15.4.1 普通文件的权限 244
15.4.2 目录权限 246
15.4.3 权限检查算法 246
15.4.4 检查对文件的访问权限:access() 248
15.4.5 Set—User—ID、Set—Group—ID和Sticky位 249
15.4.6 进程的文件模式创建掩码:umask() 249
15.4.7 更改文件权限:chmod()和fchmod() 251
15.5 I节点标志(ext2扩展文件属性) 252
15.6 总结 256
15.7 练习 256
第16章 扩展属性 258
16.1 概述 258
16.2 扩展属性的实现细节 260
16.3 操控扩展属性的系统调用 260
16.4 总结 264
16.5 练习 264
第17章 访问控制列表 265
17.1 概述 265
17.2 ACL权限检查算法 267
17.3 ACL的长、短文本格式 268
17.4 ACL_mask型ACE和ACL组分类 269
17.5 getfacl和setfacl命令 270
17.6 默认ACL与文件创建 271
17.7 ACL在实现方面的限制 272
17.8 ACLAPI 273
17.9 总结 280
17.10 练习 280
第18章 目录与链接 281
18.1 目录和(硬)链接 281
18.2 符号(软)链接 283
18.3 创建和移除(硬)链接:link()和unlink() 286
18.4 更改文件名:rename() 289
18.5 使用符号链接:symlink()和readlink() 290
18.6 创建和移除目录:mkdir()和rmdir() 291
18.7 移除一个文件或目录:remove() 292
18.8 读目录:opendir()和readdir() 292
18.9 文件树遍历:nftw() 297
18.10 进程的当前工作目录 301
18.11 针对目录文件描述符的相关操作 303
18.12 改变进程的根目录:chroot() 304
18.13 解析路径名:realpath() 306
18.14 解析路径名字符串:dirname()和basename() 307
18.15 总结 309
18.16 练习 309
第19章 监控文件事件 311
19.1 概述 311
19.2 inotifyAPI 312
19.3 inotify事件 313
19.4 读取inotify事件 315
19.5 队列限制和/proc文件 319
19.6 监控文件的旧有系统:dnotify 320
19.7 总结 320
19.8 练习 320
第20章 信号:基本概念 321
20.1 概念和概述 321
20.2 信号类型和默认行为 323
20.3 改变信号处置:signal() 329
20.4 信号处理器简介 330
20.5 发送信号:kill() 333
20.6 检查进程的存在 334
20.7 发送信号的其他方式:raise()和killpg() 335
20.8 显示信号描述 336
20.9 信号集 337
20.10 信号掩码(阻塞信号传递) 339
20.11 处于等待状态的信号 341
20.12 不对信号进行排队处理 341
20.13 改变信号处置:sigaction() 345
20.14 等待信号:pause() 346
20.15 总结 347
20.16 练习 347
第21章 信号:信号处理器函数 348
21.1 设计信号处理器函数 348
21.1.1 再论信号的非队列化处理 348
21.1.2 可重入函数和异步信号安全函数 349
21.1.3 全局变量和sig_atomic_t数据类型 353
21.2 终止信号处理器函数的其他方法 354
21.2.1 在信号处理器函数中执行非本地跳转 354
21.2.2 异常终止进程:abort() 358
21.3 在备选栈中处理信号:sigaltstack() 358
21.4 SA_SIGINFO标志 361
21.5 系统调用的中断和重启 366
21.6 总结 368
21.7 练习 369
第22章 信号:高级特性 370
22.1 核心转储文件 370
22.2 传递、处置及处理的特殊情况 372
22.3 可中断和不可中断的进程睡眠状态 373
22.4 硬件产生的信号 374
22.5 信号的同步生成和异步生成 374
22.6 信号传递的时机与顺序 375
22.7 signal()的实现及可移植性 376
22.8 实时信号 378
22.8.1 发送实时信号 379
22.8.2 处理实时信号 380
22.9 使用掩码来等待信号:sigsuspend() 384
22.10 以同步方式等待信号 387
22.11 通过文件描述符来获取信号 390
22.12 利用信号进行进程间通信 393
22.13 早期的信号API(SystemV和BSD) 393
22.14 总结 395
22.15 练习 396
……
第23章 定时器与休眠 397
第24章 进程的创建 425
第25章 进程的终止 440
第26章 监控子进程 447
第27章 程序的执行 465
第28章 详述进程创建和程序执行 487
第29章 线程:介绍 509
第30章 线程:线程同步 521
第31章 线程:线程安全和每线程存储 539
第32章 线程:线程取消 552
第33章 线程:更多细节 561
……
《Linux/UNIX系统编程手册(下册)》

亚马逊链接

基本信息

名称: 数据之美:一本书学会可视化设计
作者信息: 作者: 邱南森 [ 英文 pdf ]

简单介绍

邱南森(Nathan Yau),加州大学洛杉矶分校统计学博士,痴迷于数据可视化和个人数据收集。2007年创建了一个设计、可视化和统计方面的博客flowingdata.com。他认为可视化不仅是表达数据的最有效工具,同时更是一种媒介,可以用来讲述数据背后的故事。著有畅销书《鲜活的数据:数据可视化指南》。

目录

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
引言  可视化是一种媒介
第1章 你真的理解数据了吗

数据表达了什么 /6 数据的可变性 /20 数据的不确定性 /29 数据所依存的背景信息 /36

第2章 数据引导可视化设计 新数据研究需要新工具 /45 信息图形和展示 /57 可视化的娱乐性 /66 走进数据艺术的世界 /72 日常生活中的可视化 /80

第3章 掌握可视化设计的原材料 各种可视化组件 /89 整合可视化组件 /108

第4章 不了解数据,一切皆是空谈 数据可视化的过程 /128 分类数据的可视化 /134 时序数据的可视化 /144 空间数据的可视化 /156 多元变量 /166 数据的分布 /179

第5章 让可视化设计更为清晰 建立视觉层次 /192 增强图表的可读性 /195 高亮显示重点内容 /211 注解可视化表达了什么 /217 从不同角度做一些计算 /223

第6章 别忘了,你是为读者进行可视化设计 可视化时常见的错误 /230 读者不同,数据展示方式不同 /242 需要注意的事项 /245 可视化步骤的整合 /255

第7章 将可视化进行到底 可视化工具 /264 编程工具 /268 插图工具 /274 数据统计 /274

结语 可视化设计,若烹小鲜 译者后记

亚马逊链接

基本信息

名称: Learning PHP设计模式
作者信息: 作者: 桑德 (William Sanders) [ 英文 pdf ]

简单介绍

《Learning PHP设计模式》由中国电力出版社出版。

目录

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
第1部分轻松掌握设计模式基础
第1章PHP与面向对象编程
1.1中级和高级编程初探
1.2为什么采用面向对象编程
1.2.1解决问题更容易
1.2.2模块化
1.3类与对象
1.3.1单一职责原则
1.3.2PHP中的构造函数
1.4客户类作为请求者
1.5速度如何
1.5.1开发和修改速度
1.5.2团队速度
1.6顺序和过程式编程有什么问题
1.6.1顺序编程
1.6.2过程编程
1.6.3即时回报还是长期回报
第2章OOP基本概念
第3章基本设计模式概念
第4章结合使用设计模式和UML
第2部分创建型设计模式
第5章工厂方法设计模式
第6章原型设计模式
第3部分结构型设计模式
第7章适配器模式
第8章装饰器设计模式
第4部分行为型设计模式
第9章模板方法模式
第10章状态设计模式
第5部分MySQL和PHP设计模式
第11章通用类负责连接,代理模式保证安全
第12章策略设计模式的灵活性
第13章职责链设计模式
第14章利用观察者模式构建多设备CMS

亚马逊链接