0%

基本信息

名称: UNIX环境高级编程(第2版)
作者信息: 作者: 史蒂文斯 [ 中文 pdf ]

简单介绍

《UNIX环境高级编程(第2版)》编辑推荐:内容权威,概念清晰,阐述精辟,对于所有层次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
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
第1章 UNIX基础知识1
1.1引言1
1.2UNIX体系结构1
1.3登录1
1.4文件和目录3
1.5输入和输出6
1.6程序和进程8
1.7出错处理10
1.8用户标识12
1.9信号14
1.10时间值15
1.11系统调用和库函数16
1.12小结17
习题18
第2章 UNIX标准化及实现19
2.1引言19
2.2UNIX标准化19
2.2.1ISO C19
2.2.2IEEE POSIX20
2.2.3Single UNIX Specification25
2.2.4FIPS26
2.3UNIX系统实现26
2.3.1SVR426
2.3.24.4BSD27
2.3.3FreeBSD27
2.3.4Linux27
2.3.5Mac OS X28
2.3.6Solaris28
2.3.7其他UNIX系统28
2.4标准和实现的关系28
2.5限制29
2.5.1ISO C限制29
2.5.2POSIX限制30
2.5.3XSI限制32
2.5.4sysconf、pathconf和fpathconf函数32
2.5.5不确定的运行时限制38
2.6选项42
2.7功能测试宏44
2.8基本系统数据类型45
2.9标准之间的冲突45
2.10小结46
习题46
第3章 文件I/O47
3.1引言47
3.2文件描述符47
3.3open函数48
3.4creat函数49
3.5close函数50
3.6lseek函数50
3.7read函数53
3.8write函数54
3.9I/O的效率54
3.10文件共享56
3.11原子操作59
3.12dup和dup2函数60
3.13sync、fsync和fdatasync函数61
3.14fcntl函数62
3.15ioctl函数66
3.16/dev/fd67
3.17小结68
习题68
第4章 文件和目录71
4.1引言71
4.2stat、fstat和lstat函数71
4.3文件类型72
4.4设置用户ID和设置组ID74
4.5文件访问权限75
4.6新文件和目录的所有权77
4.7access函数77
4.8umask函数79
4.9chmod和fchmod函数81
4.10粘住位83
4.11chown、fchown和lchown函数84
4.12文件长度85
4.13文件截短86
4.14文件系统86
4.15link、unlink、remove和rename函数89
4.16符号链接91
4.17symlink和readlink函数94
4.18文件的时间94
4.19utime函数95
4.20mkdir和rmdir函数97
4.21读目录98
4.22chdir、fchdir和getcwd函数102
4.23设备特殊文件104
4.24文件访问权限位小结106
4.25小结106
习题107
第5章 标准I/O库109
5.1引言109
5.2流和FILE对象109
5.3标准输入、标准输出和标准出错110
5.4缓冲110
5.5打开流112
5.6读和写流114
5.7每次一行I/O116
5.8标准I/O的效率117
5.9二进制I/O119
5.10定位流120
5.11格式化I/O121
5.12实现细节125
5.13临时文件127
5.14标准I/O的替代软件130
5.15小结130
习题130
第6章 系统数据文件和信息133
6.1引言133
6.2口令文件133
6.3阴影口令136
6.4组文件137
6.5附加组ID138
6.6实现的区别139
6.7其他数据文件139
6.8登录账户记录140
6.9系统标识141
6.10时间和日期例程142
6.11小结146
习题146
第7章 进程环境147
7.1引言147
7.2main函数147
7.3进程终止147
7.4命令行参数151
7.5环境表152
7.6C程序的存储空间布局152
7.7共享库154
7.8存储器分配154
7.9环境变量157
7.10setjmp和longjmp函数159
7.11getrlimit和setrlimit函数164
7.12小结168
习题168
第8章 进程控制171
8.1引言171
8.2进程标识符171
8.3fork函数172
8.4vfork函数176
8.5exit函数178
8.6wait和waitpid函数179
8.7waitid函数183
8.8wait3和wait4函数184
8.9竞争条件185
8.10exec函数188
8.11更改用户ID和组ID192
8.12解释器文件196
8.13system函数200
8.14进程会计203
8.15用户标识208
8.16进程时间208
8.17小结210
习题211
第9章 进程关系213
9.1引言213
9.2终端登录213
9.3网络登录216
9.4进程组218
9.5会话219
9.6控制终端220
9.7tcgetpgrp、tcsetpgrp和tcgetsid函数221
9.8作业控制222
9.9shell执行程序225
9.10孤儿进程组228
9.11FreeBSD实现230
9.12小结231
习题232
第10章 信号233
10.1引言233
10.2信号概念233
10.3signal函数240
10.4不可靠的信号242
10.5中断的系统调用244
10.6可重入函数246
10.7SIGCLD语义248
10.8可靠信号术语和语义250
10.9kill和raise函数251
10.10alarm和pause函数252
10.11信号集256
10.12sigprocmask函数258
10.13sigpending函数259
10.14sigaction函数261
10.15sigsetjmp和siglongjmp函数266
10.16sigsuspend函数268
10.17abort函数274
10.18system函数276
10.19sleep函数280
10.20作业控制信号282
10.21其他特征284
10.22小结285
习题285
第11章 线程287
11.1引言287
11.2线程概念287
11.3线程标识288
11.4线程的创建288
11.5线程终止291
11.6线程同步297
11.7小结311
习题311
第12章 线程控制313
12.1引言313
12.2线程限制313
12.3线程属性314
12.4同步属性318
12.5重入324
12.6线程私有数据328
12.7取消选项331
12.8线程和信号333
12.9线程和fork336
12.10线程和I/O339
12.11小结340
习题340
第13章 守护进程341
13.1引言341
13.2守护进程的特征341
13.3编程规则342
13.4出错记录345
13.5单实例守护进程348
13.6守护进程的惯例350
13.7客户进程-服务器进程模型354
13.8小结354
习题354
第14章 高级I/O355
14.1引言355
14.2非阻塞I/O355
14.3记录锁357
14.4STREAMS370
14.5I/O多路转接379
14.5.1select和pselect函数381
14.5.2poll函数384
14.6异步I/O386
14.6.1系统V异步I/O386
14.6.2BSD异步I/O387
14.7readv和writev函数387
14.8readn和writen函数389
14.9存储映射I/O390
14.10小结395
习题396
第15章 进程间通信397
15.1引言397
15.2管道398
15.3popen和pclose函数403
15.4协同进程408
15.5FIFO412
15.6XSI IPC415
15.6.1标识符和键415
15.6.2权限结构416
15.6.3结构限制417
15.6.4优点和缺点417
15.7消息队列418
15.8信号量422
15.9共享存储427
15.10客户进程-服务器进程属性432
15.11小结434
习题434
第16章 网络IPC:套接字437
16.1引言437
16.2套接字描述符437
16.3寻址439
16.3.1字节序440
16.3.2地址格式441
16.3.3地址查询442
16.3.4将套接字与地址绑定449
16.4建立连接450
16.5数据传输452
16.6套接字选项464
16.7带外数据466
16.8非阻塞和异步I/O467
16.9小结468
习题468
第17章 高级进程间通信469
17.1引言469
17.2基于STREAMS的管道469
17.2.1命名的STREAMS管道472
17.2.2唯一连接473
17.3UNIX域套接字476
17.3.1命名UNIX域套接字477
17.3.2唯一连接478
17.4传送文件描述符482
17.4.1经由基于STREAMS的管道传送文件描述符484
17.4.2经由UNIX域套接字传送文件描述符486
17.5open服务器版本1493
17.6open服务器版本2498
17.7小结505
习题505
第18章 终端I/O507
18.1引言507
18.2综述507
18.3特殊输入字符512
18.4获得和设置终端属性516
18.5终端选项标志516
18.6stty命令522
18.7波特率函数523
18.8行控制函数524
18.9终端标识524
18.10规范模式529
18.11非规范模式532
18.12终端的窗口大小537
18.13termcap,terminfo和curses539
18.14小结540
习题540
第19章 伪终端541
19.1引言541
19.2概述541
19.3打开伪终端设备544
19.3.1基于STREAMS的伪终端547
19.3.2基于BSD的伪终端549
19.3.3基于Linux的伪终端551
19.4pty_fork函数553
19.5pty程序555
19.6使用pty程序559
19.7高级特性564
19.8小结565
习题565
第20章 数据库函数库567
20.1引言567
20.2历史567
20.3函数库568
20.4实现概述569
20.5集中式或非集中式572
20.6并发574
20.7构造函数库574
20.8源代码575
20.9性能598
20.10小结600
习题601
第21章 与网络打印机通信603
21.1引言603
21.2网络打印协议603
21.3超文本传输协议605
21.4打印假脱机技术605
21.5源代码607
21.6小结644
习题645
附录A函数原型647
附录B其他源代码677
附录C部分习题答案685
参考书目709
索引715

