• Erlang/OTP并发编程实战
图书条目标准图
21年品牌 40万+商家 超1.5亿件商品

Erlang/OTP并发编程实战

17.74 2.2折 79 九品

仅1件

北京东城
认证卖家担保交易快速发货售后保障

作者[美]Martin Logan 著;连城 译

出版社人民邮电出版社

出版时间2012-08

版次1

装帧平装

货号A1

上书时间2024-12-19

图书-天下的书店

已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:九品
图书标准信息
  • 作者 [美]Martin Logan 著;连城 译
  • 出版社 人民邮电出版社
  • 出版时间 2012-08
  • 版次 1
  • ISBN 9787115285591
  • 定价 79.00元
  • 装帧 平装
  • 开本 16开
  • 纸张 胶版纸
  • 页数 333页
  • 字数 526千字
  • 原版书名 Erlang and OTP in Action
  • 丛书 图灵程序设计丛书
【内容简介】
《Erlang/OTP并发编程实战》侧重生产环境下的Erlang开发,主要讲解如何构建稳定、版本控制良好、可维护的产品级代码,凝聚了三位Erlang大师多年的实战经验。

《Erlang/OTP并发编程实战》主要分为三大部分:第一部分讲解Erlang编程及OTP基础;第二部分讲解如何在实际开发中逐一添加OTP高级特性,从而完善应用,作者通过贯穿本书的主项目——加速Web访问的分布式缓存应用,深入浅出地阐明了实践中的各种技巧;第三部分讨论如何将代码与其他系统和用户集成,以及如何进行性能调优。

《Erlang/OTP并发编程实战》面向Erlang程序员,以及对Erlang/OTP感兴趣的开发人员。
【作者简介】
 Martin Logan, 从1999年开始活跃于Erlang社区,后来全职从事Erlang研发。目前任职于全球最大的在线旅游公司Orbitz Worldwide,为基于大规模分布式服务的基础设施开发解决方案。Erlware联合创始人,核心开发人员,Erlang/OTP软件包管理系统Faxien的主要开发者。

 Eric Merritt,专注并发编程和分布式系统。曾任职于Amazon。com,现为eCD Market软件工程师。Erlware联合创始人,Erlang芝加哥用户组核心成员。Erlware团队开源产品核心开发人员,Erlang/OTP构建系统Sinan的主要开发者。

 Richard Carlsson,瑞典乌普萨拉大学高性能Erlang计划(HiPE)早期成员,研究Erlang技术达17年,曾为标准库、Erlang编译器、运行时系统和Erlang语言本身都作出过不少贡献。此外,他还是Erlang文档系统EDoc和单元测试框架EUnit的创建者。目前加入了Kreditor,致力于高可用性支付系统的Erlang开发。

 连城,百度资深软件工程师,《Erlang并发编程(第一部分)》社区翻译项目组织者及主要译者。对分布式存储、分布式消息系统、程序语言设计实现抱有浓厚兴趣。
【目录】
第一部分Erlang起步:OTP基础

第1章Erlang/OTP平台

1.1基于进程的并发编程

1.1.1理解并发

1.1.2Erlang的进程模型

1.1.34种进程通信范式

1.1.4用Erlang进程编程

1.2Erlang的容错架构

1.2.1进程链接如何工作

1.2.2监督与退出信号捕捉

1.2.3进程的分层容错

1.3分布式Erlang

1.4Erlang运行时系统和虚拟机

1.4.1调度器

1.4.2I/O与调度

1.4.3进程隔离与垃圾回收器

1.5函数式编程:Erlang的处世之道

1.6小结

第2章Erlang语言精要

2.1Erlangshell

2.1.1启动shell

2.1.2输入表达式

2.1.3shell函数

2.1.4退出shell

2.1.5任务控制基础

2.2Erlang的数据类型

2.2.1数值与算术运算

2.2.2二进制串与位串

2.2.3原子

2.2.4元组

2.2.5列表

2.2.6字符串

2.2.7pid、端口和引用

2.2.8将函数视作数据:fun函数

2.2.9项式的比较

2.2.10解读列表

2.3模块和函数

2.3.1调用其他模块中的函数(远程调用)

