新到貨2本75折
架構師的自我修煉:技術、架構和未來

架構師的自我修煉:技術、架構和未來

  • 定價:534
  • 優惠價:87465
  • 運送方式:
  • 臺灣與離島
  • 海外
  • 可配送點:台灣、蘭嶼、綠島、澎湖、金門、馬祖
  • 可取貨點:台灣、蘭嶼、綠島、澎湖、金門、馬祖
載入中...
  • 分享
 

內容簡介

架構師的工作包羅萬象,從開發基礎框架到設計軟體架構,從優化系統性能到修復重要Bug,從新技術選型到做出關鍵技術決策,從指導工程師開發到溝通、協調各種內外部關係。想要成為一個優秀的軟體架構師,需要經過漫長的修煉,構建起自己的軟體發展技術體系。但是一切看似紛繁複雜的技術技巧,均有其核心和基本的原理。
 
本書對架構師在職業進階道路上必須牢固掌握的各項技術技能進行了梳理,涵蓋基礎知識、程式設計、系統架構、溝通管理4大方面。
 
本書包含38章,每一章都用一個軟體發展中常見又經典的問題引出,深入淺出地剖析這個技術點背後的核心原理與外延擴展,進而幫助讀者建立起自己的架構師知識體系。
 
1部分是架構師的基礎知識修煉。
軟體的基礎知識原理主要是作業系統、資料結構、資料庫原理等,書中會從常見的問題入手,直達這些基礎技術本質的原理,並覆蓋這些基礎技術的關鍵技術點,幫助讀者理解這些基礎技術原理和日常開發工作的關聯關係,對這些基礎技術有一個全新的認知。
 
2部分是架構師的程式設計修煉。
講述如何設計一個強大靈活、易複用、易維護的軟體,在這個過程中,應該依賴哪些工具和方法,遵循哪些原則和思想,使用哪些模式和手段。
 
3部分是架構師的架構方法修煉。
圍繞目前主要的互聯網分散式架構以及大資料、物聯網架構分析這些架構背後的原理,詳解它們都遵循了怎樣的驅動力和設計思想,以及如何通過這些技術實現系統的高可用和高性能。
 
4部分是架構師的思維修煉。
軟體發展是一個實踐性很強的活動,如果只是學習技術,那就是在紙上談兵。只有將知識技能應用到工作實踐中,才能真正體會到技術的關鍵點在哪裡。如何在工作中處理好各種關係,得到充分的授權和信任,在工作中實踐自己的技術思想,並為公司創造更多的價值,使自己的技術成長和職業發展進入互相促進的正向通道,也是架構師需要修煉與提升的。

 

作者介紹

李智慧
資深架構專家,同程旅行交通首席架構師,曾在 NEC、阿里巴巴、Intel 等知名企業擔任架構師,也曾在 WiFi 鑰匙等企業擔任 CTO。
 
長期從事大資料、大型網站的架構和研發工作,領導設計過多個日活用戶在千萬級以上的互聯網系統架構,實戰經驗豐富。曾設計、開發過 Web 伺服器防火牆、分散式NoSQL 系統、大資料倉庫引擎、反應式程式設計框架等各種類型的軟體系統。
 
Apache Spark代碼貢獻者,騰訊雲TVP,著有暢銷書《大型網站技術架構》,同時也是極客時間《從0開始學大資料》《後端技術面試 38 講》等專欄的作者。

 

目錄

【第一部分 架構師的基礎知識修煉】
第1章 作業系統原理:程式是如何運行和崩潰的 2
1.1 程式是如何運行起來的 2
1.2 一台電腦如何同時處理數以百計的任務 4
1.3 系統為什麼會變慢,為什麼會崩潰 5
1.4 小結 7
第2章 資料結構原理:Hash表的時間複雜度為什麼是O(1) 8
2.1 陣列的結構 8
2.2 鏈表的結構 9
2.3 Hash表的結構 10
2.4 棧的結構 12
2.5 佇列的結構 13
2.6 樹的結構 14
2.7 小結 14
第3章 Java虛擬機器原理:JVM為什麼被稱為機器 16
3.1 JVM的構造 17
3.2 JVM的垃圾回收 19
3.3 Web應用程式在JVM中的執行過程 22
3.4 小結 24
第4章 網路程式設計原理:一個字元的互聯網之旅 25
4.1 DNS功能變數名稱解析原理 26
4.2 CDN 27
4.3 HTTP的結構 28
4.4 TCP的結構 29
4.5 鏈路層負載均衡原理 32
4.6 小結 33
第5章 檔案系統原理:用1分鐘遍歷一個100TB的檔 34
5.1 硬碟結構原理 35
5.2 檔案系統原理 36
5.3 RAID硬碟陣列原理 37
5.4 分散式檔案系統架構原理 39
5.5 小結 40
第6章 資料庫原理:SQL為什麼要預編譯 42
6.1 資料庫架構與SQL執行過程 43
6.2 使用PrepareStatement執行SQL的好處 45
6.3 資料庫檔存儲與索引工作原理 46
6.4 小結 48
第7章 程式設計語言原理:物件導向程式設計是程式設計的終極形態嗎 49
7.1 軟體程式設計的遠古時代 49
7.2 機器與組合語言時代 51
7.3 高級程式設計語言時代 51
7.4 物件導向程式設計時代 52
7.5 程式設計語言的未來 53
7.6 小結 54
 
【第二部分 架構師的程式設計修煉】
第8章 軟體設計的方法論:軟體為什麼要建模 56
8.1 什麼是軟體建模 57
8.2 4 1視圖模型 58
8.3 UML建模 59
8.4 小結 60
第9章 軟體設計實踐:使用UML完成一個設計文檔 61
9.1 用類圖設計物件模型 61
9.2 用序列圖描述系統調用 62
9.3 用元件圖進行模組設計 63
9.4 用部署圖描述系統物理架構 64
9.5 使用用例圖進行需求分析 65
9.6 用狀態圖描述物件狀態變遷 66
9.7 用活動圖描述調用流程 66
9.8 使用合適的UML模型構建一個軟體設計文檔 67
9.9 軟體架構設計文檔示例範本 68
9.10 小結 74
第10章 軟體設計的目的:糟糕的程式差在哪裡 75
10.1 糟糕的設計有多糟糕 76
10.2 一個設計“腐壞”的例子 77
10.3 解決之道 78
10.4 小結 80
第11章 軟體設計的開閉原則:不修改代碼卻能實現需求變更 81
11.1 什麼是開閉原則 81
11.2 一個違反開閉原則的例子 82
11.3 使用策略模式實現開閉原則 84
11.4 使用適配器模式實現開閉原則 85
11.5 使用觀察者模式實現開閉原則 86
11.6 使用範本方法模式實現開閉原則 88
11.7 小結 89
第12章 軟體設計的依賴倒置原則:不依賴代碼卻可以複用它的功能 91
12.1 依賴倒置原則 91
12.2 依賴倒置的關鍵是介面所有權的倒置 93
12.3 使用依賴倒置來實現高層模組複用 94
12.4 小結 96
第13章 軟體設計的裡氏替換原則:正方形可以繼承長方形嗎 97
13.1 裡氏替換原則 98
13.2 一個違反裡氏替換原則的例子 99
13.3 正方形可以繼承長方形嗎 100
13.4 子類不能比父類更嚴格 101
13.5 小結 102
第14章 軟體設計的單一職責原則:一個類檔打開後好不要超過一屏 104
14.1 單一職責原則 107
14.2 一個違反單一職責原則的例子 107
14.3 從Web應用架構演進看單一職責原則 108
14.4 小結 110
第15章 軟體設計的介面隔離原則:如何對類的調用者隱藏類的公有方法 112
15.1 介面隔離原則 113
15.2 一個使用介面隔離原則優化的例子 114
15.3 介面隔離原則在反覆運算器設計模式中的應用 117
15.4 小結 117
第16章 設計模式基礎:不會靈活應用設計模式,就沒有掌握物件導向程式設計 119
16.1 物件導向程式設計的本質是多態 119
16.2 設計模式的精髓是對多態的使用 121
16.3 小結 123
第17章 設計模式應用:程式設計框架中的設計模式 125
17.1 什麼是框架 125
17.2 Web容器中的設計模式 127
17.3 JUnit中的設計模式 129
17.4 小結 132
第18章 反應式程式設計框架設計:如何使程式調用不阻塞等待,立即回應 133
18.1 反應式程式設計 135
18.2 反應式程式設計框架Flower的基本原理 135
18.3 反應式程式設計框架Flower的設計方法 138
18.4 反應式程式設計框架Flower的落地效果 140
18.5 小結 141
第19章 組件設計原則:組件的邊界在哪裡 143
19.1 組件內聚原則 144
19.2 組件耦合原則 145
19.3 小結 147
第20章 領域驅動設計:35歲的程式師應該寫什麼樣的代碼 148
20.1 領域模型模式 149
20.2 領域驅動設計 151
20.3 小結 154
 
【第三部分 架構師的架構方法修煉】
第21章 分散式架構:如何應對高併發的用戶請求 156
21.1 垂直伸縮與水準伸縮 157
21.2 互聯網分散式架構演化 157
21.3 小結 163
第22章 緩存架構:減少不必要的計算 165
22.1 通讀緩存 166
22.2 旁路緩存 168
22.3 緩存注意事項 171
22.4 小結 173
第23章 非同步架構:避免互相依賴的系統間耦合 174
23.1 使用訊息佇列實現非同步架構 175
23.2 訊息佇列非同步架構的好處 178
23.3 小結 180
第24章 負載均衡架構:用10行代碼實現一個負載均衡服務 181
24.1 HTTP重定向負載均衡 181
24.2 DNS負載均衡 183
24.3 反向代理負載均衡 184
24.4 IP負載均衡 184
24.5 資料連結層負載均衡 186
24.6 小結 187
第25章 資料存儲架構:改善系統的資料存儲能力 188
25.1 資料庫主從複製 188
25.2 資料庫分片 190
25.3 關聯式資料庫的混合部署 193
25.4 NoSQL資料庫 196
25.5 小結 197
第26章 搜尋引擎架構:瞬間完成海量資料檢索 199
26.1 搜尋引擎倒排索引 199
26.2 搜尋引擎結果排序 202
26.3 小結 205
第27章 微服務架構:微服務究竟是“靈丹”還是“毒藥” 206
27.1 單體架構的困難和挑戰 206
27.2 微服務框架原理 208
27.3 微服務架構的落地實踐 210
27.4 小結 211
第28章 高性能架構:除了代碼,還可以在哪些地方優化性能 212
28.1 性能指標 212
28.2 性能測試 213
28.3 性能優化 215
28.4 小結 219
第29章 高可用架構:淘寶應用升級時,為什麼沒有停機 220
29.1 高可用的度量 221
29.2 高可用的架構 222
29.3 小結 225
第30章 安全性架構:為什麼說使用者密碼洩露是程式師的問題 227
30.1 資料加密與解密 227
30.2 HTTP攻擊與防護 230
30.3 小結 233
第31章 大數據架構:思想和原理 234
31.1 HDFS分散式檔存儲架構 235
31.2 MapReduce大資料計算架構 236
31.3 Hive大資料倉庫架構 238
31.4 Spark快速大資料計算架構 240
31.5 大資料流程計算架構 242
31.6 小結 242
第32章 AI與物聯網架構:從智慧引擎到物聯網平臺 243
32.1 大資料平臺架構 244
32.2 智慧推薦演算法 245
32.3 物聯網大資料架構 249
32.4 小結 250
第33章 區塊鏈技術架構:區塊鏈到底能做什麼 251
33.1 比特幣與區塊鏈原理 251
33.2 聯盟鏈與區塊鏈的企業級應用 255
33.3 小結 257
 
【第四部分 架構師的思維修煉】
第34章 技術修煉之道:同樣工作十幾年,為什麼有的人成為資深架構師,有的人失業 260
34.1 德雷福斯模型 261
34.2 如何在工作中成長 263
34.3 小結 264
第35章 技術進階之道:你和世界上的程式師差幾個等級 265
35.1 軟體技術的生態江湖與等級體系 265
35.2 技術進階之捷徑 267
35.3 小結 269
第36章 技術落地之道:你真的知道自己要解決的問題是什麼嗎 270
36.1 確定會議真正要解決的問題是什麼 271
36.2 不需要去解決別人的問題,提醒他問題的存在即可 272
36.3 去解決那些被人們習以為常而忽略了的問題 273
36.4 小結 273
第37章 技術溝通之道:如何解決問題 275
37.1 讓有能力解決問題的人感受到問題的存在 275
37.2 “直言有諱” 276
37.3 想解決一個大家都不關注的問題,可以等問題變得更糟 277
37.4 如果不填老師想要的答案,你就得不了分 278
37.5 小結 278
第38章 技術管理之道:真的要轉管理嗎 280
38.1 彼得定律 281
38.2 用目標驅動 282
38.3 小結 283
附錄A 軟體發展技術的性原理 284
附錄B 我的架構師成長之路 287
附錄C 無處不在的架構之美 293
附錄D 軟體架構師之道 298
 

詳細資料

  • ISBN:9787111679363
  • 規格:平裝 / 316頁 / 16k / 19 x 26 x 1.58 cm / 普通級 / 單色印刷 / 初版
  • 出版地:中國

最近瀏覽商品

 

相關活動

  • 用一代人的努力終結氣候危機《再生》|自然科普展7折起
 

購物說明

溫馨提醒您:若您訂單中有購買簡體館無庫存/預售書或庫存於海外廠商的書籍,建議與其他商品分開下單,以避免等待時間過長,謝謝。

大陸出版品書況:因裝幀品質及貨運條件未臻完善,書況與台灣出版品落差甚大,封面老舊、出現磨痕、凹痕等均屬常態,故簡體字館除封面破損、內頁脫落...等較嚴重的狀態外,其餘所有商品將正常出貨。 

 

請注意,部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。

調貨時間:若您購買海外庫存之商品,於您完成訂購後,商品原則上約45個工作天內抵台(若有將延遲另行告知)。為了縮短等待的時間,建議您將簡體書與其它商品分開訂購,以利一般商品快速出貨。 

若您具有法人身份為常態性且大量購書者,或有特殊作業需求,建議您可洽詢「企業採購」。 

退換貨說明 

會員所購買的商品均享有到貨十天的猶豫期(含例假日)。退回之商品必須於猶豫期內寄回。 

辦理退換貨時,商品必須是全新狀態與完整包裝(請注意保持商品本體、配件、贈品、保證書、原廠包裝及所有附隨文件或資料的完整性,切勿缺漏任何配件或損毀原廠外盒)。退回商品無法回復原狀者,恐將影響退貨權益或需負擔部分費用。 

訂購本商品前請務必詳閱商品退換貨原則