亚马逊链接

基本信息

名称: 社会工程 安全体系中的人性漏洞(英文)
作者信息: 作者: Christopher Hadnagy [ 英文 pdf ]

简单介绍

著名安全专家解密社会工程手法的权威著作
社会工程专家的精彩故事令你瞠目结舌
众多专业人士强力推荐,亚马逊读者一致好评

帮助你:
学习社会工程人员采用的心理学原则及其运用方法
了解社会工程人员所精通的说服技巧
看清狡猾的骗子如何利用摄像头、GPS定位设备和来电显示行骗
知晓在网络上能够找到海量的信息
剖析真实世界的社会工程实例

目录

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
目 录 

第1章 社会工程学初探 1 1.1 为何本书很重要 2 1.1.1 本书框架 3 1.1.2 本书内容 4 1.2 社会工程概述 7 1.2.1 社会工程及其定位 10 1.2.2 社会工程人员的类型 12 1.2.3 社会工程的框架及其使用方法 14 1.3 小结 15

第2章 信息收集 16 2.1 收集信息 18 2.1.1 使用BasKet 18 2.1.2 使用Dradis 20 2.1.3 像社会工程人员一样思考 21 2.2 信息源 25 2.2.1 从网站上收集信息 25 2.2.2 运用观察的力量 29 2.2.3 垃圾堆里找信息 30 2.2.4 运用分析软件 31 2.3 交流模型 32 2.3.1 交流模型及其根源 34 2.3.2 制定交流模型 36 2.4 交流模型的力量 39