2.3.2不同元数的函数

2.3.3内置函数和标准库模块

2.3.4创建模块

2.3.5模块的编译和加载

2.3.6独立编译器erlc

2.3.7已编译模块与在shell中求值

2.4变量与模式匹配

2.4.1变量的语法

2.4.2单次赋值

2.4.3模式匹配:加强版的赋值

2.4.4解读模式

2.5函数与子句

2.5.1带副作用的函数:文本打印

2.5.2用模式匹配在多个子句中进行选择

2.5.3保护式

2.5.4模式、子句和变量作用域

2.6Case和if表达式

2.6.1Erlang的布尔型if-then-else分支选择

2.6.2If表达式

2.7fun函数

2.7.1作为现有函数别名的fun函数

2.7.2匿名fun函数

2.8异常与try/catch

2.8.1抛出(触发)异常

2.8.2运用try...catch

2.8.3try...of...catch

2.8.4after

2.8.5获取栈轨迹

2.8.6重抛异常

2.8.7传统的catch

2.9列表速构

2.9.1列表速构记法

2.9.2映射、过滤和模式匹配

2.10比特位语法与位串速构

2.10.1构造位串

2.10.2比特位语法中的模式匹配

2.10.3位串速构

2.11记录语法

2.11.1记录声明

2.11.2创建记录

2.11.3记录的字段以及模式匹配

2.11.4更新记录字段

2.11.5记录声明应该放在哪儿

2.12预处理与文件包含

2.12.1宏的定义和使用

2.12.2文件包含

2.12.3条件编译

2.13进程

2.13.1操纵进程

2.13.2消息接收与选择性接收

2.13.3注册进程

2.13.4消息投递与信号

2.13.5进程字典

2.14ETS表

2.14.1为何ETS表被设计成这样

2.14.2ETS表的基本用法

2.15以递归代替循环

2.15.1从迭代到递归

2.15.2理解尾递归

2.15.3累加器参数

2.15.4谈谈效率

2.15.5编写递归函数的窍门

2.16Erlang编程资源

2.16.1图书

2.16.2在线资料

2.17小结

第3章开发基于TCP的RPC服务

3.1你所创建的是什么

3.1.1基础知识提醒

3.1.2行为模式基础

3.2实现RPC服务器

3.2.1行为模式实现模块的典型布局

3.2.2模块首部

3.2.3API段

3.2.4回调函数段

3.3运行RPC服务器

3.4浅谈测试

3.5小结

第4章OTP应用与监督机制

4.1OTP应用

4.1.1OTP应用的组织形式

4.1.2为应用添加元数据

4.1.3应用行为模式

4.1.4应用结构小结

4.2用监督者实现容错

4.2.1实现监督者

4.2.2监督者重启策略

4.2.3编写子进程规范

4.3启动应用

4.4生成EDoc文档

4.5小结

第5章主要图形化监测工具的使用

5.1Appmon

5.1.1AppmonGUI

5.1.2WebTool版Appmon

5.2Pman

5.3调试器

5.4表查看器TV

5.5工具栏

5.6小结

第二部分构建生产系统

第6章打造一套缓存系统

6.1故事背景

6.2缓存的设计

6.3创建OTP应用的基本骨架

6.3.1应用目录结构的布局

6.3.2创建应用元数据

6.3.3实现应用行为模式

6.3.4实现监督者

6.4从应用骨架到五脏俱全的缓存

6.4.1编写sc_element进程

6.4.2实现sc_store模块

6.4.3打造应用层API模块

6.5小结

第7章Erlang/OTP中的日志与事件处理

7.1Erlang/OTP中的日志

7.1.1日志概述

7.1.2Erlang/OTP内置的日志设施

7.1.3标准日志函数

7.1.4SASL与崩溃报告

7.2用gen_event编写自定义事件处理器

7.2.1gen_event行为模式简介

7.2.2事件处理器示例

7.2.3处理错误事件

7.3为SimpleCache添加自定义事件流

7.3.1事件流API

7.3.2将处理器整合进SimpleCache

7.3.3订阅自定义事件流

7.4小结

第8章分布式Erlang/OTP简介

