Elixir 程序設計

Elixir 程序設計 下載 mobi epub pdf 電子書 2024


簡體網頁||繁體網頁
[美] Dave Thomas(大衛·托馬斯) 著,杜萬,黃明信 譯



點擊這裡下載
    

想要找書就要到 圖書大百科
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!

發表於2024-11-23

類似圖書 點擊查看全場最低價


圖書介紹

齣版社: 電子工業齣版社
ISBN:9787121282645
版次:1
商品編碼:11900577
品牌:Broadview
包裝:平裝
開本:16開
齣版時間:2016-04-01
用紙:膠版紙
頁數:340
正文語種:中文


相關圖書





圖書描述

編輯推薦

適讀人群 :程序員,以及對函數式編程感興趣的開發者

  學習函數式編程的入門好書

  用一種更優雅、更高效的方式開發高性能的並發軟件

內容簡介

  《Elixir 程序設計》作者就是15 年前編寫瞭Programming Ruby,將Ruby 帶入大眾視野的Dave Thomas。這一次他延續瞭一貫的寫作風格,以一個擁有麵嚮對象的開發經曆但並未接觸過函數式編程的開發者的角度切入,循序漸進地帶領讀者進入 Elixir 的奇妙世界。通過一步步的實驗探索,引導讀者逐步跳齣已有的編程思維模式,以全新的函數式編程方式來思考及尋找解決實際問題的辦法。然而本書並不像Programming Ruby 那樣麵麵俱到,而是給讀者講述基本的Elixir 語法和編程思想,同時提供許多有用的資源,啓發讀者繼續深入探索。這也是學習一門新語言的樂趣所在。

  如果你對函數式編程有興趣,或者你正在苦苦尋求一種高效的並發編程的方法,Elixir 可以作為入門之選,值得一試。

作者簡介

  杜萬,畢業於同濟大學,就職於 Coding.NET,目前負責 WebIDE 項目和 CodeInsight 項目的架構和研發。從事瞭近10年以 Java 語言為主的軟件開發工作,熱衷於整閤框架和開發工具,關注交互設計,喜歡寫技術博客

  黃明信,畢業於嶺南師範學院,就職於 Coding.NET,主要負責後颱應用服務的研發。喜歡摺騰機器和編程領域的各種玩意兒,專注於軟件開發效率的提升和代碼錶達能力的優化。典型的射手座,興趣廣泛,但隻為代碼而活。

精彩書評

  Dave Thomas 再一次做到瞭:《Elixir 程序設計》成為瞭每本編程書籍都渴望與之比肩的目標。它不是簡單地教授語法和舉幾個刻闆的例子,而是引導你如何以Elixir 的方式思考。

  ——Bruce Tate

  icanmakeitbetter.com公司CTO,技術作傢

  在《Elixir 程序設計》裏,David 齣色地介紹瞭函數式編程,他以一種有趣、實用、充滿靈感的方式教我們重新思考如何用不同的方法來設計程序。隨著閱讀的深入,你會不時會心一笑,因為你發現 Elixir 的某方麵可以讓你用一種新的、更優雅的方式來解決問題,而且這種方式非常自然和直觀,我們這些編程人員必須馬上應用起來纔行。

  這本書詳細地介紹瞭 Elixir 及其工具,旨在使開發過程更加流暢和富有成效。Dave 解釋瞭 Erlang 運行時係統的核心部件,如分布式、並發和容錯,它們為 Elixir 提供瞭編寫可擴展、適應性強的應用程序的能力。

  ——Alexei Sholik

  順序編程的時代已經過去,如今高性能、可擴展和容錯的軟件都是並發的。Elixir 是這個全新世界裏的關鍵角色,它將 Erlang 和 OTP 的能力帶給更廣泛的受眾。閱讀本書吧,為迎接軟件開發新時代開個好頭。

  ——Paul Butcher

  《七周七並發模型》的作者

  就像鎬頭書之於 Ruby,這本書是 Elixir 的事實標準。Dave 以他無可挑剔的風格,全麵介紹瞭Elixir 語言的各方麵,包括數據結構、宏、OTP,甚至 Dialyzer。閱讀本書是一種享受,因為它帶領讀者學習 Elixir,並帶領他們參與編寫函數式程序的整個思維過程。

  如果你想快速掌握 Elixir 語言,《Elixir 程序設計》是你的優先選擇。

  ——Jim Freeze

  首屆世界Elixir 會議的組織者

  這無疑將成為 Elixir 的鎬頭書。……Dave 很興奮地帶領讀者進入迷人的 Elixir 世界。對於對 Elixir 感興趣的每一位程序員而言,本書值得擁有。

  ——Dan Kozlowski

  《Elixir 程序設計》是Dave Thomas 的另一佳作。在此之前我嘗試的幾個函數式編程語言都讓我備受挫摺。你能感覺到Dave 的熱情和在每一章節使用該語言時的喜悅。他會讓你以從未想到過的方式來思考解決問題的辦法。這本書讓我徹底改變瞭在思考各種語言編程的改進時的方式。

  ——Richard Bishop

  我真的很享受閱讀這本書。它不隻是一股腦兒地介紹一些語法或特性;總的來說,我認為它對 Elixir 和函數式編程做瞭非常周到的介紹。

  ——Cody Russe

目錄

第1 章 接受現實 1

編程時應該關注數據轉換 1

藉助管道來組閤轉換 2

函數是數據轉換器 3

安裝 Elixir 3

運行 Elixir 4

iex—交互式 Elixir 4

編譯和運行 8

對閱讀本書的建議 9

練習 9

換一種方式思考 10

第一部分 常規編程

第2 章 模式匹配 12

賦值:並非如你所料 12

更復雜的匹配 13

輪到你瞭15

用_(下畫綫)忽略匹配值 15

每次匹配變量僅綁定一次 15

輪到你瞭17

從另一個角度來看等號 17

第3 章 不可變性 18

你已經擁有瞭(一些)不可變數據 18

不可變的數據纔是已知的 19

不可變性對性能的影響 20

復製數據20

垃圾迴收20

用不可變數據編寫程序 21

第4 章 Elixir 基礎 22

內置類型 22

值類型 23

整數 23

浮點數 23

原子 24

區間 24

正則錶達式 24

係統類型 25

PID 和端口 25

引用 25

收集類型 26

元組 26

列錶 27

散列錶 28

二進製型29

命名、源文件、約定、運算符和其他 30

真值 30

運算符 31

小結 32

第5 章 匿名函數 33

函數和模式匹配 34

輪到你瞭35

一個函數,多個函數體 35

編寫更長的代碼 36

輪到你瞭37

能返迴函數的函數 37

記住原始環境的函數 38

參數化函數 39

輪到你瞭39

將函數作為參數來傳遞 40

& 運算符 40

輪到你瞭42

函數是核心 42

第6 章 模塊與命名函數 43

編譯模塊 43

函數體是代碼塊 44

輪到你瞭45

函數調用與模式匹配 45

輪到你瞭48

哨兵子句 48

哨兵子句的限製 49

默認參數 50

輪到你瞭53

私有函數 53

|> ——美妙的管道運算符 54

模塊 55

模塊指令57

import 指令 57

alias 指令 58

require 指令 58

模塊屬性 58

模塊名:Elixir、Erlang 和原子類型 59

調用 Erlang 的庫函數 60

尋找函數庫 60

輪到你瞭61

第7 章 列錶與遞歸 62

頭部和尾部 62

使用頭部和尾部來處理列錶 63

iex 如何顯示列錶 64

使用頭部和尾部來構造列錶 66

創建映射函數 67

在遞歸過程中跟蹤值 68

輪到你瞭69

生成求和函數 69

輪到你瞭70

更復雜的列錶模式 71

列錶的列錶 71

輪到你瞭74

List 模塊實戰 75

與列錶友好相處 76

第8 章 字典:散列錶、散列字典、關鍵字列錶、集閤與結構體 77

如何在散列錶、散列字典和關鍵字列錶之間做選擇 77

字典 78

模式匹配和更新散列錶 79

模式匹配不能綁定鍵 81

更新散列錶 82

散列錶與結構體 82

訪問結構體的另一種方式 84

嵌套字典結構 85

嵌套訪問器和非結構體 86

動態(運行時)嵌套訪問器 87

集閤 88

能力越大,誘惑越大 89

第9 章 番外篇—類型是什麼 90

第10 章 處理收集—Enum 與Stream 92

Enum——處理收集 92

關於排序的說明 95

輪到你瞭96

Stream——延遲處理的枚舉類型 96

流是可組閤的枚舉器 97

無限流 99

自定義流99

流在實際中的應用 104

Collectable 協議 104

推導式 105

推導式也可以處理二進製位 106

作用域與推導式 107

推導式的返迴值 107

輪到你瞭108

感動過往的神 109

第11 章 字符串與二進製型 110

字符串字麵量 110

Heredoc 111

魔術符 112

“字符串”這個名稱 113

單引號字符串——字符編碼列錶 114

輪到你瞭116

二進製型 117

雙引號字符串是二進製型 118

字符串與Elixir 庫 118

輪到你瞭124

二進製型與模式匹配 124

用二進製型來處理字符串 124

輪到你瞭125

熟悉卻又陌生 126

第12 章 控製流 127

if 與 unless 127

cond 128

case 131

拋齣異常 133

包含異常的設計 133

四兩撥韆斤 134

輪到你瞭134

第13 章 組織項目 136

項目:從 GitHub 獲取 issue 136

我們的代碼將如何工作 137

任務:用mix 來創建我們的新項目 137

創建項目樹 138

轉換:解析命令行 140

進階:編寫一些基本的測試 142

輪到你瞭144

轉換:從 GitHub 獲取數據 144

任務:使用外部庫 145

尋找庫 146

為項目添加庫 146

輪到你瞭148

迴到轉換148

轉換:轉換響應內容 151

不在 hex 裏的依賴項 152

應用程序配置 152

轉換:為數據排序 153

轉換:取前n 條 155

輪到你瞭156

轉換:格式化錶格 156

任務:創建命令行可執行程序 159

任務:添加日誌 161

任務:測試代碼注釋 163

任務:創建項目文檔 167

使用轉換數據的方法來編寫代碼 169

輪到你瞭170

第14 章 運用多進程 172

簡單的進程 173

在進程間發送消息 174

處理多條消息 175

遞歸、循環與棧 178

進程開銷 178

輪到你瞭181

進程何時結束 182

關聯兩個進程 183

監控進程185

輪到你瞭186

並行map——Erlang 版本的“Hello, World” 186

輪到你瞭187

斐波那契數服務器 188

任務調度器 189

輪到你瞭192

代理——一個難題 192

以進程的方式來思考 194

第15 章 節點——分布式服務的關鍵 195

命名節點 195

輪到你瞭197

節點、cookie 與安全 198

給你的進程命名 199

何時給進程命名 202

輪到你瞭202

I/O、PID 與節點 203

輪到你瞭204

節點是分布式的基礎 205

第16 章 OTP:服務器 206

一些 OTP 的定義 206

OTP 服務器 207

狀態和單個服務器 207

我們的第一個 OTP 服務器 208

輪到你瞭210

單嚮調用210

跟蹤服務器的執行情況 212

輪到你瞭214

GenServer 迴調函數 214

給進程命名 216

整理接口 217

輪到你瞭218

第17 章 OTP:應用程序監視器 220

應用程序監視器與工作進程 220

輪到你瞭223

管理重啓前後的進程狀態 223

應用程序監視器是可靠性的核心 229

輪到你瞭229

第18 章 OTP:應用程序 230

這不是傳統的應用程序 230

應用程序規範文件 231

將Sequence 程序轉變為OTP 應用程序 231

關於應用參數的更多信息 234

監視是可靠性的基礎 234

輪到你瞭235

熱代碼交換 235

OTP 很大——難以置信的大 241

輪到你瞭241

第19 章 任務與代理 242

任務 242

任務與監視 243

代理 244

更大的例子 246

使其分布式運行 248

使用代理與任務,還是GenServer 249

第三部分 更高級的Elixir

第20 章 宏與代碼求值 252

實現if 語句 252

宏注入代碼 254

裝載次序255

quote 函數 256

將內部錶示作為代碼使用 256

unquote 函數 258

展開列錶——unquote_splicing 259

迴到我們的myif 宏 260

輪到你瞭261

使用綁定來注入值 261

宏是衛生的 263

執行代碼片段的其他方法 264

宏與運算符 265

深入研究 266

更進一步 266

輪到你瞭267

第21 章 連接多個模塊:行為與use 268

行為 268

定義行為268

聲明行為269

use 與 __using__ 270

放到一起——跟蹤方法調用 270

使用use 275

輪到你瞭275

第22 章 協議——多態函數 277

定義協議 277

實現協議 278

可用的類型 279

輪到你瞭280

協議和結構體 280

內置協議:Access 281

內置協議:Enumerable 282

內置協議:String.Chars 285

內置協議:Inspect 286

協議就是多態 288

輪到你瞭288

第23 章 更酷的玩意兒 290

自定義魔術符 290

獲取選項292

輪到你瞭293

多應用的 umbrella 項目 294

創建 umbrella 項目 295

創建子項目 295

LineSigil 項目 296

Evaluator 項目 296

連接子項目 297

彆急!還有更多炫酷的玩意兒! 299

附錄A 異常:raise 與try,catch 與throw 300

附錄B 類型規範與類型檢查 306


前言/序言

  推薦序

  最開始杜萬說請我為他翻譯的Elixir 的新書寫一篇序,我一頭霧水,因為完全沒有聽說過“Elixir”這個詞,我甚至到現在都不知道這個單詞應該怎麼讀,雖然我已經讀完瞭全書。是的,剛纔那個句子很長,不好讀,然而它的邏輯是正確的。這跟我初步瞭解Elixir 的感覺差不多,不好理解,但邏輯是正確的。

  雖然我現在很少寫代碼瞭,但是作為一個曾經寫瞭十幾年代碼的人,本書講述的內容,特彆是Elixir 的思想很是讓我震撼。我必須承認我並沒有徹底理解這本書,很多的細節沒有時間去詳細實踐,但就我不深的理解,已經體會到瞭這種基於進程的編程思想,以及它帶來的變革。

  在我中學開始學習編程的時候,用的是 Pascal。我知道數據結構、算法,我會做題,然而我對軟件工程一無所知,不知道如何編寫一個完整的應用。後來大學的時候學習Java,纔知道 Pascal 是一種麵嚮過程的語言,Java 是麵嚮對象的語言。然而我花瞭很久纔理解瞭什麼叫作“對象”,以及什麼叫作麵嚮對象的編程。我清晰地記得 Java 課的第一次作業是編寫一個計算器程序。整個程序我隻有一個 Java 文件,所有的代碼都在這個文件中,活生生用 Java 語言寫瞭一個 Pascal 程序。

  編程思想的轉變是睏難的。我在讀這本書的時候,再一次感受到瞭編程思想的轉變,從麵嚮對象到麵嚮進程。原本在 Java 中非常復雜的多綫程、分布式處理方式在 Elixir 中變得無比簡單,這也是 Elixir 在現代 IT 係統中的價值:最大化CPU 的處理能力。

  大概一年前,我有一個朋友說他最近在瘋狂地研究 Erlang(一種跟 Elixir 接近的語言),他打算說服公司的領導用 Erlang 重做一個係統。當時我覺得他瘋瞭,我對 Erlang不瞭解,隻知道這是一種很奇怪、很小眾的編程語言,現在我可以理解那個朋友當時的想法瞭,他一定有一種腦洞大開的感覺!

  不論你現在是做 APP 開發,傳統 Web 開發,還是在中國大紅大紫的微信開發,都應該讀一讀此書,它一定會讓你眼前一亮。沒有最好的編程語言,隻有最閤適的編程語言。隨著硬件的不斷發展,一定會有很多不同於過去常見的編程思想和語言齣現,以適應最新的硬件。也許本書的內容不能在你的工作中用到,但這不重要,重要的是思想的碰撞帶來的愉悅,以及碰撞後留下的那些思考。

  張海龍,Coding CEO

  2016 年1 月19 日·深圳

  譯者序

  還記得第一次得知 Elixir 是 Coding 的冒泡1上 mingshun2 的一句牢騷:“不要咖啡,不要大象,不要蟒蛇,不要紅寶石,隻要萬金油”。這句開發者的嘮叨,吸引瞭我的注意。顯然咖啡錶示 Java,蟒蛇錶示 Python,紅寶石錶示 Ruby,大象呢?“最好的編程語言,PHP”,一個同事提示道。Google 搜索瞭一下,果然 PHP 的 logo 是一頭大象。“那麼萬金油呢?”我追問道。同事也一副“什麼鬼”的錶情,湊過來一起Google 瞭一番,纔知道萬金油是 Erlang 虛擬機上的一門語言,相當於 Scala 之於 Java 虛擬機,英文名字叫Elixir。這是 Elixir 程序設計 下載 mobi epub pdf txt 電子書 格式


Elixir 程序設計 mobi 下載 pdf 下載 pub 下載 txt 電子書 下載 2024

Elixir 程序設計 下載 mobi pdf epub txt 電子書 格式 2024

Elixir 程序設計 下載 mobi epub pdf 電子書
想要找書就要到 圖書大百科
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!

用戶評價

評分

書的頁麵紙張很黃,好像不像正版

評分

很好的書,很有益處,可以看一看。

評分

不錯

評分

好評 六個字……

評分

終於到手瞭

評分

終於到手瞭

評分

書挺好的,正在讀

評分

可惜這本書丟瞭,這一次買的應該是正版。

評分

不錯~~~~~~~~

類似圖書 點擊查看全場最低價

Elixir 程序設計 mobi epub pdf txt 電子書 格式下載 2024


分享鏈接




相關圖書


本站所有內容均為互聯網搜索引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度google,bing,sogou

友情鏈接

© 2024 book.teaonline.club All Rights Reserved. 圖書大百科 版權所有