Erlang程序设计PDF电子书下载
- 电子书积分:14 积分如何计算积分?
- 作 者:(瑞典)JOEARMSTRONG著
- 出 版 社:北京:人民邮电出版社
- 出版年份:2008
- ISBN:9787115188694
- 页数:427 页
第1章 引言 1
1.1路线图 1
1.2正式起航 3
1.3致谢 3
第2章 入门 5
2.1概览 5
阶段1:茫然无绪 5
阶段2:初窥门径 5
阶段2.5:观其大略,不求甚解 6
阶段3:运用自如 6
重中之重 6
2.2 Erlang安装 7
二进制发布版 7
从源代码创建Erlang 8
使用CEAN 8
2.3本书代码 8
2.4启动shell 9
2.5简单的整数运算 10
2.6变量 11
变量不变 12
模式匹配 13
单一赋值为何有益于编写质量更高的代码 14
2.7浮点数 15
2.8原子 16
2.9元组 17
创建元组 18
从元组中提取字段值 18
2.10列表 19
术语 20
定义列表 20
从列表中提取元素 20
2.11字符串 21
2.12再论模式匹配 22
第3章 顺序型编程 24
3.1模块 24
3.2购物系统——进阶篇 28
3.3同名不同目的函数 31
3.4 fun 31
以fun为参数的函数 32
返回fun的函数 33
定义你自己的抽象流程控制 34
3.5简单的列表处理 35
3.6列表解析 38
快速排序 39
毕达哥拉斯三元组 40
变位词 40
3.7算术表达式 41
3.8断言 41
断言序列 42
断言样例 43
true断言的使用 44
过时的断言函数 44
3.9记录 44
创建和更新记录 45
从记录中提取字段值 45
在函数中对记录进行模式匹配 46
记录只是元组的伪装 46
3.10 case/if表达式 46
case表达式 47
if表达式 47
3.11以自然顺序创建列表 48
3.12累加器 48
第4章 异常 50
4.1异常 50
4.2抛出异常 51
4.3 try...catch 51
缩减版本 53
使用try...catch的编程惯例 53
4.4 catch 54
4.5改进错误信息 55
4.6 try...catch的编程风格 55
经常会返回错误的程序 55
出错几率比较小的程序 56
4.7捕获所有可能的异常 56
4.8新老两种异常处理风格 56
4.9栈跟踪 57
第5章 顺序型编程进阶 58
5.1 BIF 58
5.2二进制数据 58
5.3比特语法 60
16bit色彩的封包与解包 60
比特语法表达式 61
高级比特语法样例 62
5.4小问题集锦 67
apply 68
属性 68
块表达式 71
布尔类型 71
布尔表达式 72
字符集 72
注释 72
epp 73
转义符 73
表达式和表达式序列 74
函数引用 74
包含文件 75
列表操作符++和-- 75
宏 76
在模式中使用匹配操作符 77
数值类型 78
操作符优先级 79
进程字典 79
引用 80
短路布尔表达式 80
比较表达式 81
下划线变量 82
第6章 编译并运行程序 83
6.1开启和停止Erlang shell 83
6.2配置开发环境 84
为文件加载器设定搜索路径 84
在系统启动时批量执行命令 85
6.3运行程序的几种不同方法 86
在Erlang shell中编译运行 86
在命令提示符下编译运行 86
把程序当作escript脚本运行 88
用命令行参数编程 89
6.4使用makefile进行自动编译 90
makefile模板 90
定制makefile模板 92
6.5在Erlang shell中的命令编辑 93
6.6解决系统死锁 93
6.7如何应对故障 93
未定义/遗失代码 94
makefile不能工作 94
shell没有响应 95
6.8获取帮助 96
6.9调试环境 96
6.10崩溃转储 97
第7章 并发 98
第8章 并发编程 101
8.1并发原语 101
8.2一个简单的例子 102
8.3客户/服务器介绍 103
8.4创建一个进程需要花费多少时间 107
8.5带超时的receive 109
只有超时的 receive 109
超时时间为0的receive 109
使用一个无限等待超时进行接收 110
实现一个计时器 110
8.6选择性接收 111
8.7注册进程 112
8.8如何编写一个并发程序 113
8.9尾递归技术 114
8.10使用MFA启动进程 115
8.11习题 115
第9章 并发编程中的错误处理 116
9.1链接进程 116
9.2on_exit处理程序 117
9.3远程错误处理 118
9.4错误处理的细节 118
捕获退出的编程模式 119
捕获退出信号(进阶篇) 120
9.5错误处理原语 125
9.6链接进程集 126
9.7监视器 126
9.8存活进程 127
第10章 分布式编程 128
10.1名字服务 129
第一步:一个简单的名字服务 130
第二步:在同一台机器上,客户端运行于一个节点而服务器运行于第二个节点 131
第三步:让客户机和服务器运行于同一个局域网内的不同机器上 132
第四步:在因特网上的不同主机上分别运行客户机和服务器 133
10.2分布式原语 134
10.3分布式编程中使用的库 136
10.4有cookie保护的系统 136
10.5基于套接字的分布式模式 137
lib_chan 137
服务器代码 138
第11章 IRC Lite 141
11.1消息序列图 142
11.2用户界面 143
11.3客户端程序 144
11.4服务器端组件 147
聊天控制器 147
聊天服务器 148
群组管理器 149
11.5运行程序 150
11.6聊天程序源代码 151
聊天客户端 151
Lib_chan配置 154
聊天控制器 154
聊天服务器 155
聊天群组 156
输入输出窗口 157
11.7习题 159
第12章 接口技术 160
12.1端口 161
12.2为一个外部C程序添加接口 161
C程序 162
Erlang程序 164
12.3 open_port 167
12.4内联驱动 167
12.5注意 170
第13章 对文件编程 172
13.1库的组织结构 172
13.2读取文件的不同方法 172
从文件中读取所有Erlang数据项 174
从文件的数据项中一次读取一项 174
从文件中一次读取一行数据 176
将整个文件的内容读入到一个二进制数据中 176
随机读取一个文件 176
读取ID3标记 177
13.3写入文件的不同方法 179
向一个文件中写入一串Erlang数据项 179
向文件中写入一行 181
一步操作写入整个文件 181
在随机访问模式下写入文件 183
13.4目录操作 183
13.5查询文件的属性 184
13.6复制和删除文件 185
13.7小知识 185
13.8一个搜索小程序 186
第14章 套接字编程 189
14.1使用TCP 189
从服务器上获取数据 189
一个简单的TCP服务器 192
改进服务器 195
注意 196
14.2控制逻辑 197
主动型消息接收(非阻塞) 197
被动型消息接收(阻塞) 198
混合型模式(半阻塞) 198
14.3连接从何而来 199
14.4套接字的出错处理 199
14.5 UDP 200
最简单的UDP服务器和客户机 201
一个计算阶乘UDP的服务器 201
关于UDP协议的其他注意事项 203
14.6向多台机器广播消息 203
14.7 SHOUTcast服务器 204
SHOUTcast协议 205
SHOUTcast服务器的工作机制 205
SHOUTcast服务器的伪代码 206
运行SHOUTcast服务器 211
14.8进一步深入 212
第15章 ETS和DETS:大量数据的存储机制 213
15.1表的基本操作 214
15.2表的类型 214
15.3 ETS表的效率考虑 215
15.4创建ETS表 216
15.5 ETS程序示例 217
三字索引迭代器 218
构造表 219
构造表有多快 219
访问表有多快 220
胜出的是 220
15.6 DETS 222
15.7我们没有提及的部分 224
15.8代码清单 225
第16章 OTP概述 228
16.1通用服务器程序的进化路线 229
server 1:原始服务器程序 229
server 2:支持事务的服务器程序 230
server 3:支持热代码替换的服务器程序 231
server 4:同时支持事务和热代码替换 233
server 5:压轴好戏 234
16.2 gen_server起步 236
第一步:确定回调模块的名称 237
第二步:写接口函数 237
第三步:编写回调函数 237
16.3 gen_server回调的结构 240
启动服务器程序时发生了什么 240
调用服务器程序时发生了什么 240
调用和通知 241
发给服务器的原生消息 241
Hasta la Vista, Baby(服务器的终止) 242
热代码替换 242
16.4代码和模板 243
gen_server模板 243
my_bank 245
16.5进一步深入 246
第17章 Mnesia: Erlang数据库 247
17.1数据库查询 247
选取表中所有的数据 248
选取表中的数据 249
按条件选取表中的数据 249
从两个表选取数据(关联查询) 250
17.2增删表中的数据 250
增加一行 251
删除一行 251
17.3 Mnesia事务 252
取消一个事务 253
加载测试数据 255
do()函数 255
17.4在表中保存复杂数据 256
17.5表的类型和位置 257
创建表 258
表属性的常见组合 259
表的行为 260
17.6创建和初始化数据库 260
17.7表查看器 261
17.8进一步深入 262
17.9代码清单 262
第18章 构造基于OTP的系统 266
18.1通用的事件处理 267
18.2错误日志 270
记录一个错误 270
配置错误日志 270
分析错误 274
18.3警报管理 275
18.4应用服务 277
素数服务 277
面积服务 278
18.5监控树 279
18.6启动整个系统 282
18.7应用程序 285
18.8文件系统的组织 287
18.9应用程序监视器 288
18.10进一步深入 289
18.11我们如何创建素数 290
第19章 多核小引 292
第20章 多核编程 294
20.1如何在多核的CPU上更有效率地运行 295
使用大量进程 295
避免副作用 295
顺序瓶颈 296
20.2并行化顺序代码 297
20.3小消息、大计算 300
20.4映射-归并算法和磁盘索引程序 303
映射-归并算法 303
全文检索 307
索引器的操作 308
运行索引器 309
评论 310
索引器的代码 310
20.5面向未来的成长 311
附录A 给我们的程序写文档 312
附录B Microsoft Windows环境下的Erlang环境 316
附录C 资源 318
附录D 套接字应用程序 321
附录E 其他 335
附录F 模块和函数参考 351
索引 415
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《设计十六日 国内外美术院校报考攻略》沈海泯著 2018
- 《计算机辅助平面设计》吴轶博主编 2019
- 《高校转型发展系列教材 素描基础与设计》施猛责任编辑;(中国)魏伏一,徐红 2019
- 《景观艺术设计》林春水,马俊 2019
- 《程序逻辑及C语言编程》卢卫中,杨丽芳主编 2019
- 《高等教育双机械基础课程系列教材 高等学校教材 机械设计课程设计手册 第5版》吴宗泽,罗圣国,高志,李威 2018
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《Cinema 4D电商美工与视觉设计案例教程》樊斌 2019
- 《通信电子电路原理及仿真设计》叶建芳 2019
- 《中风偏瘫 脑萎缩 痴呆 最新治疗原则与方法》孙作东著 2004
- 《水面舰艇编队作战运筹分析》谭安胜著 2009
- 《王蒙文集 新版 35 评点《红楼梦》 上》王蒙著 2020
- 《TED说话的力量 世界优秀演讲者的口才秘诀》(坦桑)阿卡什·P.卡里亚著 2019
- 《燕堂夜话》蒋忠和著 2019
- 《经久》静水边著 2019
- 《魔法销售台词》(美)埃尔默·惠勒著 2019
- 《微表情密码》(波)卡西亚·韦佐夫斯基,(波)帕特里克·韦佐夫斯基著 2019
- 《看书琐记与作文秘诀》鲁迅著 2019
- 《酒国》莫言著 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《办好人民满意的教育 全国教育满意度调查报告》(中国)中国教育科学研究院 2019
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《人民院士》吴娜著 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《中国人民的心》杨朔著;夕琳编 2019
- 《高等院校旅游专业系列教材 旅游企业岗位培训系列教材 新编北京导游英语》杨昆,鄢莉,谭明华 2019
- 《中华人民共和国成立70周年优秀文学作品精选 短篇小说卷 上 全2册》贺邵俊主编 2019
- 《指向核心素养 北京十一学校名师教学设计 数学 九年级 上 配人教版》周志英总主编 2019
- 《中华人民共和国成立70周年优秀文学作品精选 中篇小说卷 下 全3册》洪治纲主编 2019