0%

基本信息

名称: 图灵计算机科学丛书•具体数学 计算机科学基础(第2版)
作者信息: 作者: 葛立恒 (Ronald L.Graham) [ 中文 pdf ]

简单介绍

顶级数学家和计算机科学家合著的经典著作被世界多所知名大学采纳为教材当代计算机科学方面的一部重要著作,TAOCP的前奏曲不仅讲述数学问题和技巧,更侧重教导解决问题的方法或平淡、或深刻、或严肃、或幽默的涂鸦,让你在轻松愉悦的心境下体会数学的美妙第二作者、图灵奖得主计算机科学泰斗Donald E. Knuth(高德纳)在接受图灵社区的访谈时如是说:“《具体数学》是一份‘纲领’,它的内容是我对于数学诸多方面应该如何教与学的思考。熟练掌握代数公式的基础技能,对我来说始终都是关键所在。这些内容在TAOCP里都有讨论,但只能是蜻蜓点水;在斯坦福大学的课程中,我得以深入更多的细节,而那些课程都被囊括在这本书中了。” 学习本书可以:1、学会怎样分析复杂问题:首先研究小的情形,然后加以推广求出数学表达式,找出其封闭形式并予以证明2、学会计算机科学中用到的数学知识及技巧,为学习计算机算法奠定坚固的数学基础3、挑战六大类500多道习题,锻炼你的数学思维能力

目录

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
第1章 递归问题 1
1.1 河内塔 1
1.2 平面上的直线 4
1.3 约瑟夫问题 7
习题 14
第2章 和式 18
2.1 记号 18
2.2 和式和递归式 21
2.3 和式的处理 25
2.4 多重和式 28
2.5 一般性的方法 35
2.6 有限微积分和无限微积分 39
2.7 无限和式 47
习题 52
第3章 整值函数 56
3.1 底和顶 56
3.2 底和顶的应用 58
3.3 底和顶的递归式 66
3.4 mod:二元运算 68
3.5 底和顶的和式 72
习题 79
第4章 数论 85
4.1 整除性 85
4.2 素数 88
4.3 素数的例子 89
4.4 阶乘的因子 93
4.5 互素 96
4.6 mod:同余关系 103
4.7 独立剩余 105
4.8 进一步的应用 107
4.9 函数和函数 110
习题 119
第5章 二项式系数 126
5.1 基本恒等式 126
5.2 基本练习 143
5.3 处理的技巧 154
5.4 生成函数 164
5.5 超几何函数 170
5.6 超几何变换 180
5.7 部分超几何和式 186
5.8 机械求和法 191
习题 202
第6章 特殊的数 214
6.1 斯特林数 214
6.2 欧拉数 223
6.3 调和数 228
6.4 调和求和法 233
6.5 伯努利数 237
6.6 斐波那契数 244
6.7 连项式 252
习题 259
第7章 生成函数 268
7.1 多米诺理论与换零钱 268
7.2 基本策略 277
7.3 解递归式 282
7.4 特殊的生成函数 294
7.5 卷积 296
7.6 指数生成函数 305
7.7 狄利克雷生成函数 310
习题 312
第8章 离散概率 320
8.1 定义 320
8.2 均值和方差 325
8.3 概率生成函数 331
8.4 抛掷硬币 336
8.5 散列法 344
习题 357
第9章 渐近式 367
9.1 量的等级 368
9.2 大O记号 370
9.3 O运算规则 376
9.4 两个渐近技巧 388
9.5 欧拉求和公式 393
9.6 最后的求和法 398
习题 410
附录A 习题答案 417
附录B 参考文献 508
附录C 习题贡献者 536
译后记 541
索引 543
表索引 563

亚马逊链接

基本信息

名称: 深入理解Nginx 模块开发与架构解析
作者信息: 作者: 陶辉 [ 中文 pdf ]

简单介绍

《深入理解Nginx:模块开发与架构解析》由阿里巴巴资深Nginx专家撰写,透彻解析Nginx架构,详解Nginx模块开发方法和技巧。

目录

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
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
前 言
第一部分 Nginx能帮我们做什么
第1章 研究Nginx前的准备工作/2
1.1 Nginx是什么/2
1.2 为什么选择Nginx/4
1.3 准备工作/7
1.3.1 Linux操作系统/7
1.3.2 使用Nginx的必备软件/7
1.3.3 磁盘目录/8
1.3.4 Linux内核参数的优化/9
1.3.5 获取Nginx源码/11
1.4 编译安装Nginx/11
1.5 configure详解/11
1.5.1 configure的命令参数/12
1.5.2 configure执行流程/18
1.5.3 configure生成的文件/22
1.6 Nginx的命令行控制/24
1.7 小结/27
第2章 Nginx的配置/28
2.1 运行中的Nginx进程间的关系/28
2.2 Nginx配置的通用语法/31
2.2.1 块配置项/31
2.2.2 配置项的语法格式/32
2.2.3 配置项的注释/33
2.2.4 配置项的单位/33
2.2.5 在配置中使用变量/33
2.3 Nginx服务的基本配置/34
2.3.1 用于调试进程和定位问题的配置项/34
2.3.2 正常运行的配置项/36
2.3.3 优化性能的配置项/38
2.3.4 事件类配置项/39
2.4 用HTTP核心模块配置一个静态Web服务器/41
2.4.1 虚拟主机与请求的分发/42
2.4.2 文件路径的定义/45
2.4.3 内存及磁盘资源的分配/48
2.4.4 网络连接的设置/50
2.4.5 MIME类型的设置/53
2.4.6 对客户端请求的限制/54
2.4.7 文件操作的优化/55
2.4.8 对客户端请求的特殊处理/57
2.4.9 ngx_http_core_module模块提供的变量/59
2.5 用HTTPproxymodule配置一个反向代理服务器/60
2.5.1 负载均衡的基本配置/62
2.5.2 反向代理的基本配置/64
2.6 小结/68
第二部分 如何编写HTTP模块
第3章 开发一个简单的HTTP模块/70
3.1 如何调用HTTP模块/70
3.2 准备工作/72
3.2.1 整型的封装/72
3.2.2 ngx_str_t数据结构/73
3.2.3 ngx_list_t数据结构/73
3.2.4 ngx_table_elt_t数据结构/77
3.2.5 ngx_buf_t数据结构/77
3.2.6 ngx_chain_t数据结构/79
3.3 如何将自己的HTTP模块编译进Nginx/79
3.3.1 config文件的写法/80
3.3.2 利用configure脚本将定制的模块加入到Nginx中/80
3.3.3 直接修改Makefile文件/84
3.4 HTTP模块的数据结构/85
3.5 定义自己的HTTP模块/88
3.6 处理用户请求/92
3.6.1 处理方法的返回值/92
3.6.2 获取URI和参数/95
3.6.3 获取HTTP头部/98
3.6.4 获取HTTP包体/101
3.7 发送响应/102
3.7.1 发送HTTP头部/102
3.7.2 将内存中的字符串作为包体发送/104
3.7.3 经典的“HelloWorld”示例/106
3.8 将磁盘文件作为包体发送/107
3.8.1 如何发送磁盘中的文件/107
3.8.2 清理文件句柄/110
3.8.3 支持用户多线程下载和断点续传/111
3.9 用C++语言编写HTTP模块/112
3.9.1 编译方式的修改/112
3.9.2 程序中的符号转换/114
3.10 小结/114
第4章 配置、error日志和请求上下文/115
4.1 http配置项的使用场景/115
4.2 怎样使用http配置/117
4.2.1 分配用于保存配置参数的数据结构/117
4.2.2 设定配置项的解析方式/119
4.2.3 使用14种预设方法解析配置项/125
4.2.4 自定义配置项处理方法/136
4.2.5 合并配置项/137
4.3 HTTP配置模型/140
4.3.1 解析HTTP配置的流程/141
4.3.2 HTTP配置模型的内存布局/144
4.3.3 如何合并配置项/147
4.3.4 预设配置项处理方法的工作原理/149
4.4 error日志的用法/150
4.5 请求的上下文/155
4.5.1 上下文与全异步Web服务器的关系/155
4.5.2 如何使用HTTP上下文/156
4.5.3 HTTP框架如何维护上下文结构/157
4.6 小结/158
第5章 访问第三方服务/159
5.1 upstream的使用方式/160
5.1.1 ngx_http_upstream_t结构体/163
5.1.2 设置upstream的限制性参数/164
5.1.3 设置需要访问的第三方服务器地址/165
5.1.4 设置回调方法/166
5.1.5 如何启动upstream机制/166
5.2 回调方法的执行场景/167
5.2.1 create_request回调方法/167
5.2.2 reinit_request回调方法/169
5.2.3 finalize_request回调方法/170
5.2.4 process_header回调方法/171
5.2.5 rewrite_redirect回调方法/172
5.2.6 input_filter_init与input_filter回调方法/172
5.3 使用upstream的示例/173
5.3.1 upstream的各种配置参数/174
5.3.2 请求上下文/175
5.3.3 在create_request方法中构造请求/176
5.3.4 在process_header方法中解析包头/177
5.3.5 在finalize_request方法中释放资源/180
5.3.6 在ngx_http_mytest_handler方法中启动upstream/181
5.4 subrequest的使用方式/183
5.4.1 配置子请求的处理方式/183
5.4.2 实现子请求处理完毕时的回调方法/184
5.4.3 处理父请求被重新激活后的回调方法/185
5.4.4 启动subrequest子请求/185
5.5 subrequest执行过程中的主要场景/186
5.5.1 如何启动subrequest/186
5.5.2 如何转发多个子请求的响应包体/188
5.5.3 子请求如何激活父请求/192
5.6 subrequest使用的例子/193
5.6.1 配置文件中子请求的设置/194
5.6.2 请求上下文/194
5.6.3 子请求结束时的处理方法/195
5.6.4 父请求的回调方法/196
5.6.5 启动subrequest/197
5.7 小结/198
第6章 开发一个简单的HTTP过滤模块/199
6.1 过滤模块的意义/199
6.2 过滤模块的调用顺序/200
6.2.1 过滤链表是如何构成的/200
6.2.2 过滤链表的顺序/203
6.2.3 官方默认HTTP过滤模块的功能简介/204
6.3 HTTP过滤模块的开发步骤/206
6.4 HTTP过滤模块的简单例子/207
6.4.1 如何编写config文件/208
6.4.2 配置项和上下文/208
6.4.3 定义HTTP过滤模块/210
6.4.4 初始化HTTP过滤模块/211
6.4.5 处理请求中的HTTP头部/212
6.4.6 处理请求中的HTTP包体/213
6.5 小结/214
第7章 Nginx提供的高级数据结构/215
7.1 Nginx提供的高级数据结构概述/215
7.2 ngx_queue_t双向链表/217
7.2.1 为什么设计ngx_queue_t双向链表/217
7.2.2 双向链表的使用方法/217
7.2.3 使用双向链表排序的例子/219
7.2.4 双向链表是如何实现的/221
7.3 ngx_array_t动态数组/222
7.3.1 为什么设计ngx_array_t动态数组/223
7.3.2 动态数组的使用方法/223
7.3.3 使用动态数组的例子/225
7.3.4 动态数组的扩容方式/226
7.4 ngx_list_t单向链表/226
7.5 ngx_rbtree_t红黑树/227
7.5.1 为什么设计ngx_rbtree_t红黑树/227
7.5.2 红黑树的特性/228
7.5.3 红黑树的使用方法/230
7.5.4 使用红黑树的简单例子/233
7.5.5 如何自定义添加成员方法/234
7.6 ngx_radix_tree_t基数树/236
7.6.1 ngx_radix_tree_t基数树的原理/236
7.6.2 基数树的使用方法/238
7.6.3 使用基数树的例子/239
7.7 支持通配符的散列表/240
7.7.1 ngx_hash_t基本散列表/240
7.7.2 支持通配符的散列表/243
7.7.3 带通配符散列表的使用例子/250
7.8 小结/254
第三部分 深入Nginx
第8章 Nginx基础架构/256
8.1 Web服务器设计中的关键约束/256
8.2 Nginx的架构设计/259
8.2.1 优秀的模块化设计/259
8.2.2 事件驱动架构/263
8.2.3 请求的多阶段异步处理/264
8.2.4 管理进程、多工作进程设计/267
8.2.5 平台无关的代码实现/268
8.2.6 内存池的设计/268
8.2.7 使用统一管道过滤器模式的HTTP过滤模块/268
8.2.8 其他一些用户模块/269
8.3 Nginx框架中的核心结构体ngx_cycle_t/269
8.3.1 ngx_listening_t结构体/269
8.3.2 ngx_cycle_t结构体/271
8.3.3 ngx_cycle_t支持的方法/273
8.4 Nginx启动时框架的处理流程/275
8.5 worker进程是如何工作的/278
8.6 master进程是如何工作的/281
8.7 小结/286
第9章 事件模块/287
9.1 事件处理框架概述/287
9.2 Nginx事件的定义/290
9.3 Nginx连接的定义/293
9.3.1 被动连接/294
9.3.2 主动连接/297
9.3.3 ngx_connection_t连接池/298
9.4 ngx_events_module核心模块/300
9.4.1 如何管理所有事件模块的配置项/301
9.4.2 管理事件模块/303
9.5 ngx_event_core_module事件模块/305
9.6 epoll事件驱动模块/310
9.6.1 epoll的原理和用法/311
9.6.2 如何使用epoll/313
9.6.3 ngx_epoll_module模块的实现/315
9.7 定时器事件/323
9.7.1 缓存时间的管理/324
9.7.2 缓存时间的精度/326
9.7.3 定时器的实现/327
9.8 事件驱动框架的处理流程/328
9.8.1 如何建立新连接/329
9.8.2 如何解决“惊群”问题/330
9.8.3 如何实现负载均衡/333
9.8.4 post事件队列/334
9.8.5 ngx_process_events_and_timers流程/335
9.9 文件的异步I/O/338
9.9.1 Linux内核提供的文件异步I/O/339
9.9.2 ngx_epoll_module模块中实现的针对文件的异步I/O/342
9.10 小结/346
第10章 HTTP框架的初始化/347
10.1 HTTP框架概述/348
10.2 管理HTTP模块的配置项/351
10.2.1 管理main级别下的配置项/352
10.2.2 管理server级别下的配置项/354
10.2.3 管理location级别下的配置项/357
10.2.4 不同级别配置项的合并/362
10.3 监听端口的管理/367
10.4 server的快速检索/369
10.5 location的快速检索/371
10.6 HTTP请求的11个处理阶段/372
10.6.1 HTTP处理阶段的普适规则/374
10.6.2 NGX_HTTP_POST_READ_PHASE阶段/376
10.6.3 NGX_HTTP_SERVER_REWRITE_PHASE阶段/378
10.6.4 NGX_HTTP_FIND_CONFIG_PHASE阶段/379
10.6.5 NGX_HTTP_REWRITE_PHASE阶段/379
10.6.6 NGX_HTTP_POST_REWRITE_PHASE阶段/379
10.6.7 NGX_HTTP_PREACCESS_PHASE阶段/379
10.6.8 NGX_HTTP_ACCESS_PHASE阶段/380
10.6.9 NGX_HTTP_POST_ACCESS_PHASE阶段/380
10.6.10 NGX_HTTP_TRY_FILES_PHASE阶段/381
10.6.11 NGX_HTTP_CONTENT_PHASE阶段/381
10.6.12 NGX_HTTP_LOG_PHASE阶段/382
10.7 HTTP框架的初始化流程/383
10.8 小结/385
第11章 HTTP框架的执行流程/386
11.1 HTTP框架执行流程概述/387
11.2 新连接建立时的行为/388
11.3 第一次可读事件的处理/390
11.4 接收HTTP请求行/396
11.5 接收HTTP头部/399
11.6 处理HTTP请求/403
11.6.1 ngx_http_core_generic_phase/409
11.6.2 ngx_http_core_rewrite_phase/411
11.6.3 ngx_http_core_access_phase/412
11.6.4 ngx_http_core_content_phase/415
11.7 subrequest与post请求/419
11.8 处理HTTP包体/421
11.8.1 接收包体/422
11.8.2 放弃接收包体/429
11.9 发送HTTP响应/433
11.9.1 ngx_http_send_header/434
11.9.2 ngx_http_output_filter/436
11.9.3 ngx_http_writer/440
11.10 结束HTTP请求/442
11.10.1 ngx_http_close_connection/443
11.10.2 ngx_http_free_request/444
11.10.3 ngx_http_close_request/446
11.10.4 ngx_http_finalize_connection/447
11.10.5 ngx_http_terminate_request/447
11.10.6 ngx_http_finalize_request/448
11.11 小结/452
第12章 upstream机制的设计与实现/453
12.1 upstream机制概述/453
12.1.1 设计目的/454
12.1.2 ngx_http_upstream_t数据结构的意义/456
12.1.3 ngx_http_upstream_conf_t配置结构体/459
12.2 启动upstream/462
12.3 与上游服务器建立连接/464
12.4 发送请求到上游服务器/467
12.5 接收上游服务器的响应头部/470
12.5.1 应用层协议的两段划分方式/470
12.5.2 处理包体的3种方式/471
12.5.3 接收响应头部的流程/473
12.6 不转发响应时的处理流程/476
12.6.1 input_filter方法的设计/477
12.6.2 默认的input_filter方法/478
12.6.3 接收包体的流程/479
12.7 以下游网速优先来转发响应/481
12.7.1 转发响应的包头/482
12.7.2 转发响应的包体/484
12.8 以上游网速优先来转发响应/489
12.8.1 ngx_event_pipe_t结构体的意义/489
12.8.2 转发响应的包头/493
12.8.3 转发响应的包体/495
12.8.4 ngx_event_pipe_read_upstream方法/498
12.8.5 ngx_event_pipe_write_to_downstream方法/502
12.9 结束upstream请求/504
12.10 小结/508
第13章 邮件代理模块/509
13.1 邮件代理服务器的功能/509
13.2 邮件模块的处理框架/512
13.2.1 一个请求的8个独立处理阶段/512
13.2.2 邮件类模块的定义/514
13.2.3 邮件框架的初始化/516
13.3 初始化请求/517
13.3.1 描述邮件请求的ngx_mail_session_t结构体/517
13.3.2 初始化邮件请求的流程/519
13.4 接收并解析客户端请求/520
13.5 邮件认证/520
13.5.1 ngx_mail_auth_http_ctx_t结构体/520
13.5.2 与认证服务器建立连接/522
13.5.3 发送请求到认证服务器/522
13.5.4 接收并解析响应/525
13.6 与上游邮件服务器间的认证交互/526
13.6.1 ngx_mail_proxy_ctx_t结构体/526
13.6.2 向上游邮件服务器发起连接/527
13.6.3 与邮件服务器认证交互的过程/528
13.7 透传上游邮件服务器与客户端间的流/530
13.8 小结/535
第14章 进程间的通信机制/536
14.1 概述/536
14.2 共享内存/536
14.3 原子操作/541
14.3.1 不支持原子库下的原子操作/541
14.3.2 x86架构下的原子操作/542
14.3.3 自旋锁/545
14.4 Nginx频道/546
14.5 信号/549
14.6 信号量/551
14.7 文件锁/553
14.8 互斥锁/556
14.8.1 文件锁实现的ngx_shmtx_t锁/558
14.8.2 原子变量实现的ngx_shmtx_t锁/560
14.9 小结/565