第3章 诱导 41 3.1 诱导的含义 42 3.2 诱导的目的 44 3.2.1 铺垫 46 3.2.2 成为成功的诱导者 49 3.2.3 提问的学问 52 3.3 精通诱导 55 3.4 小结 57

第4章 伪装:如何成为任何人 58 4.1 什么是伪装 59 4.2 伪装的原则和计划阶段 60 4.2.1 调查越充分,成功的几率越大 60 4.2.2 植入个人爱好会提高成功率 61 4.2.3 练习方言或者表达方式 63 4.2.4 使用电话不会减少社会工程人员投入的精力 64 4.2.5 伪装越简单,成功率越高 65 4.2.6 伪装必须显得自然 66 4.2.7 为目标提供逻辑结论或下一步安排 67 4.3 成功的伪装 68 4.3.1 案例1:斯坦利·马克·瑞夫金 68 4.3.2 案例2:惠普 70 4.3.3 遵纪守法 72 4.3.4 其他伪装工具 73 4.4 小结 74

第5章 心理战术:社会工程心理学 75 5.1 思维模式 76 5.1.1 感官 77 5.1.2 3种主要的思维模式 77 5.2 微表情 81 5.2.1 愤怒 83 5.2.2 厌恶 85 5.2.3 轻蔑 87 5.2.4 恐惧 89 5.2.5 惊讶 91 5.2.6 悲伤 92 5.2.7 快乐 95 5.2.8 训练自己识别微表情 97 5.2.9 社会工程人员如何运用微表情 99 5.3 神经语言程序学 103 5.3.1 神经语言程序学的历史 104 5.3.2 神经语言程序学的准则 105 5.3.3 社会工程人员如何应用NLP 106 5.4 采访和审讯 109 5.4.1 专业的审讯技巧 110 5.4.2 手势 116 5.4.3 双臂和手的摆放 118 5.4.4 聆听:通往成功之门 119 5.5 即刻达成共识 123 5.5.1 真正地想要了解他人 123 5.5.2 注意自身形象 123 5.5.3 善于聆听 124 5.5.4 留心自己对他人的影响 124 5.5.5 尽量少谈论自己 125 5.5.6 谨记:同情心是达成共识的关键 125 5.5.7 扩大知识领域 126 5.5.8 挖掘你的好奇心 126 5.5.9 设法满足他人的需求 127 5.5.10 使用其他建立共识的技巧 129 5.5.11 测试“共识” 130 5.6 人类思维缓冲区溢出 131 5.6.1 设定最基本的原则 132 5.6.2 人性操作系统的模糊测试 133 5.6.3 嵌入式指令的规则 134 5.7 小结 135