8.1Erlang分布式基础

8.1.1复制式进程间通信

8.1.2位置透明性

8.2节点与集群

8.2.1节点的启动

8.2.2节点的互联

8.2.3Erlang节点如何定位其他节点并与之建立通信

8.2.4magiccookie安全系统

8.2.5互联节点间的消息传递

8.2.6使用远程shell

8.3资源探测攻略

8.3.1术语

8.3.2算法

8.3.3实现资源探测应用

8.4小结

第9章用Mnesia为cache增加分布式支持

9.1分布式缓存

9.1.1选取通信策略

9.1.2同步缓存和异步缓存

9.1.3分布式表

9.2用Mnesia实现分布式数据存储

9.2.1建立项目数据库

9.2.2初始化数据库

9.2.3建表

9.2.4向表中录入数据

9.2.5执行基本查询

9.3基于Mnesia的分布式缓存

9.3.1用Mnesia取代ETS

9.3.2让缓存识别出其他节点

9.3.3用资源探测定位其他缓存实例

9.3.4动态复制Mnesia表

9.4小结

第10章打包、服务和部署

10.1从系统的角度看应用

10.1.1结构

10.1.2元数据

10.1.3系统如何管理运行中的应用

10.2制作发布镜像

10.2.1发布镜像

10.2.2准备发布代码

10.2.3发布镜像的元数据文件

10.2.4脚本与启动文件

10.2.5系统配置

10.2.6启动目标系统

10.3发布镜像打包

10.3.1创建发布镜像包

10.3.2发布镜像包的内容

10.3.3定制发布镜像包

10.4安装发布镜像

10.5小结

第三部分集成与完善

第11章为缓存添加HTTP接口

11.1实现TCP服务器

11.1.1高效TCP服务器的设计模式

11.1.2搭建tcp_interface应用的骨架

11.1.3填充TCP服务器的实现逻辑

11.1.4简单文本协议

11.1.5文本接口实现

11.2打造一套全新的Web接口

11.2.1HTTP简介

11.2.2实现一套通用的Web服务器行为模式

11.2.3初识REST

11.2.4用gen_web_server实现REST式协议

11.3小结

第12章用端口和NIF集成外围代码

12.1端口和NIF

12.1.1普通端口

12.1.2链入式端口驱动

12.1.3原生函数(NIF)

12.2用端口来集成解析器

12.2.1Erlang方面的端口

12.2.2C方面的端口

12.2.3编译运行

12.3开发链入式驱动

12.3.1初识链入式驱动

12.3.2驱动的C语言部分

12.3.3编译驱动代码

12.3.4驱动的Erlang部分

12.4将解析器实现为NIF

12.4.1NIF的Erlang部分

12.4.2NIF的C代码部分

12.4.3编译与运行代码

12.5小结

第13章用Jinterface实现Erlang和Java间的通信

13.1利用Jinterface在Erlang中集成Java

13.1.1OtpNode类

13.1.2OtpMbox类

13.1.3Erlang数据结构的Java映射

13.1.4示例:Java中的消息处理

13.1.5在Erlang中与Java节点通信

13.2安装和配置HBase

13.2.1下载和安装

13.2.2配置HBase

13.3为SimpleCache和HBase牵线搭桥

13.3.1Erlang方面:sc_hbase.erl

13.3.2HBaseConnector类

13.3.3Java中的消息处理

13.3.4HBaseTask类

13.4在SimpleCache中整合HBase

13.4.1查询

13.4.2插入

13.4.3删除

13.5运行集成系统

13.6小结

第14章优化与性能

14.1如何进行性能调优

14.1.1设定性能目标

14.1.2设定基线

14.1.3系统性能分析

14.1.4确定需要解决的问题

14.1.5测定优化成果

14.2Erlang代码性能分析

14.2.1用cprof计算调用次数

14.2.2用fprof测定执行时间

14.3Erlang编程语言的缺陷

14.3.1基本数据类型的性能特点

14.3.2内置函数和运算符的性能

14.3.3函数

14.3.4进程

14.4小结

附录A安装Erlang

附录B列表与引用透明性
点击展开 点击收起

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP