日韩精品 中文字幕 动漫,91亚洲午夜一区,在线不卡日本v一区v二区丶,久久九九国产精品自在现拍

注冊(cè) | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計(jì)其他編程語言/工具Erlang/OTP并發(fā)編程實(shí)戰(zhàn)

Erlang/OTP并發(fā)編程實(shí)戰(zhàn)

Erlang/OTP并發(fā)編程實(shí)戰(zhàn)

定 價(jià):¥79.00

作 者: (美) 洛根 (Logan,M.), (美) 梅里特 (Merritt,E.), (瑞典) 卡爾森(Carlsson,R.) 著
出版社: 人民郵電出版社
叢編項(xiàng):
標(biāo) 簽: 程序設(shè)計(jì)

ISBN: 9787115285591 出版時(shí)間: 2012-07-01 包裝: 平裝
開本: 16開 頁數(shù): 333 字?jǐn)?shù):  

內(nèi)容簡介

  通過提高CPU時(shí)鐘頻率來制造更快的單核芯片的技術(shù)已經(jīng)到達(dá)了極限。多核、并發(fā)、分布式等概念和技術(shù)也隨之走出象牙塔,成為每個(gè)一線開發(fā)者的必備技能。由通信巨頭愛立信研發(fā)的Erlang/OTP大放異彩,二十多年來,在傳統(tǒng)電信領(lǐng)域高并發(fā)、高可靠、高容錯(cuò)的嚴(yán)酷環(huán)境下,Erlang語言和OTP平臺(tái)被鍛煉得堅(jiān)如磐石,濃郁的函數(shù)式特質(zhì)更是恰到好處地彌補(bǔ)了傳統(tǒng)命令式語言在并發(fā)編程上的固有缺陷,大大降低了構(gòu)筑并發(fā)、容錯(cuò)、分布式應(yīng)用的門檻。如果將Erlang語言看成才華橫溢的鋼琴家,那么OTP平臺(tái)就是一架能讓鋼琴家把才能發(fā)揮得淋漓盡致的鋼琴。本書除了全面介紹Erlang語言和OTP平臺(tái)的基礎(chǔ)知識(shí)外,還通過一系列實(shí)用案例引領(lǐng)你深入了解OTP的高級(jí)特性,一步步構(gòu)建一個(gè)大型生產(chǎn)系統(tǒng),并加以優(yōu)化和完善。三位作者在Erlang領(lǐng)域擁有極其豐富的實(shí)戰(zhàn)經(jīng)驗(yàn),細(xì)致入微地剖析了OTP開發(fā)與部署的全過程。要想真刀真槍地上戰(zhàn)場,本書才是你明智的選擇!

作者簡介

  Martin Logan, 從1999年開始活躍于Erlang社區(qū),后來全職從事Erlang研發(fā)。目前任職于全球最大的在線旅游公司Orbitz Worldwide,為基于大規(guī)模分布式服務(wù)的基礎(chǔ)設(shè)施開發(fā)解決方案。Erlware聯(lián)合創(chuàng)始人,核心開發(fā)人員,Erlang/OTP軟件包管理系統(tǒng)Faxien的主要開發(fā)者。 Eric Merritt,專注并發(fā)編程和分布式系統(tǒng)。曾任職于Amazon。com,現(xiàn)為eCD Market軟件工程師。Erlware聯(lián)合創(chuàng)始人,Erlang芝加哥用戶組核心成員。Erlware團(tuán)隊(duì)開源產(chǎn)品核心開發(fā)人員,Erlang/OTP構(gòu)建系統(tǒng)Sinan的主要開發(fā)者。 Richard Carlsson,瑞典烏普薩拉大學(xué)高性能Erlang計(jì)劃(HiPE)早期成員,研究Erlang技術(shù)達(dá)17年,曾為標(biāo)準(zhǔn)庫、Erlang編譯器、運(yùn)行時(shí)系統(tǒng)和Erlang語言本身都作出過不少貢獻(xiàn)。此外,他還是Erlang文檔系統(tǒng)EDoc和單元測試框架EUnit的創(chuàng)建者。目前加入了Kreditor,致力于高可用性支付系統(tǒng)的Erlang開發(fā)。 連城,百度資深軟件工程師,《Erlang并發(fā)編程(第一部分)》社區(qū)翻譯項(xiàng)目組織者及主要譯者。對(duì)分布式存儲(chǔ)、分布式消息系統(tǒng)、程序語言設(shè)計(jì)實(shí)現(xiàn)抱有濃厚興趣。

圖書目錄

 
第一部分  Erlang起步:OTP基礎(chǔ)
第1章  Erlang/OTP平臺(tái)  2
1.1  基于進(jìn)程的并發(fā)編程  3
1.1.1  理解并發(fā)  3
1.1.2  Erlang的進(jìn)程模型  4
1.1.3  4種進(jìn)程通信范式  5
1.1.4  用Erlang進(jìn)程編程  8
1.2  Erlang的容錯(cuò)架構(gòu)  10
1.2.1  進(jìn)程鏈接如何工作  10
1.2.2  監(jiān)督與退出信號(hào)捕捉  10
1.2.3  進(jìn)程的分層容錯(cuò)  12
1.3  分布式Erlang  13
1.4  Erlang運(yùn)行時(shí)系統(tǒng)和虛擬機(jī)  13
1.4.1  調(diào)度器  14
1.4.2  I/O與調(diào)度  15
1.4.3  進(jìn)程隔離與垃圾回收器  15
1.5  函數(shù)式編程:Erlang的處世之道  16
1.6  小結(jié)  16
第2章  Erlang語言精要  18
2.1  Erlang shell  19
2.1.1  啟動(dòng)shell  19
2.1.2  輸入表達(dá)式  20
2.1.3  shell函數(shù)  21
2.1.4  退出shell  21
2.1.5  任務(wù)控制基礎(chǔ)  22
2.2  Erlang的數(shù)據(jù)類型  23
2.2.1  數(shù)值與算術(shù)運(yùn)算  24
2.2.2  二進(jìn)制串與位串  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  將函數(shù)視作數(shù)據(jù):fun函數(shù)  30
2.2.9  項(xiàng)式的比較  30
2.2.10  解讀列表  31
2.3  模塊和函數(shù)  33
2.3.1  調(diào)用其他模塊中的函數(shù)(遠(yuǎn)程調(diào)用)  33
2.3.2  不同元數(shù)的函數(shù)  34
2.3.3  內(nèi)置函數(shù)和標(biāo)準(zhǔn)庫模塊  34
2.3.4  創(chuàng)建模塊  35
2.3.5  模塊的編譯和加載  36
2.3.6  獨(dú)立編譯器erlc  37
2.3.7  已編譯模塊與在shell中求值  37
2.4  變量與模式匹配  38
2.4.1  變量的語法  39
2.4.2  單次賦值  39
2.4.3  模式匹配:加強(qiáng)版的賦值  41
2.4.4  解讀模式  42
2.5  函數(shù)與子句  44
2.5.1  帶副作用的函數(shù):文本打印  44
2.5.2  用模式匹配在多個(gè)子句中進(jìn)行選擇  45
2.5.3  保護(hù)式  46
2.5.4  模式、子句和變量作用域  47
2.6  Case和if表達(dá)式  48
2.6.1  Erlang的布爾型if-then-else分支選擇  48
2.6.2  If表達(dá)式  49
2.7  fun函數(shù)  49
2.7.1  作為現(xiàn)有函數(shù)別名的fun函數(shù)  49
2.7.2  匿名fun函數(shù)  50
2.8  異常與try/catch  52
2.8.1  拋出(觸發(fā))異?! ?2
2.8.2  運(yùn)用try...catch  53
2.8.3  try...of...catch  53
2.8.4  after  54
2.8.5  獲取棧軌跡  54
2.8.6  重拋異?! ?5
2.8.7  傳統(tǒng)的catch  55
2.9  列表速構(gòu)  56
2.9.1  列表速構(gòu)記法  56
2.9.2  映射、過濾和模式匹配  56
2.10  比特位語法與位串速構(gòu)  57
2.10.1  構(gòu)造位串  57
2.10.2  比特位語法中的模式匹配  58
2.10.3  位串速構(gòu)  59
2.11  記錄語法  59
2.11.1  記錄聲明  60
2.11.2  創(chuàng)建記錄  60
2.11.3  記錄的字段以及模式匹配  60
2.11.4  更新記錄字段  60
2.11.5  記錄聲明應(yīng)該放在哪兒  61
2.12  預(yù)處理與文件包含  61
2.12.1  宏的定義和使用  61
2.12.2  文件包含  62
2.12.3  條件編譯  63
2.13  進(jìn)程  64
2.13.1  操縱進(jìn)程  64
2.13.2  消息接收與選擇性接收  65
2.13.3  注冊(cè)進(jìn)程  66
2.13.4  消息投遞與信號(hào)  67
2.13.5  進(jìn)程字典  67
2.14  ETS表  68
2.14.1  為何ETS表被設(shè)計(jì)成這樣  68
2.14.2  ETS表的基本用法  68
2.15  以遞歸代替循環(huán)  69
2.15.1  從迭代到遞歸  69
2.15.2  理解尾遞歸  71
2.15.3  累加器參數(shù)  72
2.15.4  談?wù)勑省 ?2
2.15.5  編寫遞歸函數(shù)的竅門  73
2.16  Erlang編程資源  78
2.16.1  圖書  78
2.16.2  在線資料  79
2.17  小結(jié)  79
第3章  開發(fā)基于TCP的RPC服務(wù)  80
3.1  你所創(chuàng)建的是什么  81
3.1.1  基礎(chǔ)知識(shí)提醒  82
3.1.2  行為模式基礎(chǔ)  82
3.2  實(shí)現(xiàn)RPC服務(wù)器  85
3.2.1  行為模式實(shí)現(xiàn)模塊的典型布局  85
3.2.2  模塊首部  85
3.2.3  API段  88
3.2.4  回調(diào)函數(shù)段  92
3.3  運(yùn)行RPC服務(wù)器  98
3.4  淺談測試  99
3.5  小結(jié)  100
第4章  OTP應(yīng)用與監(jiān)督機(jī)制  101
4.1  OTP應(yīng)用  101
4.1.1  OTP應(yīng)用的組織形式  102
4.1.2  為應(yīng)用添加元數(shù)據(jù)  103
4.1.3  應(yīng)用行為模式  104
4.1.4  應(yīng)用結(jié)構(gòu)小結(jié)  105
4.2  用監(jiān)督者實(shí)現(xiàn)容錯(cuò)  105
4.2.1  實(shí)現(xiàn)監(jiān)督者  106
4.2.2  監(jiān)督者重啟策略  107
4.2.3  編寫子進(jìn)程規(guī)范  108
4.3  啟動(dòng)應(yīng)用  109
4.4  生成EDoc文檔  110
4.5  小結(jié)  110
第5章  主要圖形化監(jiān)測工具的使用  112
5.1  Appmon  112
5.1.1  Appmon GUI  112
5.1.2  WebTool版Appmon  115
5.2  Pman  116
5.3  調(diào)試器  118
5.4  表查看器TV  121
5.5  工具欄  123
5.6  小結(jié)  123
第二部分  構(gòu)建生產(chǎn)系統(tǒng)
第6章  打造一套緩存系統(tǒng)  126
6.1  故事背景  126
6.2  緩存的設(shè)計(jì)  127
6.3  創(chuàng)建OTP應(yīng)用的基本骨架  130
6.3.1  應(yīng)用目錄結(jié)構(gòu)的布局  130
6.3.2  創(chuàng)建應(yīng)用元數(shù)據(jù)  130
6.3.3  實(shí)現(xiàn)應(yīng)用行為模式  131
6.3.4  實(shí)現(xiàn)監(jiān)督者  131
6.4  從應(yīng)用骨架到五臟俱全的緩存  133
6.4.1  編寫sc_element進(jìn)程  134
6.4.2  實(shí)現(xiàn)sc_store模塊  138
6.4.3  打造應(yīng)用層API模塊  142
6.5  小結(jié)  144
第7章  Erlang/OTP中的日志與事件處理  145
7.1  Erlang/OTP中的日志  146
7.1.1  日志概述  146
7.1.2  Erlang/OTP內(nèi)置的日志設(shè)施  147
7.1.3  標(biāo)準(zhǔn)日志函數(shù)  147
7.1.4  SASL與崩潰報(bào)告  149
7.2  用gen_event編寫自定義事件處理器  153
7.2.1  gen_event行為模式簡介  153
7.2.2  事件處理器示例  154
7.2.3  處理錯(cuò)誤事件  155
7.3  為Simple Cache添加自定義事件流  157
7.3.1  事件流API  157
7.3.2  將處理器整合進(jìn)Simple Cache  159
7.3.3  訂閱自定義事件流  161
7.4  小結(jié)  162
第8章  分布式Erlang/OTP簡介  163
8.1  Erlang分布式基礎(chǔ)  163
8.1.1  復(fù)制式進(jìn)程間通信  164
8.1.2  位置透明性  165
8.2  節(jié)點(diǎn)與集群  166
8.2.1  節(jié)點(diǎn)的啟動(dòng)  166
8.2.2  節(jié)點(diǎn)的互聯(lián)  167
8.2.3  Erlang節(jié)點(diǎn)如何定位其他節(jié)點(diǎn)并與之建立通信  169
8.2.4  magic cookie安全系統(tǒng)  170
8.2.5  互聯(lián)節(jié)點(diǎn)間的消息傳遞  171
8.2.6  使用遠(yuǎn)程shell  173
8.3  資源探測攻略  175
8.3.1  術(shù)語  175
8.3.2  算法  176
8.3.3  實(shí)現(xiàn)資源探測應(yīng)用  177
8.4  小結(jié)  182
第9章  用Mnesia為cache增加分布式支持  183
9.1  分布式緩存  184
9.1.1  選取通信策略  184
9.1.2  同步緩存和異步緩存  186
9.1.3  分布式表  188
9.2  用Mnesia實(shí)現(xiàn)分布式數(shù)據(jù)存儲(chǔ)  189
9.2.1  建立項(xiàng)目數(shù)據(jù)庫  189
9.2.2  初始化數(shù)據(jù)庫  191
9.2.3  建表  192
9.2.4  向表中錄入數(shù)據(jù)  195
9.2.5  執(zhí)行基本查詢  197
9.3  基于Mnesia的分布式緩存  199
9.3.1  用Mnesia取代ETS  199
9.3.2  讓緩存識(shí)別出其他節(jié)點(diǎn)  202
9.3.3  用資源探測定位其他緩存實(shí)例  205
9.3.4  動(dòng)態(tài)復(fù)制Mnesia表  206
9.4  小結(jié)  209
第10章  打包、服務(wù)和部署  210
10.1  從系統(tǒng)的角度看應(yīng)用  210
10.1.1  結(jié)構(gòu)  211
10.1.2  元數(shù)據(jù)  211
10.1.3  系統(tǒng)如何管理運(yùn)行中的應(yīng)用  212
10.2  制作發(fā)布鏡像  213
10.2.1  發(fā)布鏡像  213
10.2.2  準(zhǔn)備發(fā)布代碼  214
10.2.3  發(fā)布鏡像的元數(shù)據(jù)文件  214
10.2.4  腳本與啟動(dòng)文件  216
10.2.5  系統(tǒng)配置  217
10.2.6  啟動(dòng)目標(biāo)系統(tǒng)  218
10.3  發(fā)布鏡像打包  219
10.3.1  創(chuàng)建發(fā)布鏡像包  219
10.3.2  發(fā)布鏡像包的內(nèi)容  220
10.3.3  定制發(fā)布鏡像包  222
10.4  安裝發(fā)布鏡像  223
10.5  小結(jié)  223
第三部分  集成與完善
第11章  為緩存添加HTTP接口  226
11.1  實(shí)現(xiàn)TCP服務(wù)器  226
11.1.1  高效TCP服務(wù)器的設(shè)計(jì)模式  227
11.1.2  搭建tcp_interface應(yīng)用的骨架  228
11.1.3  填充TCP服務(wù)器的實(shí)現(xiàn)邏輯  228
11.1.4  簡單文本協(xié)議  231
11.1.5  文本接口實(shí)現(xiàn)  232
11.2  打造一套全新的Web接口  234
11.2.1  HTTP簡介  234
11.2.2  實(shí)現(xiàn)一套通用的Web服務(wù)器行為模式  237
11.2.3  初識(shí)REST  248
11.2.4  用gen_web_server實(shí)現(xiàn)REST式協(xié)議  249
11.3  小結(jié)  252
第12章  用端口和NIF集成外圍代碼  253
12.1  端口和NIF  254
12.1.1  普通端口  255
12.1.2  鏈入式端口驅(qū)動(dòng)  256
12.1.3  原生函數(shù)(NIF)  257
12.2  用端口來集成解析器  257
12.2.1  Erlang方面的端口  257
12.2.2  C方面的端口  260
12.2.3  編譯運(yùn)行  271
12.3  開發(fā)鏈入式驅(qū)動(dòng)  272
12.3.1  初識(shí)鏈入式驅(qū)動(dòng)  273
12.3.2  驅(qū)動(dòng)的C語言部分  274
12.3.3  編譯驅(qū)動(dòng)代碼  278
12.3.4  驅(qū)動(dòng)的Erlang部分  279
12.4  將解析器實(shí)現(xiàn)為NIF  280
12.4.1  NIF的Erlang部分  280
12.4.2  NIF的C代碼部分  281
12.4.3  編譯與運(yùn)行代碼  287
12.5  小結(jié)  288
第13章  用Jinterface實(shí)現(xiàn)Erlang和Java間的通信  289
13.1  利用Jinterface在Erlang中集成
Java  290
13.1.1  OtpNode類  290
13.1.2  OtpMbox類  291
13.1.3  Erlang數(shù)據(jù)結(jié)構(gòu)的Java映射  291
13.1.4  示例:Java中的消息處理  292
13.1.5  在Erlang中與Java節(jié)點(diǎn)通信  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  運(yùn)行集成系統(tǒng)  308
13.6  小結(jié)  310
第14章  優(yōu)化與性能  311
14.1  如何進(jìn)行性能調(diào)優(yōu)  312
14.1.1  設(shè)定性能目標(biāo)  312
14.1.2  設(shè)定基線  313
14.1.3  系統(tǒng)性能分析  313
14.1.4  確定需要解決的問題  313
14.1.5  測定優(yōu)化成果  313
14.2  Erlang代碼性能分析  314
14.2.1  用cprof計(jì)算調(diào)用次數(shù)  314
14.2.2  用fprof測定執(zhí)行時(shí)間  316
14.3  Erlang編程語言的缺陷  320
14.3.1  基本數(shù)據(jù)類型的性能特點(diǎn)  321
14.3.2  內(nèi)置函數(shù)和運(yùn)算符的性能  324
14.3.3  函數(shù)  325
14.3.4  進(jìn)程  327
14.4  小結(jié)  329
附錄A  安裝Erlang  330
附錄B  列表與引用透明性  332
  

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) rgspecialties.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)