書籍簡介
作者: 朱志文
出版社: 機械工業出版社
出版年: 2017-5
定價: 59
裝幀: 平裝
ISBN: 9787111566953
獲取方法
關注微信公眾號:申霖,傳送:0965
目錄· · · · · ·
目錄
推薦序一
推薦序二
推薦序三
前言
第一部分 瞭解區塊鏈
第1章 加密貨幣就是貨幣 2
1.1 加密貨幣簡史 2
1.2 什麼是加密貨幣 3
1.3 加密貨幣就是貨幣 4
1.4 加密貨幣可靠嗎 4
1.5 總結 6
1.6 參考 6
第2章 區塊鏈,承載人類信用的基石 7
2.1 利益,現實世界的內在驅動力 7
2.2 信用,決定著利益轉移的方向 7
2.3 未來趨勢 9
2.4 應用場景 9
2.5 風險提示 11
2.6 總結 12
2.7 參考 12
第3章 共識機制,可程式設計的利益轉移規則 13
3.1 機制,左右產品走向的根源 13
3.2 PoW:工作量證明機制 14
3.3 PoS:股權證明機制 15
3.4 DPoS:授權股權證明機制 16
3.5 億書對DPoS機制的改進 17
3.6 總結 17
3.7 參考 18
第4章 區塊鏈架構設計 19
4.1 基本概念 19
4.2 架構圖 20
4.3 協議層 20
4.4 擴充套件層 22
4.5 應用層 22
4.6 程式設計實現 23
4.7 知識圖譜 25
4.8 總結 26
4.9 參考 27
第二部分 Node.js入門指南
第5章 Node.js在幣圈流行麼 30
5.1 Node.js在開源社群很流行 30
5.2 Node.js在幣圈也同樣流行 32
5.2.1 Github自帶搜尋 32
5.2.2 自制查詢工具 32
5.3 Github上前10個應用的簡介 34
5.4 結論 36
5.5 總結 36
5.6 參考 36
第6章 Node.js讓前端開發像子彈飛一樣 37
6.1 專案需求 37
6.2 技術選型 37
6.3 Node.js簡介 38
6.4 開發步驟 39
6.4.1 搭建環境 39
6.4.2 新建工程 40
6.4.3 前端元件 40
6.4.4 前端流程 42
6.4.5 學習API 43
6.4.6 資料整理 44
6.4.7 D3.js渲染 46
6.4.8 程式碼除錯 48
6.4.9 部署釋出 48
6.5 總結 51
6.6 參考 51
第7章 Node.js讓後臺開發像前端一樣簡單 53
7.1 需求 53
7.2 開發 54
7.2.1 安裝Express 54
7.2.2 建立簡單應用 54
7.2.3 使用模板引擎 55
7.2.4 使用靜態檔案服務 55
7.2.5 後臺請求Github API 56
7.2.6 模組化重構 57
7.2.7 測試和部署 61
7.3 總結 61
7.4 參考 62
第8章 你必須知道的幾個Node.js編碼習慣 63
8.1 一切都是資料流 63
8.2 事事皆回撥 65
8.3 異常要捕捉 67
8.4 總結 72
8.5 參考 73
第三部分 原始碼解讀
第9章 億書,一個面向未來的自出版平臺 76
9.1 億書是什麼 76
9.2 使用場景 76
9.3 主要特點 77
9.4 核心功能 77
9.5 技術架構 78
9.6 總結 79
9.7 參考 79
第10章 入口程式app.js解讀 80
10.1 原始碼與類圖 80
10.2 解讀 80
10.2.1 配置處理 80
10.2.2 異常捕捉 82
10.2.3 模組載入 83
10.3 總結 86
第11章 一個精巧的P2P網路實現 88
11.1 原始碼、類圖與流程圖 88
11.2 解讀 89
11.2.1 路由擴充套件 89
11.2.2 節點路由 92
11.2.3 節點儲存 94
11.3 總結 98
11.4 參考 98
第12章 加密和驗證 99
12.1 原始碼、類圖與流程圖 99
12.2 概念 101
12.2.1 私鑰和公鑰 101
12.2.2 加密貨幣地址 101
12.2.3 加密過程 101
12.2.4 驗證過程 102
12.3 實踐 102
12.4 總結 104
12.5 參考 104
第13章 地址 105
13.1 原始碼、類圖與流程圖 105
13.2 解讀 105
13.2.1 公共API 107
13.2.2 Hash地址 109
13.2.3 別名地址 110
13.2.4 註冊使用者名稱 111
13.2.5 聯絡人列表 113
13.3 總結 115
13.4 參考 115
第14章 簽名和多重簽名 116
14.1 原始碼 116
14.2 解讀 116
14.2.1 簽名 116
14.2.2 多重簽名 120
14.3 總結 125
第15章 交易 126
15.1 原始碼與類圖 126
15.2 解讀 128
15.2.1 交易的本質 128
15.2.2 交易的生命週期 129
15.2.3 億書的交易型別 129
15.2.4 交易的基本流程 130
15.2.5 轉賬交易分析 136
15.3 總結 141
15.4 參考 141
第16章 區塊鏈 142
16.1 原始碼、類圖與流程圖 142
16.2 解讀 143
16.2.1 區塊鏈是什麼 143
16.2.2 區塊鏈的特點 147
16.2.3 區塊鏈開發應該解決的問題 148
16.2.4 億書區塊鏈資料庫設計 148
16.2.5 億書區塊鏈的實現 149
16.3 總結 162
16.4 參考 163
第17章 DPoS機制 164
17.1 原始碼與類圖 164
17.2 受託人資料庫表 165
17.3 解讀 167
17.3.1 拜占庭將軍問題 167
17.3.2 億書DPoS機制概述 169
17.3.3 註冊受託人 170
17.3.4 投票 170
17.3.5 塊(時段)週期 170
17.3.6 受託人(迴圈)週期 172
17.3.7 獎勵週期 174
17.4 總結 176
17.5 參考 176
第四部分 開發實踐
第18章 函數語言程式設計入門經典 178
18.1 什麼是函數語言程式設計 178
18.1.1 面向物件的編碼方式 179
18.1.2 函數語言程式設計的方式 179
18.1.3 函數語言程式設計的延伸 180
18.2 函數語言程式設計的優勢 181
18.3 函數語言程式設計的基本原則 181
18.3.1 直接把函式賦值給變數 182
18.3.2 使用最普適的方式命名 182
18.3.3 避免依賴外部變數 183
18.3.4 面對this值時,小心加小心 184
18.4 怎樣進行函數語言程式設計 184
18.4.1 柯里化:動態產生新函式 184
18.4.2 組合:自由組合新函式 186
18.4.3 註釋:簽名函式的行為和目的 187
18.4.4 容器:處理控制流、異常、非同步和狀態的獨立模組 189
18.4.5 資料驗證仿函式 191
18.4.6 錯誤處理仿函式 191
18.4.7 非同步處理仿函式 194
18.4.8 巢狀處理仿函式 195
18.5 總結 197
18.6 參考 198
第19章 輕鬆從JavaScript檔案生成UML類圖 199
19.1 工具簡要介紹 199
19.2 能從中學點什麼 201
19.3 關於抽象語法樹 201
19.4 工具實現過程 202
19.4.1 基本需求 202
19.4.2 架構流程和程式碼結構 203
19.5 總結 204
19.6 參考 204
第20章 命令列開發介紹 205
20.1 commander 205
20.2 概念定義 205
20.3 用法介紹 206
20.4 案例分析 208
20.5 總結 209
20.6 參考 209
第21章 一張圖學會使用async元件進行非同步流程控制 210
21.1 概念定義 211
21.2 流程類別 211
21.3 用法分類 212
21.4 腦圖 213
21.5 總結 215
21.6 參考 215
第22章 靜態網站開發全景掃描 216
22.1 億書官網介紹 216
22.1.1 資源資訊 216
22.1.2 功能特點 217
22.2 靜態網站開發方案 218
22.3 與Ember.js的“前仇舊恨” 218
22.4 理解Ember.js幾個讓人迷亂的深“坑” 219
22.4.1 什麼是前端框架 219
22.4.2 一定要使用它的命令列工具Ember-cli 219
22.4.3 在瀏覽器上安裝使用Ember-inspector外掛 219
22.4.4 Ember.js提倡的MVC模型裡沒有了VC 220
22.4.5 有了元件,自然就沒了全域性模板layout和區域性模板partial 220
22.4.6 玩轉Ember.js的必經之路 220
22.4.7 學會外掛開發,把一切現成的外掛裝進Ember.js裡 221
22.5 總結 222
22.6 參考 222
第23章 開發通用的HTML元件 223
23.1 外掛簡介 224
23.2 概念解讀 225
23.3 開發過程 226
23.3.1 外掛的基本情況 226
23.3.2 外掛的工程結構 227
23.3.3 外掛的開發設計 229
23.3.4 載入第三方庫 231
23.3.5 測試外掛 232
23.3.6 藍圖模板 233
23.3.7 輔助工具 234
23.4 Ember.js的鉤子方法介紹 235
23.4.1 contentFor鉤子方法 235
23.4.2 寫入命令列 235
23.4.3 其他鉤子方法 236
23.5 總結 236
23.6 參考 236
第24章 三張圖讓你全面掌握加密解密技術 237
24.1 密碼學縱覽 237
24.2 場景與演算法 237
24.3 Node.js中的加密和解密、簽名和認證 237
24.4 趣味實踐 241
24.4.1 場景 241
24.4.2 需求 241
24.4.3 方案 241
24.4.4 編碼 241
24.5 參考 243
第25章 在時間和資料計算方面應該注意的問題 244
25.1 時間戳處理問題 244
25.1.1 問題再現 244
25.1.2 時間戳的重要性 245
25.1.3 不同產品對時間處理的需求 245
25.1.4 時間處理的基本原理 245
25.1.5 JavaScript語言的Date物件 246
25.1.6 實踐 247
25.2 資料計算處理問題 248
25.2.1 問題再現 248
25.2.2 終極答案 249
25.3 參考 249
第26章 測試 251
26.1 概念解釋 251
26.2 框架流程 252
26.3 測試框架與庫介紹 252
26.4 實踐 253
26.5 總結 257
26.6 參考 257
第五部分 附錄
附錄A 區塊鏈相關術語 260
附錄B 區塊鏈相關名詞 273
附錄C 關於區塊鏈俱樂部 280
後記 282
↑折 疊