第6章 影响:说服的力量 137 6.1 影响和说服的5项基本原则 138 6.1.1 心中有明确的目标 138 6.1.2 共识、共识、共识 139 6.1.3 保持自身和环境一致 141 6.1.4 不要疯狂,要灵活应变 141 6.1.5 内省 141 6.2 影响战术 142 6.2.1 回报 142 6.2.2 义务 145 6.2.3 让步 147 6.2.4 稀缺 148 6.2.5 权威 151 6.2.6 承诺和一致性 153 6.2.7 喜欢 157 6.2.8 共识或社会认同 159 6.3 改动现实:框架 163 6.3.1 政治活动 163 6.3.2 在日常生活中使用框架 164 6.3.3 框架联盟的4种类型 168 6.3.4 社会工程人员如何利用框架战术 172 6.4 操纵:控制你的目标 177 6.4.1 召回还是不召回 179 6.4.2 焦虑的最终治愈 180 6.4.3 你不能让我买那个 181 6.4.4 令目标积极地响应 184 6.4.5 操纵激励 185 6.5 社会工程中的操纵 189 6.5.1 提高目标的暗示感受性 189 6.5.2 控制目标的环境 190 6.5.3 迫使目标重新评估 190 6.5.4 让目标感到无能为力 191 6.5.5 给予非肉体惩罚 192 6.5.6 威胁目标 192 6.5.7 使用积极的操纵 193 6.6 小结 195

第7章 社会工程工具 197 7.1 物理工具 198 7.1.1 开锁器 198 7.1.2 摄像机和录音设备 204 7.1.3 使用GPS跟踪器 207 7.2 在线信息收集工具 214 7.2.1 Maltego 214 7.2.2 社会工程人员工具包 216 7.2.3 基于电话的工具 221 7.2.4 密码分析工具 224 7.3 小结 228

第8章 案例研究:剖析社会工程人员 229 8.1 米特尼克案例1:攻击DMV 230 8.1.1 目标 230 8.1.2 故事 230 8.1.3 社会工程框架的运用 233 8.2 米特尼克案例2:攻击美国社会保障局 235 8.2.1 目标 235 8.2.2 故事 235 8.2.3 社会工程框架的运用 237 8.3 海德纳吉案例1:自负的CEO 238 8.3.1 目标 238 8.3.2 故事 239 8.3.3 社会工程框架的运用 243 8.4 海德纳吉案例2:主题乐园丑闻 244 8.4.1 目标 244 8.4.2 故事 245 8.4.3 社会工程框架的运用 247 8.5 最高机密案例1:不可能的使命 248 8.5.1 目标 248 8.5.2 故事 249 8.5.3 社会工程框架的运用 253 8.6 最高机密案例2:对黑客的社会工程 254 8.6.1 目标 254 8.6.2 故事 255 8.6.3 社会工程框架的运用 260 8.7 案例学习的重要性 261 8.8 小结 261

第9章 预防和补救 262 9.1 学会识别社会工程攻击 263 9.2 创建具有个人安全意识的文化 264 9.3 充分认识信息的价值 266 9.4 及时更新软件 268 9.5 编制参考指南 269 9.6 学习社会工程审计案例 269 9.6.1 理解什么是社会安全审计 269 9.6.2 设立审计目标 270 9.6.3 审计中的可为与不可为 271 9.6.4 挑选最好的审计人员 272 9.7 总结 273 9.7.1 社会工程并非总是消极的 273 9.7.2 收集与组织信息的重要性 274 9.7.3 谨慎用词 274 9.7.4 巧妙伪装 275 9.7.5 练习解读表情 276 9.7.6 操纵与影响 276 9.7.7 警惕恶意策略 276 9.7.8 利用你的恐惧 277 9.8 小结 278

亚马逊链接

基本信息

名称: 游戏之旅 我的编程感悟
作者信息: 作者: 浏览全部评论 [ 中文 pdf ]

简单介绍

《游戏之旅:我的编程感悟》忠实地记录了作者十余年来对游戏编程的所思、所感、所悟。全书按照作者本人学习和实践的过程,带着读者从基础的计算机知识到高级的编程技术,从非常专业的汇编优化到非常实际的项目管理进行了一次游戏开发的全景探索。  《游戏之旅:我的编程感悟》不仅适合游戏开发者阅读,也会给所有的开发者和程序爱好者带来启示。

目录

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
第一章  计算机,游戏,我
第二章 算法,程序的灵魂
第三章 编程语言
第四章 前Windows时代
第五章 Windows编程
第六章 汇编优化
第七章 SIMD指令
第八章 引擎中的优化
第九章 C和C++
第十章 调试
第十一章 脚本
第十二章 版本控制
第十三章 开发方法
第十四章 编程和游戏
后记
致谢

亚马逊链接

基本信息

名称: 敏捷软件开发(原则模式与实践)
作者信息: 作者: 马丁 [ 中文 pdf ]

简单介绍

《敏捷软件开发:原则模式与实践》是综合性、实用性的敏捷开发和极限编程方面的指南,讲述了在预算和时间要求下软件开发人员和项目经理如何使用敏捷开发完成项目:使用真实案例讲解如何用极限编程来设计、测试、重构和结对编程;包含了极具价值的可重用的C++和Java源代码;还重点讲述了如何使用UML和设计模式解决面向客户系统的问题。《敏捷软件开发:原则模式与实践》于2003年荣获第13届软件开发图书震撼大奖,适于用作高校计算机专业本科生、研究生和软件学院的软件工程和软件开发相关课程的教材或参考书,也适于软件开发和管理人员提高自身水平学习之用。

目录

1
第Ⅰ部分 敏捷开发 第一章 敏捷实践 1.1 敏捷联盟 1.2 原则 1.3 结论 参考文献 第二章 极限编程概述 2.1 极限编程实践 2.2 结论 参考文献 第三章 计划 3.1 初始探索 3.2 发布计划 3.3 迭代计划 3.4 任务计划 3.5 迭代 3.6 结论 参考文献 第四章 测试 4.1 测试驱动的开发方法 4.2 验收测试 4.3 结论 参考文献 第五章 重构 5.1 素数产生程序一个简单的重构示例 5.2 结论 参考文献 第六章 一次编程实践 6.1 保龄球比赛 6.2 结论 第Ⅱ部分 敏捷设计 第七章 什么是敏捷设计 7.1 软件出了什么错 7.2 设计的臭味——腐化软件的气味 7.3 “Copy”程序 7.4 保持尽可能好的设计 7.5 结论 参考文献 第八章 单一责任原则(SRP) 8.1 单一职责原则(SRP) 8.2 结论 参考文献 第九章 开放—封闭原则(OCP) 9.1 开放—封闭原则(OCP) 9.2 描述 9.3 关键是抽象 9.4 结论 参考文献 第十章 Liskov替换原则(LSP) 10.1 Liskov替换原则(LSP) 10.2 一个违反LSP的简单例子 10.3 正方形和矩形,更微妙的违规 10.4 一个实际的例子 10.5 用提取公共部分的方法代替继承 10.6 启发式规则和习惯用法 10.7 结论 参考文献 第十一章 依赖倒置原则(DIP) 11.1 依赖倒置原则(DIP) 11.2 层次化 11.3 一个简单的例子 11.4 熔炉示例 11.5 结论 参考文献 第十二章 接口隔离原则(ISP) 12.1 接口污染 12.2 分离客户就是分离接口 12.3 接口隔离原则(ISP) 12.4 类接口与对象接口 12.5 ATM用户界面的例子 12.6 结论 参考文献 第Ⅲ部分 薪水支付案例研究 第十三章 COMMAND模式和ACTIVE OBJECT模式 第十四章 TEMPLATE METHOD模式和STRATEGY模式:继承与委托 第十五章 FACADE模式和MEDIATOR模式 第十六章 SINGLETON模式和MONOSTATE模式 第十七章 NULL OBJECT模式 第十八章 薪水支付案例研究:第一次迭代开始 第十九章 薪水支付案例研究:实现 第Ⅳ部分 打包薪水支付系统 第二十章 包的设计原则 第二十一章 FACTORY模式 第二十二章 薪水支付案例研究(第2部分) 第Ⅴ部分 气象站案例研究 第二十三章 COMPOSITE模式 第二十四章 OBSERVER模式——回归为模式 第二十五章 ABSTRACT SERVER模式、ADAPTER模式和BRIDGE模式 第二十六章 PROXY模式和STAIRWAY TO HEAVEN模式:管理第三方API 第二十七章 案例研究:气象站 第Ⅵ部分 ETS案例研究 第二十八章 VISITOR模式 第二十九章 STATE模式 第三十章 ETS框架 附录 附录A UML表示法Ⅰ:CGI示例 附录B UML表示法Ⅱ:统计多路复用器 附录C 两个公司的讽刺小品 附录D 源代码就是设计 索引

亚马逊链接

基本信息

名称: C++游戏编程
作者信息: 作者: 略皮斯 (Llopis Noel) [ 中文 pdf ]

简单介绍

目录

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
第1部分 初识C++威力第1章 继承1.1 类
1.2 继承
1.3 多态和虚函数
1.4 是否使用继承
1.5 使用或者避免使用继承的时机
1.6 继承的实现(高级话题)
1.7 性能分析(高级话题)
1.8 替代方案(高级话题)
1.9 程序架构和继承(高级话题)
1.10 结论
1.11 阅读建议第2章 多重继承2.1 使用多重继承
2.2 多重继承的问题
2.3 多态
2.4 什么时候使用,什么时候避免多重继承
2.5 多重继承的实现(高级话题)
2.6 性能分析(高级话题)
2.7 结论
2.8 阅读建议第3章 常量及引用3.1 常量
3.2 引用
3.3 强制转换
3.4 结论
3.5 阅读建议第4章 模板4.1 寻找通用代码
4.2 模板
4.3 使用模板的不足之处
4.4 使用模板的时机
4.5 模板专门化(高级话题)
4.6 结论
4.7 阅读建议第5章 异常处理5.1 错误的处理
5.2 异常的使用
5.3 异常的保护代码
5.4 异常的开销分析
5.5 异常的使用时机
5.6 结论
5.7 阅读建议第2部分 性能和内存第6章 性能6.1 性能和优化
6.2 函数类型
6.3 函数内联
6.4 函数开销更多的方面
6.5 避免复制
6.6 构造函数和析构函数
6.7 数据缓存与内存对齐(高级话题)
6.8 结论
6.9 阅读建议第7章 内存分配7.1 栈
7.2 堆
7.3 静态分配
7.4 动态分配
7.5 定制内存管理
7.6 内存池
7.7 万一出现紧急情况(内存耗尽)
7.8 结论
7.9 阅读建议第8章 标准模板库——容器8.1 STL概述
8.2 用还是不用STL
8.3 序列式容器
8.4 关联式容器
8.5 容器适配器
8.6 结论
8.7 阅读建议第9章 STL算法及高级主题9.1 算符(函数对象)
9.2 算法
9.3 字符串
9.4 分配算符(高级话题)
9.5 当STL不满足要求时(高级话题)
9.6 结论
9.7 阅读建议第3部分 专门技术第10章 抽象接口10.1 抽象接口
10.2 通用C++实现
10.3 作为绝缘层的抽象接口
10.4 作为类特征的抽象接口
10.5 其他方面
10.6 结论
10.7 阅读建议第11章 插件11.1 对插件的需要
11.2 插件结构
11.3 插件的组装
11.4 插件的应用
11.5 结论
11.6 阅读建议第12章 运行期类型信息12.1 不使用RTTI进行工作
12.2 使用RTTI
12.3 标准C++RTTI
12.4 自定义RTTI系统
12.5 结论
12.6 阅读建议第13章 对象的创建与管理13.1 对象的创建
13.2 对象工厂
13.3 共享对象
13.4 结论
13.5 阅读建议第14章 对象的序列化14.1 游戏实体序列化概述
14.2 游戏实体序列化的实现
14.3 组装起来
14.4 结论
14.5 阅读建议第15章 处理大型项目15.1 逻辑结构与物理结构
15.2 类和文件
15.3 头文件
15.4 库
15.5 配置
15.6 结论
15.7 阅读建议第16章 防止游戏崩溃16.1 使用断言
16.2 刷新机器状态
16.3 处理“坏”数据
16.4 结论
16.5 阅读建议关于附带光盘

亚马逊链接

基本信息

名称: 人月神话
作者信息: 作者: 弗雷德里克•布鲁克斯 [ 中文 pdf ]

简单介绍

《人月神话》编辑推荐:又见人月神话,重温软工经典”。1.软件领域绝无仅有,32年之后依旧畅销不衰的传奇经典!2.软件开发人员、软件项目经理、系统分析师必读的一本书!《人月神话》读者包括:软件开发人员、软件项目经理、系统分析师等IT从业者。

目录

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
第1章 焦油坑
编程系统产品
职业的乐趣
职业的苦恼
第2章 人月神话
乐观主义
人月
系统测试
空泛的估算
重复产生的进度灾难
第3章 外科手术队伍
问题
Mills的建议
如何运作
团队的扩建
第4章 贵族专制、民主政治和系统设计
概念的完整性
获得概念的完整性
贵族专制统治和民主政治
在等待时,实现人员应该做什么
第5章 画蛇添足
结构师的交互准则和机制
自律——开发第二个系统所带来的后果
第6章 贯彻执行
文档化的规格说明——手册
形式化定义
直接整合
会议和大会
多重实现
电话日志
产品测试
第7章 为什么巴比伦塔会失败
巴比伦塔的管理教训
大型编程项目中的交流
项目工作手册
大型编程项目的组织架构
第8章 胸有成竹
第9章 削足适履
第10章 提纲挈领
第11章 未雨绸缪
第12章 干将莫邪
第13章 整体部分
第14章 祸起萧墙
第15章 另外一面
第16章 没有银弹
第17章 再论“没有银弹”
第18章 《人月神话》的观点:是与非?
第19章 20年后的《人月神话》
结束语:令人向往、激动人心和充满乐趣的50年
注解与参考文献

亚马逊链接

基本信息

名称: 计算机程序的构造和解释(原书第2版)
作者信息: 作者: 艾伯森 [ 中文 pdf ]

简单介绍

《计算机程序的构造和解释(原书第2版)》自出版以来,世界各地已有100多所院校采用《计算机程序的构造和解释(原书第2版)》做教材,其中包括美国斯坦福大学、美国普林斯顿大学、英国牛津大学、日本东京大学等。

目录

1
出版者的话 专家指导委员会 序 第2版前言 第1版前言 致谢 第1章 构造过程抽象 1.1 程序设计的基本元素 1.2 过程与它们所产生的计算 1.3 用高阶函数做抽象 第2章 构造数据现象 2.1 数据抽象导引 2.2 层次性数据和闭包性质 2.3 符号数据 2.4 抽象数据的多重表示 2.5 带有通用型操作的系统 第3章 模块化、对象和状态 3.1 赋值和局部状态 3.2 求值的环境模型 3.3 用变动数据做模拟 3.4 并发:时间是一个本质问题 3.5 流 第4章 元语言抽象 4.1 元循环求值器 4.2 Scheme的变形——惰性求值 4.3 Scheme的变形——非确定性计算 4.4 逻辑程序设计 第5章 寄存器机器里的计算 5.1 寄存器机器的设计 5.2 一个寄存器机器模拟器 5.3 存储分配和废料收集 5.4 显式控制的求值器 5.5 编译 参考文献 练习表 索引

亚马逊链接

基本信息

名称: 数据结构与算法分析 C++语言描述(第2版)
作者信息: 作者: 奈霍夫 [ 中文 pdf ]

简单介绍

数据结构是计算机科学专业的核心课程之一。对数据结构的传统学习,拓展到了抽象数据类型的学习。 《数据结构与算法分析:C++语言描述》(第2版)可作为大专院校计算机或软件专业的教材,也可以作为从事计算机工程与应用的科技人员的参考用书。

目录

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
第1章  软件开发
第2章 抽象数据类型入门
第3章 数据结构和抽象数据类型
第4章 OOP和ADT进阶——类
第5章 标准C++输入/输出和字符串类
第6章 列表
第7章 栈
第8章 队列
第9章 ADT实现:模板和标准容器
第10章 ADT实现——递归、算法分析以及标准算法
第11章 其他链表结构
第12章 二叉树和散列表
第13章 排序
第14章 OOP和ADT
第15章 树
第16章 图和有向图

附录A ASCII字符集 附录B 小测验答案

亚马逊链接

基本信息

名称: Reversing 逆向工程揭密
作者信息: 作者: 杨艳 [ 中文 pdf ]

简单介绍

《Reversing:逆向工程揭密》适合软件逆向工程的从业人员以及软件开发者们阅读。