亚马逊链接

基本信息

名称: 大数据:正在到来的数据革命,以及它如何改变政府、商业与我们的生活
作者信息: 作者: 涂子沛 [ 中文 pdf ]

简单介绍

《大数据:正在到来的数据革命,以及它如何改变政府、商业与我们的生活》编辑推荐:中国+美国,两国要人推荐,持续畅销,领跑大数据时代最好的书——中国高层人物汪洋+奥巴马总统大选亚裔事务顾问、美国华人全国委员会会长、凤凰卫视时事评论员薛海培+英特尔全球副总裁、中国区总裁杨叙+中国互联网发展的重要参与者、知名IT评论人谢文+中国房地产风云人物任志强+史学大家、匹兹堡大学历史系荣誉讲座教授许倬云+中美10大高校著名学者……
这里有“中国对手”——大数据浪潮,汹涌来袭。20世纪大萧条以来,美国作为世界强国的开放历史,数据技术浪潮的兴起过程,气势磅礴,波澜壮阔。真正读懂中国趋势,一定要先读懂美国。美国政府为什么能,中国到底缺什么?
这里有“中国建言”——哈佛大学商学院访问教授、全球顶尖的管理咨询大师达文波特,把脉经济,数据治国,专门为中国政经两界提示智库建言:“在很多领域,中国政府和中国的企业都有雄心勃勃的计划,这引起了全世界的关注,这些雄心和计划,现在应该拓展到大数据的领域。”
这里有“中国财富”——现代管理学之父德鲁克有言,预测未来最好的方法,就是去创造未来。商务智能、云计算、Facebook、推特、Web3.0、语义网……数据战争,就是未来之争!数据兴则企业兴,数据强则企业强!叫醒中国,超越中国模式的粗放式增长,迈向精细化的管理革命,大数据将是下一个社会发展阶段的“石油”和“金矿”。
这里有“中国致敬”——活着就为改变世界,只有偏执狂才能生存,不要以为乔布斯、盖茨、扎克伯格才这样。美国之为美国,还有坚持信息自由的新闻记者、发现摩尔定律的工程师、定义数据仓库的实业家、首倡普适计算的业余鼓手、鼓吹财政公开的民间活动家、倡导数据开放运动的青年学生,以及活跃在无数公民自治组织的普通个人。
这里有“中国问题”——回望中国,胡适批评“差不多先生”,黄仁宇求索“数目字管理”,我们的世界看起来雷打不动。大数据时代,挑战中国,摘不下“差不多先生”的文化标签,我们世界工厂还将是一个落后的100年!
这里有“中国乡愁”——大数据战略,重新洗牌全球格局:美国,再一次领跑世界;中国,却很可能再失良机而浑然不知!中国迷局如何解开?最具海归视野、近20年中美职业生涯的作者,从太平洋对面看到中美两国的差距,披露大量美国真实案例,最先为华文世界开启大数据重要话题,写成这本意在兴邦治国的战略之书,图文并茂,老百姓也看得懂。

目录

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
序言一大数据:为华文世界提出一个重要话题/许倬云
序言二中国的雄心应该拓展到大数据领域/托马斯·H·达文波特
序幕新总统的第一天
一人一票:把“黑”人送进“白”宫
大国新政:阳光是最好的防腐剂
上篇帝国风云:得数据者得天下——美国的成功经验
第一章历史争战《信息自由法》
第四股力量:知情权的起点
国会议员:孤独的战争
白宫当家人:一个妥协者和机动者
政府VS.社会:旧剧情重现新时代
第二章数据帝国的兴起
摩尔定律:全世界半个世纪的发展规律
最小数据集:上升到立法高度的开路先锋
民意几时有:选票催生的创新
普适计算:计算机本身将从人们的视线中消失
“大数据”战略:争夺全世界的下一个前沿
第三章数据治国
循“数”管理:平安大道怎样铺
数据“验”平权:民权史上的碑石
数据“打”假:最大的争议就是福利滥用
CompStat:街头警察的创新传奇
第四章商务智能的前世今生
起源:从数据到知识的挑战和跨越
结蛹:数据仓库之厚积薄发
蚕动:联机分析之惊艳
破茧:数据挖掘之智能生命的产生
化蝶:数据可视化的华丽上演
中篇法则博弈:大数据时代的发展与危机
第五章帝国的法则
收集法则:减负,为人民减负
使用法则:隐私,文明社会的共识
发布法则:免费,人民已经交税
管理法则:质量,互联网时代的根本
第六章《数据质量法》的困局
产业界“俘虏”政府:数据背后的政经战争
美式“旋转门”:权、名、利大串场
“掺沙子”法案:国会对付总统的独门秘器
环保“风险门”:公共利益常常无人代表
集体行动的逻辑:人人都想“搭便车”
三权之歧:什么是真正的“和谐”
第七章全国隐私风波
《一九八四》:零隐私的恐惧
大数据就是“老大哥”:中央数据银行之争
百年纠结:统一身份证
“9·11”大拐点:以反恐的名义向左转
万维信息触角计划:追踪恐怖分子的“数据脚印”
6种改变政府的力量:山姆大叔大退让
下篇公民故事:公民社会与数据互动之双赢时代
第八章数据开放运动
一个新的世界:从软件开源到数据开放
总统的雄心:公共财政支出透明
数据民主:印裔首席信息官的崛起
Data.Gov:从旗舰初航到保“数”运动
大众创新:航班延误之候机经济学
第九章试金石:白宫访客记录
总统在见谁:大医改中的“小”插曲
全体美国人的房子:白宫
步步妥协:总统与草根的对决
从白宫安保到政治监督:执著的公民改变世界
第十章矿难中的歌声和数据
集体行动的号角:你站在哪一边
可以避免的悲剧:数据揭示的全景式真相
默认公开推定:和矿难赛跑的原则
唯一的道路:民主时时都要“争”
外篇天下趋势:大数据社会未来之世界走向
第十一章大趋势
数据权:大不列颠的硕果
大合流:国际开放联盟
云计算:新的航向
再造互联网:从网页相连到数据相“联”
第十二章大挑战
逐鹿政坛:得数据者得天下
数据竞争:企业赢之道
下一波浪潮:从大数据到大社会
第十三章大变革(2.0升级版新增)
微学位:教育领域正在发生的革命
大数据:再谈教育领域正在发生的革命
微学校:三谈教育领域正在发生的革命
尾声挑战中国:摘下“差不多先生”的文化标签
大事记20世纪大萧条后美国信息开放、技术创新之路
后记搭建“大数据”的世界
建言中国如何应对大数据时代的挑战(2.0升级版新增)
访谈大数据时代的“中国梦”(2.0升级版新增)

亚马逊链接

基本信息

名称: 图灵程序设计丛书 图解TCP/IP(第5版)
作者信息: 作者: 竹下隆史 [ 中文 pdf ]

简单介绍

《图解TCP/IP(第5版)》原版畅销36万册,是TCP/IP圣经级教材,268张图解轻松入门TCP/IP。这是一本图文并茂的网络管理技术书籍,旨在让广大读者理解TCP/IP的基本知识、掌握TCP/IP的基本技能。 《图解TCP/IP(第5版)》中讲解了网络基础知识、TCP/IP基础知识、数据链路、IP协议、IP协议相关技术、TCP与UDP、路由协议、应用协议、网络安全等内容,引导读者了解和掌握TCP/IP,营造一个安全的、使用放心的网络环境。《图解TCP/IP(第5版)》适合计算机网络的开发、管理人员阅读,也可作为大专院校相关专业的教学参考书。

目录

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
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
第1章 网络基础知识 1
1.1 计算机网络出现的背景 2
1.1.1 计算机的普及与多样化 2
1.1.2 从独立模式到网络互连模式 2
1.1.3 从计算机通信到信息通信 3
1.1.4 计算机网络的作用 4
1.2 计算机与网络发展的7个阶段 5
1.2.1 批处理 5
1.2.2 分时系统 5
1.2.3 计算机之间的通信 6
1.2.4 计算机网络的产生 7
1.2.5 互联网的普及 8
1.2.6 以互联网技术为中心的时代 9
1.2.7 从“单纯建立连接”到“安全建立连接” 9
1.2.8 手握金刚钻的TCP/IP 10
1.3 协议 11
1.3.1 随处可见的协议 11
1.3.2 协议的必要性 11
1.3.3 协议如同人与人的对话 12
1.3.4 计算机中的协议 13
1.3.5 分组交换协议 14
1.4 协议由谁规定 15
1.4.1 计算机通信的诞生及其标准化 15
1.4.2 协议的标准化 15
1.5 协议分层与OSI参考模型 17
1.5.1 协议的分层 17
1.5.2 通过对话理解分层 17
1.5.3 OSI参考模型
1.5.4 OSI参考模型中各个分层的作用 20
1.6 OSI参考模型通信处理举例 22
1.6.1 7层通信 22
1.6.2 会话层以上的处理 22
1.6.3 传输层以下的处理 25
1.7 传输方式的分类 29
1.7.1 面向有连接型与面向无连接型 29
1.7.2 电路交换与分组交换 30
1.7.3 根据接收端数量分类 32
1.8 地址 34
1.8.1 地址的唯一性 34
1.8.2 地址的层次性 35
1.9 网络的构成要素 37
1.9.1 通信媒介与数据链路 37
1.9.2 网卡 39
1.9.3 中继器 39
1.9.4 网桥/2层交换机 40
1.9.5 路由器/3层交换机 42
1.9.6 4~~7层交换机 42
1.9.7 网关 43
1.10 现代网络实态 45
1.10.1 网络的构成 45
1.10.2 互联网通信 47
1.10.3 移动通信 47
1.10.4 从信息发布者的角度看网络 49
第2章 TCP/IP基础知识 51
2.1 TCP/IP出现的背景及其历史 52
2.1.1 从军用技术的应用谈起 52
2.1.2 ARPANET的诞生 53
2.1.3 TCP/IP的诞生 53
2.1.4 UNIX系统的普及与互联网的扩张 54
2.1.5 商用互联网服务的启蒙 54
2.2 TCP/IP的标准化 55
2.2.1 TCP/IP的具体含义 55
2.2.2 TCP/IP标准化精髓 55
2.2.3 TCP/IP规范——RFC 56
2.2.4 TCP/IP的标准化流程 58
2.2.5 RFC的获取方法 59
2.3 互联网基础知识 61
2.3.1 互联网定义 61
2.3.2 互联网与TCP/IP的关系 61
2.3.3 互联网的结构 61
2.3.4 ISP和区域网 62
2.4 TCP/IP协议分层模型 64
2.4.1 TCP/IP与OSI参考模型 64
2.4.2 硬件(物理层) 64
2.4.3 网络接口层(数据链路层) 65
2.4.4 互联网层(网络层) 65
2.4.5 传输层 66
2.4.6 应用层(会话层以上的分层) 66
2.5 TCP/IP分层模型与通信示例 70
2.5.1 数据包首部 70
2.5.2 发送数据包 71
2.5.3 经过数据链路的包 72
2.5.4 数据包接收处理 73
第3章 数据链路 75
3.1 数据链路的作用 76
3.2 数据链路相关技术 78
3.2.1 MAC地址 78
3.2.2 共享介质型网络 79
3.2.3 非共享介质网络 82
3.2.4 根据MAC地址转发 84
3.2.5 环路检测技术 85
3.2.6 VLAN 87
3.3 以太网 89
3.3.1 以太网连接形式 89
3.3.2 以太网的分类 90
3.3.3 以太网的历史 91
3.3.4 以太网帧格式 92
3.4 无线通信 96
3.4.1 无线通信的种类 96
3.4.2 IEEE802.11 96
3.4.3 IEEE802.11b和IEEE802.11g 98
3.4.4 IEEE802.11a 98
3.4.5 IEEE802.11n 98
3.4.6 使用无线LAN时的注意事项 99
3.4.7 蓝牙 99
3.4.8 WiMAX 99
3.4.9 ZigBee 100
3.5 PPP 101
3.5.1 PPP定义 101
3.5.2 LCP与NCP 101
3.5.3 PPP的帧格式 102
3.5.4 PPPoE 102
3.6 其他数据链路 103
3.6.1 ATM 103
3.6.2 POS 106
3.6.3 FDDI 106
3.6.4 TokenRing 107
3.6.5 100VG—AnyLAN 107
3.6.6 光纤通道 107
3.6.7 HIPPI 107
3.6.8 IEEE1394 108
3.6.9 HDMI 108
3.6.10 iSCSI 108
3.6.11 InfiniBand 108
3.6.12 DOCSIS 108
3.6.13 高速PLC 108
3.7 公共网络110
3.7.1 模拟电话线路 110
3.7.2 移动通信服务 110
3.7.3 ADSL 110
3.7.4 FTTH 111
3.7.5 有线电视 112
3.7.6 专线 112
3.7.7 VPN 113
3.7.8 公共无线LAN 113
3.7.9 其他公共无线通信服务 114
第4章 IP协议 115
4.1 IP即网际协议 116
4.1.1 IP相当于OSI参考模型的第3层 116
4.1.2 网络层与数据链路层的关系 116
4.2 IP基础知识 118
4.2.1 IP地址属于网络层地址 118
4.2.2 路由控制 118
4.2.3 数据链路的抽象化 121
4.2.4 IP属于面向无连接型 122
4.3 IP地址的基础知识 124
4.3.1 IP地址的定义 124
4.3.2 IP地址由网络和主机两部分标识组成 124
4.3.3 IP地址的分类 126
4.3.4 广播地址 127
4.3.5 IP多播 128
4.3.6 子网掩码 130
4.3.7 CIDR与VLSM 132
4.3.8 全局地址与私有地址 133
4.3.9 全局地址由谁决定 133
4.4 路由控制 137
4.4.1 IP地址与路由控制 137
4.4.2 路由控制表的聚合 138
4.5 IP分割处理与再构成处理 140
4.5.1 数据链路不同,MTU则相异 140
4.5.2 IP报文的分片与重组 140
4.5.3 路径MTU发现 141
4.6 IPv6 144
4.6.1 IPv6的必要性 144
4.6.2 IPv6的特点 144
4.6.3 IPv6中IP地址的标记方法 144
4.6.4 IPv6地址的结构 145
4.6.5 全局单播地址 146
4.6.6 链路本地单播地址 147
4.6.7 唯一本地地址 147
4.6.8 IPv6分段处理 147
4.7 IPv4首部 148
4.8 IPv6首部格式 153
第5章 IP协议相关技术 157
5.1 仅凭IP无法完成通信 158
5.2 DNS 159
5.2.1 IP地址不便记忆 159
5.2.2 DNS的产生 159
5.2.3 域名的构成 160
5.2.4 DNS查询 163
5.2.5 DNS如同互联网中的分布式数据库 163
5.3 ARP 165
5.3.1 ARP概要 165
5.3.2 ARP的工作机制 165
5.3.3 IP地址和MAC地址缺一不可? 166
5.3.4 RARP 167
5.3.5 代理ARP 168
5.4 ICMP 169
5.4.1 辅助IP的ICMP 169
5.4.2 主要的ICMP消息 170
5.4.3 其他ICMP消息 173
5.4.4 ICMPv6 173
5.5 DHCP 176
5.5.1 DHCP实现即插即用 176
5.5.2 DHCP的工作机制 176
5.5.3 DHCP中继代理 177
5.6 NAT 179
5.6.1 NAT定义 179
5.6.2 NAT的工作机制 179
5.6.3 NAT—PT(NAPT—PT) 180
5.6.4 NAT的潜在问题 181
5.6.5 解决NAT的潜在问题与NAT穿越 181
5.7 IP隧道 183
5.8 其他IP相关技术 185
5.8.1 IP多播相关技术 185
5.8.2 IP任播 186
5.8.3 通信质量控制 187
5.8.4 显式拥塞通知 189
5.8.5 MobileIP 190
第6章 TCP与UDP 193
6.1 传输层的作用 194
6.1.1 传输层定义 194
6.1.2 通信处理 195
6.1.3 两种传输层协议TCP和UDP 195
6.1.4 TCP与UDP区分 196
6.2 端口号 197
6.2.1 端口号定义 197
6.2.2 根据端口号识别应用 197
6.2.3 通过IP地址、端口号、协议号进行通信识别 197
6.2.4 端口号如何确定 198
6.2.5 端口号与协议 199
6.3 UDP 202
6.4 TCP 203
6.4.1 TCP的特点及其目的 204
6.4.2 通过序列号与确认应答提高可靠性 204
6.4.3 重发超时如何确定 206
6.4.4 连接管理 207
6.4.5 TCP以段为单位发送数据 208
6.4.6 利用窗口控制提高速度 209
6.4.7 窗口控制与重发控制 211
6.4.8 流控制 212
6.4.9 拥塞控制 213
6.4.10 提高网络利用率的规范 215
6.4.11 使用TCP的应用 217
6.5 其他传输层协议 218
6.5.1 UDP—Lite 218
6.5.2 SCTP 218
6.5.3 DCCP 219
6.6 UDP首部的格式 220
6.7 TCP首部格式 222
第7章 路由协议 227
7.1 路由控制的定义 228
7.1.1 IP地址与路由控制 228
7.1.2 静态路由与动态路由 228
7.1.3 动态路由的基础 229
7.2 路由控制范围 230
7.2.1 接入互联网的各种组织机构 230
7.2.2 自治系统与路由协议 230
7.2.3 IGP与EGP 231
7.3 路由算法 232
7.3.1 距离向量算法 232
7.3.2 链路状态算法 232
7.3.3 主要路由协议 233
7.4 RIP 234
7.4.1 广播路由控制信息 234
7.4.2 根据距离向量确定路由 234
7.4.3 使用子网掩码时的RIP处理 235
7.4.4 RIP中路由变更时的处理 236
7.4.5 RIP2 239
7.5 OSPF 240
7.5.1 OSPF是链路状态型路由协议 240
7.5.2 OSPF基础知识 241
7.5.3 OSPF工作原理概述 242
7.5.4 将区域分层化进行细分管理 243
7.6 BGP 245
7.6.1 BGP与AS号 245
7.6.2 BGP是路径向量协议 246
7.7 MPLS 248
7.7.1 MPLS的网络基本动作 249
7.7.2 MPLS的优点 250
第8章 应用协议 251
8.1 应用层协议概要 252
8.2 远程登录 253
8.2.1 TELNET 253
8.2.2 SSH 255
8.3 文件传输 256
8.4 电子邮件 260
8.4.1 电子邮件的工作机制 260
8.4.2 邮件地址 261
8.4.3 MIME 262
8.4.4 SMTP 263
8.4.5 POP 265
8.4.6 IMAP 267
8.5 WWW 268
8.5.1 互联网的蓬勃发展 268
8.5.2 WWW基本概念 268
8.5.3 URI 269
8.5.4 HTML 270
8.5.5 HTTP 272
8.5.6 JavaScript、CGI、Cookie 274
8.6 网络管理 276
8.6.1 SNMP 276
8.6.2 MIB 277
8.6.3 RMON 278
8.6.4 SNMP应用举例 278
8.7 其他应用层协议 280
8.7.1 多媒体通信实现技术 280
8.7.2 P2P 283
8.7.3 LDAP 283
第9章 网络安全 285
9.1 TCP/IP与网络安全 286
9.2 网络安全构成要素 287
9.2.1 防火墙 287
9.2.2 IDS(入侵检测系统) 288
9.2.3 反病毒/个人防火墙 288
9.3 加密技术基础 290
9.3.1 对称密码体制与公钥密码体制 290
9.3.2 身份认证技术 291
9.4 安全协议 293
9.4.1 IPsec与VPN 293
9.4.2 TLS/SSL与HTTPS 294
9.4.3 IEEE802.1X 294
附录 297
附1 互联网上便捷的资源 298
附1.1 国际 298
附1.2 日本 299
附2 IP地址分类(A、B、C类)相关基础知识 300
附2.1 A类 300
附2.2 B类 300
附2.3 C类 301
附3 物理层 302
附3.1 物理层相关基础知识 302
附3.2 0/1编码 302
附4 传输介质相关基础知识 304
附4.1 同轴电缆 304
附4.2 双绞线 304
附4.3 光纤电缆 306
附4.4 无线 307
附5 插页导图 309

亚马逊链接

基本信息

名称: 程序员面试宝典(第4版)
作者信息: 作者: 欧立奇 [ 中文 pdf ]

简单介绍

历经前3版不断完善,前后二十多次重印,数年各大图书排行榜顶尖荣耀!第4版在保留原书数据结构,程序设计等主干的基础上,大量地更新了程序面试题目,取材于2012年至2013年各大公司面试题,替换了原版的大量面试题,以反映自第 3版以来两年多的时间内所发生的变化。并且修正了两年多以来读者反馈的书中的一些错误和描述不当的地方,以帮助求职者们更好地处理一些新问题,新变化。

目录

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
第1部分求职过程
第1章应聘求职2
1.1渠道2
1.2流程3
第2章简历书写4
2.1简历注意事项4
2.2简历模板8
第3章求职五步曲11
3.1笔试11
3.2电话面试14
3.3面试15
3.4签约16
3.5违约20
第4章职业生涯发展规划22
4.1缺乏工作经验的应届毕业生22
4.2更换工作的程序员们24
4.3快乐的工作25
第2部分C/C++程序设计
第5章程序设计基本概念29
5.1赋值语句29
5.2i++31
5.3编程风格33
5.4类型转换34
5.5运算符问题38
5.6a、b交换与比较40
5.7C和C++的关系41
5.8程序设计的其他问题42
第6章预处理、const与sizeof44
6.1宏定义44
6.2const45
6.3sizeof50
6.4内联函数和宏定义61
第7章指针与引用63
7.1指针基本问题63
7.2传递动态内存65
7.3函数指针74
7.4指针数组和数组指针76
7.5迷途指针79
7.6指针和句柄81
7.7this指针83
第8章循环、递归与概率86
8.1递归基础知识86
8.2典型递归问题89
8.3循环与数组问题91
8.4螺旋队列问题95
8.5概率98
第9章STL模板与容器100
9.1向量容器101
9.2泛型编程105
9.3模板106
第10章面向对象110
10.1面向对象的基本概念110
10.2类和结构113
10.3成员变量114
10.4构造函数和析构函数117
10.5拷贝构造函数和赋值函数119
10.6多态的概念124
10.7友元127
10.8异常129
第11章继承与接口133
11.1覆盖134
11.2私有继承136
11.3虚函数继承和虚继承141
11.4多重继承145
11.5检测并修改不适合的继承148
11.6纯虚函数150
11.7运算符重载与RTTI152
第12章位运算与嵌入式编程160
12.1位制转换160
12.2嵌入式编程169
12.3static176
第3部分数据结构和设计模式
第13章数据结构基础179
13.1单链表179
13.2双链表184
13.3循环链表185
13.4队列186
13.5栈188
13.6堆191
13.7树、图、哈希表201
13.8排序209
13.9时间复杂度222
第14章字符串229
14.1整数字符串转化229
14.2字符数组和strcpy230
14.3数组初始化和数组越界234
14.4数字流和数组声明236
14.5字符串其他问题237
14.6字符子串问题242
第15章设计模式与软件测试244
15.1设计模式245
15.2软件测试基础251
15.3黑盒测试253
15.4白盒测试258
第4部分操作系统、数据库和网络
第16章操作系统265
16.1进程265
16.2线程270
16.3内存管理276
第17章数据库与SQL语言279
17.1数据库理论279
17.2SQL语言283
17.3SQL语言客观题285
17.4SQL语言主观题288
第18章计算机网络及分布式系统294
18.1网络结构294
18.2网络协议问题296
18.3网络安全问题298
18.4网络其他问题300
第5部分综合面试题
第19章英语面试305
19.1面试过程和技巧305
19.2关于工作(AboutJob)307
19.3关于个人(AboutPerson)310
19.4关于未来(AboutFuture)312
第20章电话面试314
20.1电话面试之前的准备工作314
20.2电话面试交流常见问题315
第21章数字类题目分析324
21.1数字规律类题目324
21.2数字填充类题目327
21.3数字运算类题目328
21.4应用数学类题目329
第22章图表类题目分析336
22.1图形变换类题目336
22.2表格分析类题目342
第23章智力类题目分析344
23.1推理类题目344
23.2博弈论346
23.3概率348
第24章无领导小组讨论题目分析351
24.1题目介绍351
24.2无领导小组讨论特点351
24.3无领导小组阶段分析353
24.4无领导小组角色分析357
24.5无领导小组评分标准分析361
24.6群面实录362
附录A面试经历总结366

亚马逊链接

基本信息

名称: 汇编语言(第3版)
作者信息: 作者: 王爽 [ 中文 pdf ]

简单介绍

《汇编语言(第3版)》读者将沿着学习线索来学习一个个知识点,通过一个个检测点,被线索引入到一个个问题分析之中,并完成一个个实验,线索上的每一个教学节点都是后续内容的基础。每一个节点的信息量或难度,又只比前面的多一点,读者在每一步的学习中都会有一种有的放矢的感觉。

目录

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
第1章 基础知识
1.1 机器语言
1.2 汇编语言的产生
1.3 汇编语言的组成
1.4 存储器
1.5 指令和数据
1.6 存储单元
1.7 CPU对存储器的读写
1.8 地址总线
1.9 数据总线
1.10 控制总线
1.11 内存地址空间(概述)
1.12 主板
1.13 接口卡
1.14 各类存储器芯片
1.15 内存地址空间
第2章 寄存器
2.1通用寄存器
2.2字在寄存器中的存储
2.3几条汇编指令
2.4物理地址
2.516位结构的CPU
2.68086CPU给出物理地址的方法
2.7“段地址×16+偏移地址=物理地址”
的本质含义
2.8段的概念
2.9段寄存器
2.10CS和IP
2.11修改CS、IP的指令
2.12代码段
实验1查看CPU和内存,用机器指令
和汇编指令编程
第3章寄存器(内存访问)
3.1内存中字的存储
3.2DS和(address)
3.3字的传送
3.4mov、add、sub指令
3.5数据段
3.6栈
3.7CPU提供的栈机制
3.8栈顶超界的问题
3.9push、pop指令
3.10栈段
实验2用机器指令和汇编指令编程
第4章第一个程序
4.1一个源程序从写出到执行的过程
4.2源程序
4.3编辑源程序
4.4编译
4.5连接
4.6以简化的方式进行编译和连接
4.71.exe的执行
4.8谁将可执行文件中的程序装载进入
内存并使它运行?
4.9程序执行过程的跟踪
实验3编程、编译、连接、跟踪
第5章(BX)和loop指令
5.1(BX)
5.2Loop指令
5.3在Debug中跟踪用loop指令实现的
循环程序
5.4Debug和汇编编译器masm对指令的
不同处理
5.5loop和(bx)的联合应用
5.6段前缀
5.7一段安全的空间
5.8段前缀的使用
实验4(bx)和loop的使用
第6章 包含多个段的程序
6.1在代码段中使用数据
6.2在代码段中使用栈
6.3将数据、代码、栈放入不同的段
实验5编写、调试具有多个段的程序
第7章更灵活的定位内存地址的
方法
7.1anol和or指令
7.2关于ASCII码
7.3以字符形式给出的数据
7.4大小写转换的问题
7.5(bx+idata)
7.6用(bx+idata)的方式进行数组的
处理
7.7SI和DI
7.8(bx+si)和(bx+di)
7.9(bx+si+idata)和(bx+di+idata)
7.10不同的寻址方式的灵活应用
实验6实践课程中的程序
第8章数据处理的两个基本问题
8.1bx、si、di和bp
8.2机器指令处理的数据在什么地方
8.3汇编语言中数据位置的表达
8.4寻址方式
8.5指令要处理的数据有多长
8.6寻址方式的综合应用
8.7div指令
8.8伪指令dd
8.9dup
实验7寻址方式在结构化数据访问中的
应用
第9章转移指令的原理
9.1操作符offset
9.2jmp指令
9.3依据位移进行转移的jmp指令
9.4转移的目的地址在指令中的jmp
指令
9.5转移地址在寄存器中的jmp指令
9.6转移地址在内存中的jmp指令
9.7jcxz指令
9.8loop指令
9.9根据位移进行转移的意义
9.10编译器对转移位移超界的检测
实验8分析一个奇怪的程序
实验9根据材料编程
第10章CALL和RET指令
10.1ret和retf
10.2call指令
10.3依据位移进行转移的call指令
10.4转移的目的地址在指令中的call
指令
10.5转移地址在寄存器中的call指令
10.6转移地址在内存中的call指令
10.7call和ret的配合使用
10.8mul指令
10.9模块化程序设计
10.10参数和结果传递的问题
10.11批量数据的传递
10.12寄存器冲突的问题
实验10编写子程序
课程设计1
第11章标志寄存器
11.1ZF标志
11.2PF标志
11.3SF标志
11.4CF标志
11.5OF标志
11.6adc指令
11.7sbb指令
11.8cmp指令
11.9检测比较结果的条件转移指令
11.10DF标志和串传送指令
11.11pushf和popf
11.12标志寄存器在Debug中的表示
实验11编写子程序
第12章内中断
12.1内中断的产生
12.2中断处理程序
12.3中断向量表
12.4中断过程
12.5中断处理程序和iret指令
12.6除法错误中断的处理
12.7编程处理0号中断
12.8安装
12.9do0
12.10设置中断向量
12.11单步中断
12.12响应中断的特殊情况
实验12编写0号中断的处理程序
第13章int指令
13.1int指令
13.2编写供应用程序调用的
中断例程
13.3对int、iret和栈的深入理解
13.4BIOS和DOS所提供的
中断例程
13.5BIOS和DOS中断例程的
安装过程
13.6BIOS中断例程应用
13.7DOS中断例程应用
实验13编写、应用中断例程
第14章端口
14.1端口的读写
14.2CMOS RAM芯片
14.3shl和shr指令
14.4CMOS RAM中存储的时间信息
实验14访问CMOS RAM
第15章外中断
15.1接口芯片和端口
15.2外中断信息
15.3PC机键盘的处理过程
15.4编写int 9中断例程
15.5安装新的int 9中断例程
实验15安装新的int 9中断例程
第16章直接定址表
16.1描述了单元长度的标号
16.2在其他段中使用数据标号
16_3直接定址表
16.4程序入口地址的直接定址表
实验16编写包含多个功能子程序的
中断例程
第17章使用BIOS进行键盘输入
和磁盘读写
17.1int 9中断例程对键盘输入的处理
17.2使用int 16h中断例程读取
键盘缓冲区
17.3字符串的输入
17.4应用int 13h中断例程对磁盘
进行读写
实验17编写包含多个功能子程序的
中断例程
课程设计2
综合研究
研究试验1搭建一个精简的C语言
开发环境
研究试验2使用寄存器
研究试验3使用内存空间
研究试验4不用main函数编程
研究试验5函数如何接收不定数量的
参数
附注
附注1Intel系列微处理器的3种工作
模式
附注2补码
附注3汇编编译器(masm.exe)对jmp的
相关处理
附注4用栈传递参数
附注5公式证明

亚马逊链接

基本信息

名称: 测试驱动开发 实战与模式解析
作者信息: 作者: 肯特·贝克 (Kent Beck) [ 中文 pdf ]

简单介绍

软件工程领域泰斗、极限编程之父Kent Beck力作,荣获第14届Jolt大奖,畅销不衰 不仅以案例的形式生动地呈现了测试驱动开发的原则和方法,而且详尽地阐述了测试驱动开发的模式和最佳实践

目录

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
译者序
前言
致谢
引言
第一部分 货币实例
第1章 多币种货币实例2
第2章 简并对象9
第3章 定义相等性12
第4章 实例变量私有化16
第5章 法郎的自白19
第6章 相等性再定义22
第7章 美元和法郎27
第8章 制造对象29
第9章 正在进行的times方法33
第10章 有趣的times方法38
第11章 万恶之源43
第12章 总算谈到加法了46
第13章 到达我们的预期51
第14章 变化56
第15章 多币种货币61
第16章 总算谈到抽象了65
第17章 货币回顾69
第二部分 xUnit实例
第18章 走进xUnit76
第19章 设置主线81
第20章 后续的清理85
第21章 计数89
第22章 处理未通过的用例92
第23章 好美妙的测试套件95
第24章 xUnit回顾101
第三部分 测试驱动开发的模式
第25章 测试驱动开发模式104
第26章 红条模式113
第27章 测试模式121
第28章 绿条模式128
第29章 xUnit框架下的模式133
第30章 设计模式141
第31章 重构155
第32章 掌握测试驱动开发165
附录A 影响图178
附录B 斐波那契数列181
后记184

亚马逊链接

基本信息

名称: 线上幽灵 世界头号黑客米特尼克自传
作者信息: 作者: 米特尼克 (Kevin Mitnick) [ 英文 pdf ]

简单介绍

《线上幽灵:世界头号黑客米特尼克自传》 斯诺登事件后,安全问题上升为全民关注的问题:有心的读者完全可以从中洞悉一名顶级黑客的“攻击”思路,知己知彼,百战不殆,更好地做好防护!《线上幽灵:世界头号黑客米特尼克自传》有特殊的阅读体验,胆小慎入!《线上幽灵:世界头号黑客米特尼克自传》是米特尼克迄今唯一一部自传。精彩、惊险的经历堪称一部现代版的江洋大盗真人秀!好莱坞甚至以他的故事为蓝本,拍摄了电影《战争游戏》。米特尼克天生魔力,少年时便游走在网络世界中,如入无人之地,入侵众多大公司机密数据库。政府、企业、民间均视其为“线上幽灵”,谈虎色变。而FBI即便动用了大量人力物力,追踪多年,设下各类圈套,安排众多线人,仍被米特尼克一一识破,轻松逃脱……米特尼克甚至一度改名换姓,在FBI的眼皮子底下过上了白领的幸福小资生活。《线上幽灵:界头号黑客米特尼克自传》并不仅仅是一个精彩的故事,它还是一扇窗户。透过它,我们可以了解一个怪才如何不断突破能力、法律、现实、网络的边界;可以看到一个我们以为“安全”的社会中所存在的种种问题;甚至可以一窥政府机构的技术手段和行动能力,还可以思考能力与责任、兴趣与道德的冲突,更真实地感受到技术的双刃剑特性。你可以把它当成案头消遣,在字里行间与米特尼克一起踏上逃亡之旅,体验惊心动魄的“猫捉老鼠”游戏,与他一起经历各类大案要案,感受亲情,友情,爱情,甚至“敌情”。你也可以去更深地解读,尝试了解这名头号黑客的思维方式,理解他的各种选择,并以此来检视自己的思考方式。兴许,就在“亲临其境”中,你会陡然发现:眼见不为实,世界非你所想象!

目录

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
震撼好评5
译者序|翻译缘起8
译者序|中文版夺旗赛谜题11
推荐序@苹果联合创始人沃兹20
自序@凯文米特尼克22
黑客轨迹|影集25
第一篇成长
第一回生命开始的地方2
第二回我只是来参观的6
第三回原罪17
第四回脱逃大师28
第五回所有的电话线路都是我的36
第六回爱43
第七回闪婚50
第八回卢瑟博士58
第九回凯文米特尼克优惠计划76
第十回神秘黑客82
第二篇埃里克
第十一回谋杀嫌疑88
第十二回无处藏身92
第十三回电话监听器100
第十四回你监听我,我监听你104
第十五回你们是怎么搞到这个的114
第十六回搞砸埃里克的私人派对119
第十七回揭开内幕122
第十八回通信流量分析130
第十九回露出狐狸尾巴135
第二十回反向敲诈140
第二十一回猫和老鼠144
第二十二回侦查工作150
第二十三回遭遇搜查159
第二十四回人间蒸发166
第三篇逃亡
第二十五回哈里胡迪尼174
第二十六回私家侦探181
第二十七回Sun,我来了189
第二十八回奖杯猎人198
第二十九回启程出发210
第三十回傻眼222
第三十一回天空中的眼睛229
第三十二回西雅图不眠夜242
第四篇旧的不去,新的不来
第三十三回与下村勉的决战256
第三十四回隐藏在“圣经”带262
第三十五回游戏结束274
第三十六回一个只有FBI的情人节279
第三十七回羔羊的胜利285
第三十八回余波:命运逆转302
致谢310
采访凯文米特尼克316
由凯文的故事引发的
保护电脑安全的10个小贴士320

亚马逊链接

基本信息

名称: 软件定义网络(英文)
作者信息: 作者: 纳多 (Thomas D. Nadeau) [ 英文 pdf ]

简单介绍

软件定义网络(SDN)是由软件定义、驱动,并且可编程的网络,可作为SDN的全面、权威指南,详细讲解了SDN的新兴定义、协议和标准。两位资深的网络工程师在书中为读者讲解了构建软件定义网络(即使用软件在应用和底层网络设施之间进行双向通信)所必需的知识。■ “软件定义网络”这一新兴技术的第一书;■ 探究OpenFlow模型和集中网络控制的当前进展;■ 剖析分布式控制和集中控制,包括数据平面生成;■ 详解商业控制器和开源控制器的结构和功能;■ 学习网络可编程性的现有技术;■ 探究以桌面为中心的模型到高度分布式模型在内的现代数据中心;■ 网络功能虚拟化和服务链的连接实例;■ 构建和维护SDN网络拓扑;■ 探究用于控制器、应用和生态系统的理想SDN框架。

目录

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
Table of Contents
Foreword by David Meyer ix
Foreword by David Ward xi
Prefacex vii
1.Introduction
2.Centralized and Distributed Control and Data Planes
Introduction
Evolution versus Revolution
What Do They Do?
The Control Plane
Data Plane
Moving Information Between Planes
Why Can Separation Be Important?
Distributed Control Planes
IP and MPLS
Creating the IP Underlay
Convergence Time
Load Balancing
High Availability
Creating the MPLS Overlay
Replication
Centralized Control Planes
Logical Versus Literal
ATM/LANE
Route Servers
Conclusions
3.OpenFlow
Introduction
Wire Protocol
Replication
FAWG (Forwarding Abstraction Workgroup)
Config and Extensibility
Architecture
Hybrid Approaches
Ships in the Night
Dual Function Switches
Conclusions
4.SDN Controllers
Introduction
General Concepts
VMware
Nicira
VMware/Nicira
OpenFlow-Related
Mininet
NOX/POX
Trema
Ryu
Big Switch Networks/Floodlight
Layer 3 Centric
L3VPN
Path Computation Element Server
Plexxi
Plexxi Affinity
Cisco OnePK
Relationship to the Idealized SDN Framework
Conclusions
5.Network Programmability
Introduction
The Management Interface
The Application-Network Divide
The Command-Line Interface
NETCONF and NETMOD
SNMP
Modern Programmatic Interfaces
Publish and Subscribe Interfaces
XMPP
Google’s Protocol Buffers
Thrift
JSON
I2RS
Modern Orchestration
OpenStack
CloudStack
Puppet
Conclusions
6.Data Center Concepts and Construct
Introduction
The Multitenant Data Center
The Virtualized Multitenant Data Center
Orchestration
Connecting a Tenant to the Internet/VPN
Virtual Machine Migration and Elasticity
Data Center Interconnect (DCI)
Fallacies of Data Center Distributed Computing
Data Center Distributed Computing Pitfalls to Consider
SDN Solutions for the Data Center Network
The Network Underlay
VLANs
EVPN
Locator ID Split (LISP)
VxLan
NVGRE
OpenFlow
Network Overlays
Network Overlay Types
Conclusions
7.Network Function Virtualization
Introduction
Virtualization and Data Plane I/O
Data Plane I/O
I/O Summary
Services Engineered Path
Service Locations and Chaining
Metadata
An Application Level Approach
Scale
NFV at ETSI
Non-ETSI NFV Work
Middlebox Studies
Embrane/LineRate
Platform Virtualization
Conclusions
8.Network Topology and Topological Information Abstraction
Introduction
Network Topology
Traditional Methods
LLDP
BGP-TE/LS
BGP-LS with PCE
ALTO
BGP-LS and PCE Interaction with ALTO
I2RS Topology
Conclusions
9.Building an SDN Framework
Introduction
Build Code First; Ask Questions Later…
The Juniper SDN Framework
IETF SDN Framework(s)
SDN(P)
ABNO
Open Daylight Controller/Framework
API
High Availability and State Storage
Analytics
Policy
Conclusions
10.Use Cases for Bandwidth Scheduling, Manipulation, and lendaring
Introduction
Bandwidth Calendaring
Base Topology and Fundamental Concepts
OpenFlow and PCE Topologies
Example Configuration
OpenFlow Provisioned Example
Enhancing the Controller
Overlay Example Using PCE Provisioning
Expanding Your Reach: Barbarians at the Gate
Big Data and Application Hyper-Virtualization for Instant CSPF
Expanding Topology
Conclusions
……
11.Use Cases for Data Center Overlays, Big Data, and Network Function Virtualization
12.Use Cases for Input Traffic Monitoring, Classification, and Triggered Actions
13.Final Thoughts and Conclusions
Index

亚马逊链接

基本信息

名称: MongoDB权威指南(第2版)
作者信息: 作者: 霍多罗夫 (Kristina Chodorow) [ 英文 pdf ]

简单介绍

上一版广受好评,新版本在此基础上大幅扩充,内容更加全面、深入MongoDB项目组成员倾力打造MongoDB基础知识、进阶内容、高级管理任务一应俱全

目录

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

