当前位置:首页 > 程序设计 >
《Erlang/OTP并发编程实战》电子书封面

Erlang/OTP并发编程实战

  • 发布时间:2019年10月24日 09:36:41
  • 作者:Martin Logan,[美]Eric
  • 大小:48.7 MB
  • 类别:OTP开发电子书
  • 格式:PDF
  • 版本:完整版
  • 评分:9.2

    Erlang/OTP并发编程实战 PDF 完整版

      给大家带来的一篇关于OTP开发相关的电子书资源,介绍了关于Erlang、OTP、并发编程、实战方面的内容,本书是由人民邮电出版社出版,格式为PDF,资源大小48.7 MB,Martin Logan,[美]Eric编写,目前豆瓣、亚马逊、当当、京东等电子书综合评分为:7.1。

      内容介绍

      Erlang/OTP并发编程实战 PDF

      Erlang/OTP并发编程实战》偏重于生产环境下的Erlang开发设计,关键解读怎样搭建平稳、版本控制优良、可维护保养的商品级编码,汇集了三位Erlang大師很多年的项目经验。 《Erlang/OTP并发编程实战》关键分成三绝大多数:第一一部分解读Erlang编程及OTP基本;第二一部分解读怎样在实际上开发设计中逐一加上OTP高級特点,进而健全运用,创作者根据围绕这书的主新项目——加快Web浏览的分布式系统缓存文件运用,从入门到精通地表明了实践活动中的各种各样方法;第三一部分探讨如何把编码与其他软件和客户集成化,及其怎样开展特性调优。 《Erlang/OTP并发编程实战》朝向Erlang程序猿,及其对Erlang/OTP很感兴趣的开发者。

      目录

      • 第一部分 Erlang起步:OTP基础
      • 第1章 Erlang/OTP平台 2
      • 1.1 基于进程的并发编程 3
      • 1.1.1 理解并发 3
      • 1.1.2 Erlang的进程模型 4
      • 1.1.3 4种进程通信范式 5
      • 1.1.4 用Erlang进程编程 8
      • 1.2 Erlang的容错架构 10
      • 1.2.1 进程链接如何工作 10
      • 1.2.2 监督与退出信号捕捉 10
      • 1.2.3 进程的分层容错 12
      • 1.3 分布式Erlang 13
      • 1.4 Erlang运行时系统和虚拟机 13
      • 1.4.1 调度器 14
      • 1.4.2 I/O与调度 15
      • 1.4.3 进程隔离与垃圾回收器 15
      • 1.5 函数式编程:Erlang的处世之道 16
      • 1.6 小结 16
      • 第2章 Erlang语言精要 18
      • 2.1 Erlang shell 19
      • 2.1.1 启动shell 19
      • 2.1.2 输入表达式 20
      • 2.1.3 shell函数 21
      • 2.1.4 退出shell 21
      • 2.1.5 任务控制基础 22
      • 2.2 Erlang的数据类型 23
      • 2.2.1 数值与算术运算 24
      • 2.2.2 二进制串与位串 25
      • 2.2.3 原子 26
      • 2.2.4 元组 27
      • 2.2.5 列表 27
      • 2.2.6 字符串 28
      • 2.2.7 pid、端口和引用 29
      • 2.2.8 将函数视作数据:fun函数 30
      • 2.2.9 项式的比较 30
      • 2.2.10 解读列表 31
      • 2.3 模块和函数 33
      • 2.3.1 调用其他模块中的函数(远程调用) 33
      • 2.3.2 不同元数的函数 34
      • 2.3.3 内置函数和标准库模块 34
      • 2.3.4 创建模块 35
      • 2.3.5 模块的编译和加载 36
      • 2.3.6 独立编译器erlc 37
      • 2.3.7 已编译模块与在shell中求值 37
      • 2.4 变量与模式匹配 38
      • 2.4.1 变量的语法 39
      • 2.4.2 单次赋值 39
      • 2.4.3 模式匹配:加强版的赋值 41
      • 2.4.4 解读模式 42
      • 2.5 函数与子句 44
      • 2.5.1 带副作用的函数:文本打印 44
      • 2.5.2 用模式匹配在多个子句中进行选择 45
      • 2.5.3 保护式 46
      • 2.5.4 模式、子句和变量作用域 47
      • 2.6 Case和if表达式 48
      • 2.6.1 Erlang的布尔型if-then-else分支选择 48
      • 2.6.2 If表达式 49
      • 2.7 fun函数 49
      • 2.7.1 作为现有函数别名的fun函数 49
      • 2.7.2 匿名fun函数 50
      • 2.8 异常与try/catch 52
      • 2.8.1 抛出(触发)异常 52
      • 2.8.2 运用try...catch 53
      • 2.8.3 try...of...catch 53
      • 2.8.4 after 54
      • 2.8.5 获取栈轨迹 54
      • 2.8.6 重抛异常 55
      • 2.8.7 传统的catch 55
      • 2.9 列表速构 56
      • 2.9.1 列表速构记法 56
      • 2.9.2 映射、过滤和模式匹配 56
      • 2.10 比特位语法与位串速构 57
      • 2.10.1 构造位串 57
      • 2.10.2 比特位语法中的模式匹配 58
      • 2.10.3 位串速构 59
      • 2.11 记录语法 59
      • 2.11.1 记录声明 60
      • 2.11.2 创建记录 60
      • 2.11.3 记录的字段以及模式匹配 60
      • 2.11.4 更新记录字段 60
      • 2.11.5 记录声明应该放在哪儿 61
      • 2.12 预处理与文件包含 61
      • 2.12.1 宏的定义和使用 61
      • 2.12.2 文件包含 62
      • 2.12.3 条件编译 63
      • 2.13 进程 64
      • 2.13.1 操纵进程 64
      • 2.13.2 消息接收与选择性接收 65
      • 2.13.3 注册进程 66
      • 2.13.4 消息投递与信号 67
      • 2.13.5 进程字典 67
      • 2.14 ETS表 68
      • 2.14.1 为何ETS表被设计成这样 68
      • 2.14.2 ETS表的基本用法 68
      • 2.15 以递归代替循环 69
      • 2.15.1 从迭代到递归 69
      • 2.15.2 理解尾递归 71
      • 2.15.3 累加器参数 72
      • 2.15.4 谈谈效率 72
      • 2.15.5 编写递归函数的窍门 73
      • 2.16 Erlang编程资源 78
      • 2.16.1 图书 78
      • 2.16.2 在线资料 79
      • 2.17 小结 79
      • 第3章 开发基于TCP的RPC服务 80
      • 3.1 你所创建的是什么 81
      • 3.1.1 基础知识提醒 82
      • 3.1.2 行为模式基础 82
      • 3.2 实现RPC服务器 85
      • 3.2.1 行为模式实现模块的典型布局 85
      • 3.2.2 模块首部 85
      • 3.2.3 API段 88
      • 3.2.4 回调函数段 92
      • 3.3 运行RPC服务器 98
      • 3.4 浅谈测试 99
      • 3.5 小结 100
      • 第4章 OTP应用与监督机制 101
      • 4.1 OTP应用 101
      • 4.1.1 OTP应用的组织形式 102
      • 4.1.2 为应用添加元数据 103
      • 4.1.3 应用行为模式 104
      • 4.1.4 应用结构小结 105
      • 4.2 用监督者实现容错 105
      • 4.2.1 实现监督者 106
      • 4.2.2 监督者重启策略 107
      • 4.2.3 编写子进程规范 108
      • 4.3 启动应用 109
      • 4.4 生成EDoc文档 110
      • 4.5 小结 110
      • 第5章 主要图形化监测工具的使用 112
      • 5.1 Appmon 112
      • 5.1.1 Appmon GUI 112
      • 5.1.2 WebTool版Appmon 115
      • 5.2 Pman 116
      • 5.3 调试器 118
      • 5.4 表查看器TV 121
      • 5.5 工具栏 123
      • 5.6 小结 123
      • 第二部分 构建生产系统
      • 第6章 打造一套缓存系统 126
      • 6.1 故事背景 126
      • 6.2 缓存的设计 127
      • 6.3 创建OTP应用的基本骨架 130
      • 6.3.1 应用目录结构的布局 130
      • 6.3.2 创建应用元数据 130
      • 6.3.3 实现应用行为模式 131
      • 6.3.4 实现监督者 131
      • 6.4 从应用骨架到五脏俱全的缓存 133
      • 6.4.1 编写sc_element进程 134
      • 6.4.2 实现sc_store模块 138
      • 6.4.3 打造应用层API模块 142
      • 6.5 小结 144
      • 第7章 Erlang/OTP中的日志与事件处理 145
      • 7.1 Erlang/OTP中的日志 146
      • 7.1.1 日志概述 146
      • 7.1.2 Erlang/OTP内置的日志设施 147
      • 7.1.3 标准日志函数 147
      • 7.1.4 SASL与崩溃报告 149
      • 7.2 用gen_event编写自定义事件处理器 153
      • 7.2.1 gen_event行为模式简介 153
      • 7.2.2 事件处理器示例 154
      • 7.2.3 处理错误事件 155
      • 7.3 为Simple Cache添加自定义事件流 157
      • 7.3.1 事件流API 157
      • 7.3.2 将处理器整合进Simple Cache 159
      • 7.3.3 订阅自定义事件流 161
      • 7.4 小结 162
      • 第8章 分布式Erlang/OTP简介 163
      • 8.1 Erlang分布式基础 163
      • 8.1.1 复制式进程间通信 164
      • 8.1.2 位置透明性 165
      • 8.2 节点与集群 166
      • 8.2.1 节点的启动 166
      • 8.2.2 节点的互联 167
      • 8.2.3 Erlang节点如何定位其他节点并与之建立通信 169
      • 8.2.4 magic cookie安全系统 170
      • 8.2.5 互联节点间的消息传递 171
      • 8.2.6 使用远程shell 173
      • 8.3 资源探测攻略 175
      • 8.3.1 术语 175
      • 8.3.2 算法 176
      • 8.3.3 实现资源探测应用 177
      • 8.4 小结 182
      • 第9章 用Mnesia为cache增加分布式支持 183
      • 9.1 分布式缓存 184
      • 9.1.1 选取通信策略 184
      • 9.1.2 同步缓存和异步缓存 186
      • 9.1.3 分布式表 188
      • 9.2 用Mnesia实现分布式数据存储 189
      • 9.2.1 建立项目数据库 189
      • 9.2.2 初始化数据库 191
      • 9.2.3 建表 192
      • 9.2.4 向表中录入数据 195
      • 9.2.5 执行基本查询 197
      • 9.3 基于Mnesia的分布式缓存 199
      • 9.3.1 用Mnesia取代ETS 199
      • 9.3.2 让缓存识别出其他节点 202
      • 9.3.3 用资源探测定位其他缓存实例 205
      • 9.3.4 动态复制Mnesia表 206
      • 9.4 小结 209
      • 第10章 打包、服务和部署 210
      • 10.1 从系统的角度看应用 210
      • 10.1.1 结构 211
      • 10.1.2 元数据 211
      • 10.1.3 系统如何管理运行中的应用 212
      • 10.2 制作发布镜像 213
      • 10.2.1 发布镜像 213
      • 10.2.2 准备发布代码 214
      • 10.2.3 发布镜像的元数据文件 214
      • 10.2.4 脚本与启动文件 216
      • 10.2.5 系统配置 217
      • 10.2.6 启动目标系统 218
      • 10.3 发布镜像打包 219
      • 10.3.1 创建发布镜像包 219
      • 10.3.2 发布镜像包的内容 220
      • 10.3.3 定制发布镜像包 222
      • 10.4 安装发布镜像 223
      • 10.5 小结 223
      • 第三部分 集成与完善
      • 第11章 为缓存添加HTTP接口 226
      • 11.1 实现TCP服务器 226
      • 11.1.1 高效TCP服务器的设计模式 227
      • 11.1.2 搭建tcp_interface应用的骨架 228
      • 11.1.3 填充TCP服务器的实现逻辑 228
      • 11.1.4 简单文本协议 231
      • 11.1.5 文本接口实现 232
      • 11.2 打造一套全新的Web接口 234
      • 11.2.1 HTTP简介 234
      • 11.2.2 实现一套通用的Web服务器行为模式 237
      • 11.2.3 初识REST 248
      • 11.2.4 用gen_web_server实现REST式协议 249
      • 11.3 小结 252
      • 第12章 用端口和NIF集成外围代码 253
      • 12.1 端口和NIF 254
      • 12.1.1 普通端口 255
      • 12.1.2 链入式端口驱动 256
      • 12.1.3 原生函数(NIF) 257
      • 12.2 用端口来集成解析器 257
      • 12.2.1 Erlang方面的端口 257
      • 12.2.2 C方面的端口 260
      • 12.2.3 编译运行 271
      • 12.3 开发链入式驱动 272
      • 12.3.1 初识链入式驱动 273
      • 12.3.2 驱动的C语言部分 274
      • 12.3.3 编译驱动代码 278
      • 12.3.4 驱动的Erlang部分 279
      • 12.4 将解析器实现为NIF 280
      • 12.4.1 NIF的Erlang部分 280
      • 12.4.2 NIF的C代码部分 281
      • 12.4.3 编译与运行代码 287
      • 12.5 小结 288
      • 第13章 用Jinterface实现Erlang和Java间的通信 289
      • 13.1 利用Jinterface在Erlang中集成Java 290
      • 13.1.1 OtpNode类 290
      • 13.1.2 OtpMbox类 291
      • 13.1.3 Erlang数据结构的Java映射 291
      • 13.1.4 示例:Java中的消息处理 292
      • 13.1.5 在Erlang中与Java节点通信 294
      • 13.2 安装和配置HBase 296
      • 13.2.1 下载和安装 296
      • 13.2.2 配置HBase 296
      • 13.3 为Simple Cache和HBase牵线搭桥 297
      • 13.3.1 Erlang方面:sc_hbase.erl 298
      • 13.3.2 HBaseConnector类 299
      • 13.3.3 Java中的消息处理 301
      • 13.3.4 HBaseTask类 304
      • 13.4 在Simple Cache中整合HBase 306
      • 13.4.1 查询 306
      • 13.4.2 插入 307
      • 13.4.3 删除 307
      • 13.5 运行集成系统 308
      • 13.6 小结 310
      • 第14章 优化与性能 311
      • 14.1 如何进行性能调优 312
      • 14.1.1 设定性能目标 312
      • 14.1.2 设定基线 313
      • 14.1.3 系统性能分析 313
      • 14.1.4 确定需要解决的问题 313
      • 14.1.5 测定优化成果 313
      • 14.2 Erlang代码性能分析 314
      • 14.2.1 用cprof计算调用次数 314
      • 14.2.2 用fprof测定执行时间 316
      • 14.3 Erlang编程语言的缺陷 320
      • 14.3.1 基本数据类型的性能特点 321
      • 14.3.2 内置函数和运算符的性能 324
      • 14.3.3 函数 325
      • 14.3.4 进程 327
      • 14.4 小结 329
      • 附录A 安装Erlang 330
      • 附录B 列表与引用透明性 332

      学习笔记

      Java多线程编程实战之模拟大量数据同步

      背景 最近对于 Java 多线程做了一段时间的学习,笔者一直认为,学习东西就是要应用到实际的业务需求中的。否则要么无法深入理解,要么硬生生地套用技术只是达到炫技的效果。 不过笔者仍旧认为自己对于多线程掌握不够熟练,不敢轻易应用到生产代码中。这就按照平时工作中遇到的实际问题,脑补了一个很可能存在的业务场景: 已知某公司管理着 1000 个微信服务号,每个服务号有 1w ~ 50w 粉丝不等。假设该公司每天都需要将所有微信服务号的粉丝数据通过调用微信 API 的方式更新到本地数据库。 需求分析 对此需求进行分析,主要存在以下问题: 单个服务号获取粉丝 id,只能每次 1w 按顺序拉取 微……

      java图形界面编程的代码详解

      关于Java图形化界面设计,基础知识网上可搜,下面简单介绍一下重点概念,然后就由浅入深代码实例。 程序是为了方便用户使用的,Java引入图形化界面编程。 1.JFrame 是容器类 2.AWT 是抽象窗口组件工具包,是 Java 最早的用于编写图形节目应用程序的开发包。 3.Swing 是为了解决 AWT 存在的问题而新开发的包,它以 AWT 为基础的。 代码实例1: package com.zhouzhou;//练习网格布局import java.awt.*;import javax.swing.*;public class Demo9 extends JFrame { // 定义组件 int size = 9; JButton jbs[] = new JButton[size]; public static void main(String[] args) { // 创建实例 Demo9 de = new Demo9(); } // 构造函数 public Demo9() { // 创建组件 for (int i = 0; i size; i++) { jbs[i]……

      Python编程实战之Oracle数据库操作示例

      本文实例讲述了Python编程实战之Oracle数据库操作。分享给大家供大家参考,具体如下: 1. 要想使Python可以操作Oracle数据库,首先需要安装cx_Oracle包,可以通过下面的地址来获取安装包 http://cx-oracle.sourceforge.net/ 2. 另外还需要oracle的一些类库,此时需要在运行python的机器上安装Oracle Instant Client软件包,可以通过下面地址获得 http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html 找到符合自己平台的包,然后安装,这里我使用的是rpm包,所以使用以下命令安装 $ sudo rpm -ivh oracle-instantclient11.2-basic-11.2.0.3.0-1.i386.rpm 装完毕后还需要设置一下环境变量,如下 $ export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/lib/or……

      以上就是本次介绍的OTP开发电子书的全部相关内容,希望我们整理的资源能够帮助到大家,感谢大家对码农之家的支持。

      上一篇:R语言实战

      下一篇:Hadoop大数据实战权威指南

      展开 +

      收起 -

      • 《Erlang/OTP并发编程实战》PDF下载

      OTP开发相关电子书
      iOS编程实战宝典
      iOS编程实战宝典 高清版

      开发宝典丛书 是由清华大学出版社为软件开发爱好者精心打造的一套软件开发百科全书。丛书强调全面、新颖、详细、实用、深入、高效等特色,涵盖常见的编程语言和技术。丛书中的每本书

      立即下载
      Android编程实战
      Android编程实战 高清版

      你是否从事Android操作系统开发,会创建简单的Android应用,但想进一步提升自己的开发技巧?你是否想深入挖掘Android操作系统的特性与功能,挑战现有开发水准?你是否正在想方设法创建高级

      立即下载
      树莓派Python编程入门与实战
      树莓派Python编程入门与实战 高质量扫描第2版

      《树莓派Python编程入门与实战》经典系列 直观 循序渐进的树莓派Python编程学习教程 强调实践教学 以示例引导读者完成常见的任务。

      立即下载
      机器人Python极客编程入门与实战
      机器人Python极客编程入门与实战 完整目录版 立即下载
      ASP.NET SignalR编程实战
      ASP.NET SignalR编程实战 高清版

      使用SignalR更简便地开发实时多用户应用程序一本SignalR权威指南!SignalR是一个灵活框架,可简化服务器和客户端之间的实时、异步通信的开发工作。ASP.NET SignalR编程实战 面向熟悉HTML和JavaScri

      立即下载
      Visual C++编程实战宝典
      Visual C++编程实战宝典 高清版

      开发宝典丛书是由清华大学出版社为软件开发爱好者精心打造的一套软件开发百科全书。丛书强调全面、新颖、详细、实用、深入、高效等特色,涵盖常见的编程语言和技术。丛书中的每本书

      立即下载
      R并行编程实战
      R并行编程实战 影印版

      本书是一本构建大规模高效算法的综合性实用书籍,介绍各种并行技术,从R语言的并行版本lapply()的简单应用到基于Hadoop和ApacheSpark框架的高级AWS云,感兴趣的可以下载学习

      立即下载
      Java多线程编程实战指南:核心篇
      Java多线程编程实战指南:核心篇 超清影印版

      Java多线程编程实战指南以基本概念、原理与方法为主线,辅以丰富的实战案例和生活化实例,从Java虚拟机、操作系统和硬件多个层次与角度出发,循序渐进介绍Java平台下的多线程编程核心技术及相关工具

      立即下载
      读者留言
      jefurry

      jefurry 提供上传

      资源
      22
      粉丝
      26
      喜欢
      160
      评论
      9

      Copyright 2018-2020 xz577.com 码农之家

      本站所有电子书资源不再提供下载地址,只分享来路

      版权投诉 / 书籍推广 / 赞助:QQ:520161757