目录

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
第1部分 逆向
 第1章 基础
  1.1 什么是逆向工程
  1.2 软件逆向工程:逆向
  1.3 逆向应用
   1.3.1 与安全相关的逆向
   1.3.2 软件开发中的逆向
  1.4 底层软件
   1.4.1 汇编语言
   1.4.2 编译器
   1.4.3 虚拟机和字节码
   1.4.4 操作系统
  1.5 逆向过程
   1.5.1 系统级逆向
   1.5.2 代码级逆向
  1.6 工具
   1.6.1 系统监控工具
   1.6.2 反汇编器
   1.6.3 调试器
   1.6.4 反编译器
  1.7 逆向合法吗?
   1.7.1 互操作性
   1.7.2 竞争
   1.7.3 版权法
   1.7.4 商业机密和专利权
   1.7.5 美国数字千禧版权法
   1.7.6 DMCA案例
   1.7.7 许可证协议
  1.8 代码范例与工具
  1.9 结论
 第2章 底层软件
  2.1 高阶视角
   2.1.1 程序结构
   2.1.2 数据管理
   2.1.3 控制流
   2.1.4 高级语言
  2.2 低阶视角
   2.2.1 底层数据管理
   2.2.2 控制流
  2.3 汇编语言
   2.3.1 寄存器
   2.3.2 标志位
   2.3.3 指令格式
   2.3.4 基本指令
   2.3.5 范例
  2.4 编译器和编译入门
   2.4.1 定义编译器
   2.4.2 编译器架构
   2.4.3 列表文件
   2.4.4 专用编译器
  2.5 执行环境
   2.5.1 软件执行环境(虚拟机)
   2.5.2 现代处理器的硬件执行环境
  2.6 结论
 第3章 Windows基础知识
 第4章 逆向工具
第2部分 应用逆向
 第5章 未公开的技术
 第6章 破译文件格式
 第7章 审查程序的二进制码
 第8章 逆向恶意软件
第3部分 破解
 第9章 盗版与拷贝保护
 第10章 反逆向技术
 第11章 突破保护
第4部分 反汇编之外
 第12章 逆向.NET
 第13章 反编译
附录A 揭密代码结构
附录B 理解编译后的算术运算
附录C 破译程序数据
索引

亚马逊链接

基本信息

名称: 修改代码的艺术
作者信息: 作者: 平均4.0 星 [ 中文 pdf ]

简单介绍

修改代码的集大成之作.Amazon全五星图书..适用于各种语言或平台… 《修改代码的艺术》是继《重构》和《重构与模式》之后探讨修改代码技术的又一里程碑式的著作,而且从广度和深度上都超过了前两部经典。书中不仅讲述了面向对象语言(Java、C#和C++)代码,也有专章讨论C这样的过程式语言。作者将理解、测试和修改代码的原理、技术和最新工具(自动化重构工具、单元测试框架、仿对象、集成测试框架等)与解依赖技术及大量开发和设计优秀代码的原则、最佳实践相结合,许多内容非常深入,而且常常发前人所未发。书中处处体现出作者独到的洞察力,以及多年开发和指导软件项目所积累的丰富经验和深厚功力。通过这部集大成之作,你不仅能掌握最顶尖的修改代码技术,还可以大大提高对代码和软件开发的领悟力。

目录

1
2
3
4
5
6
7
8
9
10
第一部分 修改机理
第1章 修改软件
第2章 带着反馈工作
第3章 感知和分离
第4章 接缝模型
第5章 工具

第二部分 修改代码的技术 第6章 时间紧迫、但必须修改 第7章 漫长的修改 第8章 添加特性 第9章 无法将类放入测试用具中 第10章 无法在测试用具中运行方法 第11章 修改时应当测试哪些方法  第12章 在同一地进行多处测试、是否应该将相关的所有类都解依赖 第13章 修改时应该怎样写测试  第14章 棘手的库依赖问题 第15章 到处都是API调用  第16章 对代码的理解不足 第17章 应用毫无结构可言 第18章 测试代码碍手碍脚  第19章 对非面向对象的项目、如何安全地对它进行修改 第20章 处理大类 第21章 需要修改大量相同的代码  第22章 要修改一个巨型方法,却没法为它编写测试  第23章 降低修改的风险 第24章 当你感到绝望明

第三部分 解依赖技术 第24章 解依赖技术 附录 重构 术语表 索引

亚马逊链接