前言
第一部分 MongoDB介绍
第1章 MongoDB简介 3
1.1 易于使用 3
1.2 易于扩展 4
1.3 丰富的功能 4
1.4 卓越的性能 5
1.5 小结 5
第2章 MongoDB基础知识 7
2.1 文档 7
2.2 集合 8
2.2.1 动态模式 8
2.2.2 命名 9
2.3 数据库 10
2.4 启动MongoDB 11
2.5 MongoDBshell简介 12
2.5.1 运行shell 12
2.5.2 MongoDB客户端 13
2.5.3 shell中的基本操作 14
2.6 数据类型 16
2.6.1 基本数据类型 16
2.6.2 日期 18
2.6.3 数组 18
2.6.4 内嵌文档 19
2.6.5 id和ObjectId 20 2.7 使用MongoDBshell 21 2.7.1 shell小贴士 22 2.7.2 使用shell执行脚本 23 2.7.3 创建mongorc.js文件 25 2.7.4 定制shell提示 26 2.7.5 编辑复合变量 26 2.7.6 集合命名注意事项 27 第3章 创建、更新和删除文档 29 3.1 插入并保存文档 29 3.1.1 批量插入 29 3.1.2 插入校验 30 3.2 删除文档 31 3.3 更新文档 32 3.3.1 文档替换 32 3.3.2 使用修改器 34 3.3.3 upsert 45 3.3.4 更新多个文档 47 3.3.5 返回被更新的文档 48 3.4 写入安全机制 50 第4章 查询 53 4.1 find简介 53 4.1.1 指定需要返回的键 54 4.1.2 限制 55 4.2 查询条件 55 4.2.1 查询条件 55 4.2.2 OR查询 56 4.2.3 $not 57 4.2.4 条件语义 57 4.3 特定类型的查询 58 4.3.1 null 58 4.3.2 正则表达式 59 4.3.3 查询数组 59 4.3.4 查询内嵌文档 64 4.4 $where查询 65 4.5 游标 67 4.5.1 limit、skip和sort 69 4.5.2 避免使用skip略过大量结果 70 4.5.3 高级查询选项 72 4.5.4 获取一致结果 73 4.5.5 游标生命周期 75 4.6 数据库命令 75 第二部分 设计应用 第5章 索引 81 5.1 索引简介 81 5.1.1 复合索引简介 84 5.1.2 使用复合索引 90 5.1.3 $操作符如何使用索引 91 5.1.4 索引对象和数组 96 5.1.5 索引基数 98 5.2 使用explain()和hint() 98 5.3 何时不应该使用索引 103 5.4 索引类型 104 5.4.1 唯一索引 104 5.4.2 稀疏索引 106 5.5 索引管理 107 5.5.1 标识索引 108 5.5.2 修改索引 108 第6章 特殊的索引和集合 111 6.1 固定集合 111 6.1.1 创建固定集合 113 6.1.2 自然排序 113 6.1.3 循环游标 115 6.1.4 没有id索引的集合 115
6.2 TTL索引 116
6.3 全文本索引 116
6.3.1 搜索语法 119
6.3.2 优化全文本搜索 120
6.3.3 在其他语言中搜索 121
6.4 地理空间索引 121
6.4.1 地理空间查询的类型 122
6.4.2 复合地理空间索引 123
6.4.3 2d索引 123
6.5 使用GridFS存储文件 125
6.5.1 GridFS入门 126
6.5.2 在MongoDB驱动程序中使用GridFS 126
6.5.3 揭开GridFS的面纱 127
第7章 聚合 129
7.1 聚合框架 129
7.2 管道操作符 131
7.2.1 $match 132
7.2.2 $project 132
7.2.3 $group 137
7.2.4 $unwind 140
7.2.5 $sort 141
7.2.6 $limit 142
7.2.7 $skip 142
7.2.8 使用管道 142
7.3 MapReduce 143
7.3.1 示例1:找出集合中的所有键 143
7.3.2 示例2:网页分类 145
7.3.3 MongoDB和MapReduce 146
7.4 聚合命令 148
7.4.1 count 149
7.4.2 distinct 149
7.4.3 group 150
第8章 应用程序设计 155
8.1 范式化与反范式化 155
8.1.1 数据表示的例子 156
8.1.2 基数 159
8.1.3 好友、粉丝,以及其他的麻烦事项 160
8.2 优化数据操作 162
8.2.1 优化文档增长 162
8.2.2 删除旧数据 164
8.3 数据库和集合的设计 164
8.4 一致性管理 165
8.5 模式迁移 166
8.6 不适合使用MongoDB的场景 167
第三部分 复制
第9章 创建副本集 171
9.1 复制简介 171
9.2 建立副本集 172
9.3 配置副本集 176
9.3.1 rs辅助函数 178
9.3.2 网络注意事项 178
9.4 修改副本集配置 178
9.5 设计副本集 180
9.6 成员配置选项 184
9.6.1 选举仲裁者 184
9.6.2 优先级 185
9.6.3 隐藏成员 186
9.6.4 延迟备份节点 187
9.6.5 创建索引 187
第10章 副本集的组成 189
10.1 同步 189
10.1.1 初始化同步 190
10.1.2 处理陈旧数据 193
10.2 心跳 193
10.3 选举 195
10.4 回滚 195
第11章 从应用程序连接副本集 201
11.1 客户端到副本集的连接 201
11.2 等待写入复制 202
11.2.1 可能导致错误的原因 203
11.2.2 其他值 204
11.3 自定义复制保证规则 204
11.3.1 保证复制到每个数据中心的一台服务器上 204
11.3.2 保证写操作被复制到可见节点中的“大多数” 206
11.3.3 创建其他规则 206
11.4 将读请求发送到备份节点 207
11.4.1 出于一致性考虑 207
11.4.2 出于负载的考虑 208
11.4.3 何时可以从备份节点读取数据 208
第12章 管理 211
12.1 以单机模式启动成员 211
12.2 副本集配置 212
12.2.1 创建副本集 212
12.2.2 修改副本集成员 213
12.2.3 创建比较大的副本集 213
12.2.4 强制重新配置 214
12.3 修改成员状态 215
12.3.1 把主节点变为备份节点 215
12.3.2 阻止选举 215
12.3.3 使用维护模式 215
12.4 监控复制 216
12.4.1 获取状态 216
12.4.2 复制图谱 218
12.4.3 复制循环 220
12.4.4 禁用复制链 220
12.4.5 计算延迟 221
12.4.6 调整oplog大小 222
12.4.7 从延迟备份节点中恢复 223
12.4.8 创建索引 224
12.4.9 在预算有限的情况下进行复制 225
12.4.10 主节点如何跟踪延迟 226
12.5 主从模式 227
12.5.1 从主从模式切换到副本集模式 228
12.5.2 让副本集模仿主从模式的行为 228
第四部分 分片
第13章 分片 233
13.1 分片简介 233
13.2 理解集群的组件 234
13.3 快速建立一个简单的集群 235
第14章 配置分片 243
14.1 何时分片 243
14.2 启动服务器 244
14.2.1 配置服务器 244
14.2.2 mongos进程 245
14.2.3 将副本集转换为分片 245
14.2.4 增加集群容量 247
14.2.5 数据分片 247
14.3 MongoDB如何追踪集群数据 248
14.3.1 块范围 249
14.3.2 拆分块 250
14.4 均衡器 254
第15章 选择片键 257
15.1 检查使用情况 257
15.2 数据分发 258
15.2.1 升序片键 258
15.2.2 随机分发的片键 261
15.2.3 基于位置的片键 262
15.3 片键策略 263
15.3.1 散列片键 264
15.3.2 GridFS的散列片键 265
15.3.3 流水策略 266
15.3.4 多热点 267
15.4 片键规则和指导方针 270
15.4.1 片键限制 270
15.4.2 片键的势 270
15.5 控制数据分发 270
15.5.1 对多个数据库和集合使用一个集群 270
15.5.2 手动分片 272
第16章 分片管理 275
16.1 检查集群状态 275
16.1.1 使用sh.status查看集群摘要信息 275
16.1.2 检查配置信息 277
16.2 查看网络连接 282
16.2.1 查看连接统计 283
16.2.2 限制连接数量 283
16.3 服务器管理 285
16.3.1 添加服务器 285
16.3.2 修改分片的服务器 285
16.3.3 删除分片 286
16.3.4 修改配置服务器 288
16.4 数据均衡 289
16.4.1 均衡器 289
16.4.2 修改块大小 290
16.4.3 移动块 290
16.4.4 特大块 292
16.4.5 刷新配置 295
第五部分 应用管理
第17章 了解应用的动态 299
17.1 了解正在进行的操作 299
17.1.1 寻找有问题的操作 301
17.1.2 终止操作的执行 301
17.1.3 假象 302
17.1.4 避免幽灵操作 302
17.2 使用系统分析器 303
17.3 计算空间消耗 305
17.3.1 文档 305
17.3.2 集合 305
17.3.3 数据库 306
17.4 使用mongotop和monogostat 307
第18章 数据管理 311
18.1 配置身份验证 311
18.1.1 身份验证基本原理 312
18.1.2 配置身份验证 313
18.1.3 身份验证的工作原理 314
18.2 建立和删除索引 315
18.2.1 在独立的服务器上建立索引 315
18.2.2 在副本集上建立索引 315
18.2.3 在分片集群上建立索引 316
18.2.4 删除索引 316
18.2.5 注意内存溢出杀手 316
18.3 预热数据 317
18.3.1 将数据库移至内存 317
18.3.2 将集合移至内存 318
18.3.3 自定义预热 318
18.4 压缩数据 320
18.5 移动集合 321
18.6 预分配数据文件 322
第19章 持久性 323
19.1 日记系统的用途 323
19.1.1 批量提交写入操作 324
19.1.2 设定提交时间间隔 325
19.2 关闭日记系统 325
19.2.1 替换数据文件 325
19.2.2 修复数据文件 326
19.2.3 关于mongod.lock文件 326
19.2.4 隐蔽的异常退出 327
19.3 MongoDB无法保证的事项 327
19.4 检验数据损坏 327
19.5 副本集中的持久性 329
第六部分 服务器管理
第20章 启动和停止MongoDB 333
20.1 从命令行启动 333
20.2 停止MongoDB 336
20.3 安全性 337
20.3.1 数据加密 338
20.3.2 SSL安全连接 338
20.4 日志 338
第21章 监控MongoDB 341
21.1 监控内存使用状况 341
21.1.1 有关电脑内存的介绍 341
21.1.2 跟踪监测内存使用状况 342
21.1.3 跟踪监测缺页中断 343
21.1.4 减少索引树的脱靶次数 345
21.1.5 IO延迟 345
21.1.6 跟踪监测后台刷新平均时间 346
21.2 计算工作集的大小 347
21.3 跟踪监测性能状况 349
21.4 监控副本集 352
第22章 备份 355
22.1 对服务器进行备份 355
22.1.1 文件系统快照 355
22.1.2 复制数据文件 356
22.1.3 使用mongodump 357
22.2 对副本集进行备份 359
22.3 对分片集群进行备份 360
22.3.1 备份和恢复整个集群 360
22.3.2 备份和恢复单独的分片 360
22.4 使用mongooplog进行增量备份 361
第23章 部署MongoDB 363
23.1 设计系统结构 363
23.1.1 选择存储介质 363
23.1.2 推荐的RAID配置 367
23.1.3 CPU 368
23.1.4 选择操作系统 368
23.1.5 交换空间 369
23.1.6 文件系统 369
23.2 虚拟化 370
23.2.1 禁止内存过度分配 370
23.2.2 神秘的内存 370
23.2.3 处理网络磁盘的IO问题 371
23.2.4 使用非网络磁盘 372
23.3 系统配置 372
23.3.1 禁用NUMA 372
23.3.2 更智能地预读取数据 375
23.3.3 禁用大内存页面 376
23.3.4 选择一种磁盘调度算法 377
23.3.5 不要记录访问时间 377
23.3.6 修改限制 378
23.4 网络配置 379
23.5 系统管理 381
23.5.1 时钟同步 381
23.5.2 OOMKiller 381
23.5.3 关闭定期任务 382
附录A 安装MongoDB 383
附录B 深入MongoDB 387

亚马逊链接