图书介绍

ERLANG趣学指南PDF|Epub|txt|kindle电子书版本下载

ERLANG趣学指南
  • (加)FRED HEBERT著;邓辉,孙鸣译 著
  • 出版社: 北京:人民邮电出版社
  • ISBN:7115431905
  • 出版时间:2016
  • 标注页数:469页
  • 文件大小:69MB
  • 文件页数:494页
  • 主题词:

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

ERLANG趣学指南PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1章 启程1

1.1 使用Erlang shell1

1.1.1 输入shell命令1

1.1.2 退出shell2

1.2 Erlang基础知识3

1.2.1 数值类型3

1.2.2 不变的变量4

1.2.3 原子5

1.2.4 布尔代数和比较操作符6

1.2.5 元组8

1.2.6 列表10

1.2.7 列表推导式13

1.3 处理二进制数据14

1.3.1 位语法15

1.3.2 二进制数的按位操作17

1.3.3 二进制字符串18

1.3.4 二进制推导式19

第2章 模块20

2.1 什么是模块20

2.2 创建模块21

2.3 编译代码23

2.4 定义宏26

2.5 模块的其他内容27

2.5.1 元数据27

2.5.2 环形依赖28

第3章 函数29

3.1 模式匹配29

3.1.1 模式进阶31

3.1.2 绑定中的变量31

3.2 卫语句33

3.3 if表达式34

3.4 case...of表达式37

3.5 如何选择38

第4章 类型39

4.1 动态强类型39

4.2 类型转换40

4.3 数据类型检测函数41

4.4 致静态类型爱好者43

第5章 递归44

5.1 递归的工作原理44

5.1.1 列表的长度45

5.1.2 列表长度的尾递归实现46

5.2 更多递归函数47

5.2.1 duplicate函数47

5.2.2 reverse函数48

5.2.3 sublist函数49

5.2.4 zip函数50

5.2.5 快速排序51

5.3 不仅仅是列表53

5.4 递归思维55

第6章 高阶函数58

6.1 一切都是函数58

6.2 匿名函数60

6.2.1 匿名函数的其他用途60

6.2.2 函数的作用域和闭包61

6.3 映射、过滤器、折叠以及其他63

6.3.1 过滤器63

6.3.2 折叠一切64

6.3.3 其他抽象66

第7章 错误和异常67

7.1 错误编译67

7.1.1 编译期错误67

7.1.2 逻辑错误69

7.1.3 运行时错误69

7.2 引发异常71

7.2.1 出错异常71

7.2.2 退出异常72

7.2.3 抛出异常73

7.3 处理异常74

7.3.1 处理不同类型的异常74

7.3.2 catch后的after语句76

7.3.3 尝试多个表达式76

7.3.4 更多选择78

7.4 在树中使用try语句80

第8章 用函数式思维解决问题82

8.1 逆波兰式计算器82

8.1 1RPN计算器的工作原理82

8.1.2 实现RPN计算器84

8.1.3 代码测试85

8.2 从希思罗到伦敦87

8.2.1 递归地解决问题87

8.2.2 编写代码89

8.2.3 不使用Erlang shell运行程序93

第9章 常用数据结构简介95

9.1 记录95

9.1.1 定义记录95

9.1.2 读取记录字段值97

9.1.3 更新记录99

9.1.4 共享记录定义99

9.2 键/值存储100

9.2.1 小数据量存储100

9.2.2 大数据量存储:字典和通用平衡树101

9.3 集合102

9.4 有向图104

9.5 队列104

9.6 小结105

第10章 并发编程漫游指南106

10.1 不必惊慌106

10.2 并发概念107

10.2.1 伸缩性108

10.2.2 容错108

10.2.3 并发实现109

10.3 并非完全不能线性伸缩110

10.4 再见,谢谢你的鱼111

10.4.1 创建进程112

10.4.2 发送消息113

10.4.3 接收消息114

第11章 深入多重处理118

11.1 定义进程状态118

11.2 隐藏消息实现120

11.3 超时121

11.4 选择性接收123

11.4.1 选择性接收的风险124

11.4.2 邮箱使用的其他风险126

第12章 错误与进程127

12.1 链接127

12.1.1 捕获退出信号129

12.1.2 老异常,新概念130

12.2 监控器133

12.3 命名进程134

第13章 并发应用设计139

13.1 理解问题139

13.2 设计协议141

13.3 目录结构143

13.4 事件模块143

13.4.1 事件和循环144

13.4.2 增加接口146

13.5 事件服务器148

13.5.1 处理消息149

13.5.2 代码热升级152

13.5.3 隐藏消息细节153

13.6 测试155

13.7 增加监督功能156

13.8 命名空间157

第14章 OTP简介158

14.1 提炼通用进程158

14.2 基础服务器159

14.2.1 kitty服务器159

14.2.2 通用化同步调用161

14.2.3 通用化服务器循环162

14.2.4 启动函数164

14.2.5 通用化kitty服务器165

14.3 专用与通用166

14.4 面向未来的回调167

14.4.1 init函数167

14.4.2 handle call函数168

14.4.3 handle cast函数169

14.4.4 handle info函数169

14.4.5 terminate函数169

14.4.6 code change函数169

14.5 gen server实践170

第15章 令人愤怒的有限状态机174

15.1 什么是有限状态机174

15.2 通用有限状态机178

15.2.1 init函数178

15.2.2 StateName函数178

15.2.3 handle event函数179

15.2.4 handle syn event函数179

15.2.5 code change和terminate函数179

15.3 交易系统规格说明179

15.3.1 操作定义180

15.3.2 定义状态图和状态迁移181

15.4 游戏交易186

15.4.1 公共接口186

15.4.2 FSM到FSM的函数187

15.4.3 gen fsm回调函数189

15.5 为自己骄傲196

15.6 适用于真实世界吗197

第16章 事件处理器198

16.1 处理它!*泵式散弹枪*198

16.2 通用事件处理器199

16.2.1 init和terminate函数200

16.2.2 handle event函数200

16.2.3 handle call函数201

16.2.4 handle info函数201

16.2.5 code change函数201

16.3 现在是冰壶比赛时间201

16.3.1 记分牌202

16.3.2 比赛事件203

16.3.3 通知新闻界206

第17章 谁来监督监督者211

17.1 监督者中的概念211

17.2 使用监督者213

17.2.1 重启策略213

17.2.2 重启限制215

17.2.3 子进程规格说明215

17.3 乐队排练217

17.3.1 音乐人217

17.3.2 乐队监督者220

17.4 动态监督223

17.4.1 动态使用标准监督者223

17.4.2 使用simple one for one监督者224

第18章 构建应用226

18.1 进程池226

18.1.1 洋葱理论227

18.1.2 进程池监督树228

18.2 实现监督者230

18.3 进程池服务器233

18.4 实现工作者239

18.5 运行进程池240

18.6 小结242

第19章 构建OTP应用243

19.1 我还有辆车是一个游泳池243

19.2 应用资源文件244

19.3 把ppool转换成OTP应用246

19.4 application行为247

19.5 从混乱到应用249

19.6 库应用251

第20章 深入OTP应用253

20.1 从OTP应用到真实的应用253

20.1.1 应用文件254

20.1.2 应用回调模块和监督者255

20.1.3 分派器256

20.1.4 计数模块264

20.2 运行应用265

20.3 包含应用267

20.4 复杂的终止267

第21章 发布268

21.1 修理漏水的管道268

21.1.1 终止VM268

21.1.2 更新应用文件269

21.1.3 编译应用270

21.2 使用systools构建发布270

21.2.1 创建启动文件271

21.2.2 发布打包272

21.3 使用Reltool构建发布273

21.4 Reltool技巧集279

21.5 基于release文件发布282

第22章 升级Process Quest283

22.1 升级面临的问题283

22.2 Erlang学习的第9级285

22.3 Process Quest286

22.3.1 regis-1.0.0应用287

22.3.2 processquest-1.0.0应用287

22.3.3 sockserv-1.0.0应用288

22.3.4 发布289

22.4 改进Process Quest291

22.4.1 更改code change函数291

22.4.2 增加appup文件293

22.4.3 发布升级296

22.5 Relup回顾299

第23章 套接字编程301

23.1 IO列表301

23.2 UDP和TCP:伙伴协议302

23.2.1 UDP套接字303

23.2.2 TCP套接字306

23.3 使用Inet进行更多的控制308

23.4 重新审视sockserv310

23.5 下一步的工作319

第24章 EUnit:单元测试框架320

24.1 什么是EUnit320

24.2 测试生成器324

24.3 测试夹具326

24.3.1 其他测试控制方法328

24.3.2 测试文档329

24.4 测试regis329

24.5 EUnit小结338

第25章 ETS:免费的内存NoSQL数据库339

25.1 为什么需要ETS339

25.2 ETS的概念340

25.3 ETS的基本操作342

25.3.1 表的创建和删除342

25.3.2 数据的插入和查询343

25.4 匹配操作345

25.5 选择操作347

25.6 DETS351

25.7 少说一点,多做一点351

25.7.1 接口352

25.7.2 实现细节352

第26章 分布式编程357

26.1 这是我的火枪358

26.2 分布式计算中的谬误359

26.2.1 网络是可靠的360

26.2.2 网络没有延迟360

26.2.3 带宽是无限的361

26.2.4 网络是安全的361

26.2.5 网络拓扑不会变化362

26.2.6 只有一个管理员363

26.2.7 传输成本是零363

26.2.8 网络是同质的363

26.2.9 谬误小结364

26.3 死亡还是失去联系364

26.4 CAP定理365

26.4.1 一致性366

26.4.2 可用性366

26.4.3 分区容忍366

26.4.4 僵尸幸存者和CAP367

26.5 搭建Erlang集群369

26.5.1 节点命名369

26.5.2 连接节点370

26.5.3 更多工具371

26.6 cookie373

26.7 远程shell374

26.8 隐藏节点375

26.9 防火墙问题376

26.10 高级调用376

26.10.1 net kernel模块376

26.10.2 global模块377

26.10.3 rpc模块378

26.11 小结380

第27章 分布式OTP应用381

27.1 更多OTP内容381

27.2 接管和故障切换382

27.3 神奇8号球383

27.3.1 构建应用384

27.3.2 变身分布式应用387

第28章 不寻常的Common Test391

28.1 什么是Common Test391

28.2 Common Test的组织结构392

28.3 创建一个简单的测试套件393

28.4 带状态的测试396

28.5 测试组397

28.5.1 定义测试组398

28.5.2 测试组属性399

28.5.3 会议室400

28.6 再谈测试套件404

28.7 测试规格说明404

28.7.1 规格说明文件内容405

28.7.2 创建规格说明文件406

28.7 3通过规格说明文件运行测试407

28.8 大规模测试407

28.8.1 创建分布式测试规格说明文件409

28.8.2 运行分布式测试410

28.9 集成CommonTest和EUint411

28.10 还有其他内容吗411

第29章 Mnesia——记忆的艺术412

29.1 Mnesia是什么412

29.2 应该存储什么呢413

29.2.1 需要存储的数据413

29.2.2 表结构414

29.3 从记录到表415

29.4 Mnesia数据模式和表416

29.5 创建表418

29.5.1 安装数据库418

29.5.2 启动应用421

29.6 数据表存取上下文422

29.7 读、写以及其他操作423

29.8 实现第一个请求424

29.8.1 测试增加服务424

29.8.2 测试查询427

29.8.3 账目和新的需求430

29.9 满足老板432

29.10 删除操作示例434

29.11 列表推导式查询437

29.12 记住Mnesia438

第30章 类型规格说明与Dialyzer439

30.1 PLT是最好的三明治439

30.2 成功类型化440

30.3 类型推导和错误442

30.4 类型的种类445

30.4.1 单例类型445

30.4.2 联合类型和内置类型445

30.4.3 定义类型448

30.4.4 记录类型449

30.5 为函数增加类型声明450

30.6 类型定义实践453

30.7 类型导出457

30.8 OTP行为类型459

30.9 多态类型460

30.9.1 我们买了一个动物园460

30.9.2 注意事项462

30.10 Dialyzer,我的好朋友463

30.11 朋友们,就这么多463

后记464

附录Erlang语法467

热门推荐