程序員的三門課:技術精進、架構修煉、管理探秘
  • 推薦0
  • 收藏4
  • 瀏覽458

程序員的三門課:技術精進、架構修煉、管理探秘

  • 叢  書:沖呀程序員系列叢書
  • 書  號:978-7-121-37377-0
  • 出版日期:2019-10-01
  • 頁  數:296
  • 開  本:16(185*235)
  • 出版狀態:正在印刷
  • 維護人:張國霞

相關圖書

期權交易策略與風險管理

1.本書重點介紹了期權策略交易2.對于期權特性的理解A.通過二項模型理解期權特性B.介紹期權策略交易中較為重要的Delta對沖策略 3.用全新方式介紹期權風險指...

 

信息流廣告實戰:今日頭條、百度、騰訊三大平臺全解析

羅丹 馬明澤 (作者)

信息流廣告已成為企業最重要的網絡廣告推廣方式。這是一本專業的信息流推廣營銷工具書,筆者根據其豐富的實戰經驗,將多年的工作技巧及所遇到的問題進行了整理,全面闡述了...

 

Linux開源存儲全棧詳解:從Ceph到容器存儲

英特爾亞太研發有限公司 (作者)

本書致力于幫助讀者形成有關Linux開源存儲世界的細致的拓撲,從存儲硬件、Linux存儲堆棧、存儲加速、存儲安全、存儲管理、分布式存儲、云存儲等各個角度與層次展...

 

全棧運營:從0到1入門互聯網運營

王思嘉 (作者)

這是一本從0 到1 解讀互聯網運營的書,講述了運營的基礎內容和學習路徑,并從數字化、周期化、社交化、場景化四個方面講解了運營的實際操作方法。本書還探討了運營人員...

 

騰訊游戲開發精粹

騰訊游戲 (作者)

《騰訊游戲開發精粹》是騰訊游戲研發團隊的技術結晶,由10 多名騰訊游戲資深技術專家撰寫而成,整理了團隊在自主游戲研發的道路上積累沉淀的技術方案,具有較強的通用性...

 

期權基本款——人人可用的期權專業知識和操作手法

徐華康 岳樹帥 (作者)

本書一共有4章,首先從實戰角度講解期權實戰必備的基礎知識,如時間價值、波動率等,通俗易懂,不照搬概念,以期讀者可以更好地理解;然后將期權投資交易理念辨析明確,把...

¥59.00
我們都有一個共同的夢想——成為更棒的程序員,但是如何做?如何學習和精進自己的技術?如何做業務分析和架構設計?如何做技術管理?本書就廣大程序員都很關注的問題提供一些思路和方法。
本書內容分為三大篇:第1篇介紹程序員的技能成長路徑,介紹如何通過學習來加速成長,并講解非常重要的業務分析和設計知識;第2篇詳細介紹了架構修煉中的必備架構思維模式、架構設計過程,還通過真實案例剖析了架構設計的核心要素及關注點,以及如何通過架構設計來把控質量和風險;第3篇總結了做技術管理的訣竅,揭秘如何從準備做技術管理到實現自我管理再到實現團隊管理。
本書適用于即將或者正在從事IT相關開發工作,卻不知如何提升自己,希望通過適當的學習方法精進技術的初級程序員;也適用于具備一定架構設計經驗,想進一步系統化提升架構設計能力的中級程序員;以及有一定技術積累,想從事技術管理卻不知如何著手的高級程序員。
致力于讓程序員:不迷茫、成長更快、成長路徑更明晰,右軍、Hollis等主筆,史海峰、小灰等力薦
于君澤
某互聯網公司技術專家,在分布式系統架構設計、高并發系統設計、領域建模、研發管理、內建質量等方面有較多心得,樂于交流和分享,曾創立技術社群“中生代技術”。
維護技術公眾號“技術瑣話”。
李偉山
現任某人工智能公司技術總監,江湖人稱“山哥”,在分布式系統架構設計、高并發系統設計、系統穩定性保障等方面積累了豐富的實踐經驗,擅于利用數據分析解決實際問題,對新技術有濃厚的興趣,樂于分享。
個人技術公眾號:技術方舟。
張洪亮
網名Hollis,知名技術博主,個人技術博客(http://www.hollischuang.com)閱讀量達數百萬。90后程序員,2015年畢業于哈爾濱理工大學,現任某互聯網公司技術專家,專注于Java研發、技術架構及程序員的成長等方面。
個人技術公眾號:Hollis。
彭首長
熊貓優福聯合創始人,聚美優品前技術總監。在團隊管理、領域設計、分布式架構、高并發設計、IoT架構等方面有豐富的實踐經驗,擅長行業分析,對新技術高度敏感,熱衷于技術實踐且樂于分享。
劉朋
高績效團隊教練,教練型領導,中生代技術社區聯合創始人,北京大學理學學士、工學碩士。現就職于中國移動(成都)5G產業研究院,曾任諾基亞通信(成都)有限公司研發經理。在敏捷實踐、高績效團隊教練技術、技術團隊管理等方面積累了豐富的經驗,并總結出一套特別適合程序員突破自身瓶頸、快速成長的領導力模式。
推薦序1

世界需要什么樣的程序員

不想當工程師的程序員不是好民工。會編程不代表會工作,工程能力包含軟硬技能,面向的是實際應用。從程序員變為工程師,得先“入門”,然后才是“上道”,從而成為“工型人才”。有人工作幾年還沒入門,只會簡單開發;有人開發技能嫻熟,卻找不到進一步成長的路徑,陷入迷茫之中;更有不少人自詡為IT精英,卻不了解行業格局、發展趨勢,很快就遇到職業發展瓶頸,蹉跎了歲月,虛度了青春。
在我看來,好的程序員應該是“工型人才”。所謂“工型”,是指從下到上的能力提升過程。具體來說,就是先要具備完成完整應用的能力,包括:線上運維,成為熟手,這是下面的一橫;在某些領域足夠深入,成為高手,這是中間的一豎;在達到更高的水平之后,兼通很多領域,比如業務、產品、項目管理、測試、運維、團隊組織,成為驅動者和領導者,這是上面的一橫。
每個人的成長都是不斷打怪升級的過程,既要掌握技術和工具,又要學習方法和理論、積累實戰經驗,更要思考和沉淀。先進技術只是工具,最終目標是解決問題。經驗豐富的工程師就像MMA(Mixed Martial Arts,綜合格斗)高手,精通綜合技巧,活學活用,不拘泥于流派。在勇猛、精進之外,踏實、靠譜更為重要。踏實,是有自己的方向,知道差距;靠譜,是能把活兒干好,值得大家信賴,大家都樂于和你合作,放心把有挑戰的任務交給你。
從程序員到工程師,讀這本書就夠了!本書非常實用,可稱作程序員入行手冊。市場上的各類“21天學會XXX”和“XXX編程寶典”書已經太多了,能夠傳承工作中實踐技巧的書依然太少。本書匯聚了多位資深技術老炮兒壓箱底的傍身秘技,兼顧軟硬技能,貫通了程序員從基礎到進階再到突破的各個階段,道出了成長的真諦,更手把手地指引我們前行。
有道是“師傅領進門,修行在個人”,徘徊在門外或者迷茫在路口的新同學,從此不必再上下求索、苦苦尋覓。一書在手,夫復何求?希望你能通過本書,提升程序員的大局觀,在成為“工型人才”的路上邁出堅實的一步,并穿越眾妙之門,通達三千世界。

微信公眾號“IT民工閑話”作者 史海峰



推薦序2



程序員的工作是將從現實或者虛擬世界中抽象出來的邏輯以代碼的形式實現,需要凝神靜氣才能完成一段有質量的代碼。但不得不承認的是,程序員這個職業在很大程度上是吃青春飯的,如何充分把握自己的青春年華做一名優秀程序員?如何為未來的職業發展打下良好基礎?這是每個程序員都應該認真思考的問題。
非常遺憾的是,程序員這個職業所需要的知識、技能和經驗,并不能完全從學校獲得,更多地來自工作實踐。本書系統且循序漸進地介紹了如何從菜鳥程序員成為高級研發人員或者架構師,以及如何積累知識和經驗成為技術管理者,對于程序員在編碼過程中需要用到的工具、模式、測試、溝通和架構知識,作者也給出了親身實戰經驗總結。
本書應該成為程序員的案頭手冊,對程序員的快速成長意義重大。讀了這本書,相當于同老一代程序員深入交談,他們也把自己的酸甜苦辣、成功與挫折、心得與秘密悄悄地告訴了你。這不僅僅建立了你的大局觀,也讓你有機會有贏在起跑線上。

易寶支付 陳斌

目錄

目 錄
第1篇 技術精進
第1章 程序員技能與成長 2
1.1 如何學習新的編程語言 2
1.1.1 重點學什么 3
1.1.2 學習方法 3
1.2 代碼規范與單元測試 6
1.2.1 編碼規范 6
1.2.2 單元測試 7
1.2.3 測試驅動設計 9
1.3 使用靜態代碼分析工具 18
1.3.1 什么是靜態代碼分析 19
1.3.2 靜態代碼分析工具 19
1.4 代碼審查 24
1.4.1 什么是代碼審查 24
1.4.2 代碼審查的好處 24
1.4.3 如何做代碼審查 25
1.5 清單和模板 29
1.5.1 清單實踐 29
1.5.2 產品需求文檔模板 31
1.6 程序員的工作法則 33
1.6.1 工具化法則 33
1.6.2 自動化法則 38
1.6.3 關于文檔的問題 40
1.6.4 關于YAGNI 40
1.7 程序員的工具箱 41
1.7.1 可幫我們提升工作效率的硬件 42
1.7.2 可幫我們提升工作效率的操作系統 43
1.7.3 可幫我們提升工作效率的軟件 43
1.7.4 在線工具 50
第2章 加速成長與學會學習 56
2.1 程序員如何加速成長 56
2.1.1 積極主動 56
2.1.2 空杯心態 57
2.1.3 選擇合適的平臺 57
2.1.4 別怕犯錯 58
2.1.5 注意細節 58
2.1.6 時間管理 58
2.1.7 打破邊界 61
2.1.8 寫業務代碼中的成長機會 61
2.2 學會學習 66
2.2.1 高效學習的方法 67
2.2.2 高效學習的途徑 69
2.2.3 舒適區與小步子原則 72
2.2.4 兩個著名的學習理論 72
2.2.5 終身成長 74
第3章 業務分析與設計 75
3.1 黃金圈法則 75
3.2 UML建模工具 77
3.2.1 用例圖 78
3.2.2 類圖 79
3.2.3 對象圖 80
3.2.4 狀態圖 80
3.2.5 活動圖 81
3.2.6 序列圖 82
3.2.7 協作圖 82
3.2.8 構件圖 83
3.2.9 部署圖 84
3.3 業務分析與設計的方法 85
3.4 系統分析與設計的三個發展階段 87
3.4.1 面向數據驅動分析與設計 87
3.4.2 面向對象和服務分析與設計 88
3.4.3 面向問題域分析與設計 89
3.5 面向對象分析與設計 90
3.5.1 什么是面向對象 90
3.5.2 面向對象的特征 91
3.5.3 面向對象設計的原則 91
3.6 面向服務分析與設計 93
3.6.1 Web Service模式 93
3.6.2 ESB模式 94
3.6.3 微服務架構 95
3.7 領域驅動設計 97
3.8 領域模型實踐 102
3.8.1 什么是領域模型 102
3.8.2 領域模型的作用 102
3.8.3 如何進行領域建模 104

第2篇 架構修煉
第4章 架構思維 110
4.1 分解 110
4.1.1 分解的作用 111
4.1.2 分解的原則 111
4.1.3 分解的時機 112
4.2 集成 112
4.2.1 常見的集成方式 112
4.2.2 集成的難點 115
4.3 動靜分離 120
4.4 復用 121
4.4.1 系統復用的分類 122
4.4.2 可復用性和可維護性的關系 123
4.4.3 可維護性地復用的設計原則 123
4.5 分層 126
4.6 模式 127
4.6.1 分層模式 128
4.6.2 客戶端-服務器模式 131
4.6.3 主從設備模式 132
4.6.4 管道-過濾器模式 133
4.6.5 代理模式 133
4.6.6 P2P模式 134
4.6.7 事件總線模式 135
4.6.8 MVC模式 136
4.6.9 黑板模式 137
4.6.10 解釋器模式 138
4.7 抽象 139
4.8 結構化 139
4.8.1 結構化的原則 140
4.8.2 結構化分析工具 140
4.8.3 結構化思維的7個環節 141
4.9 迭代 141
4.10 勿做過度設計 141
第5章 架構設計 143
5.1 架構設計概要 143
5.1.1 業務架構 143
5.1.2 應用架構 145
5.1.3 技術架構 147
5.1.4 數據架構 149
5.2 架構設計的流程 151
5.3 架構設計的核心要素 153
5.3.1 性能 153
5.3.2 可用性 153
5.3.3 伸縮性 154
5.3.4 擴展性 154
5.3.5 安全性 154
5.4 高性能設計 154
5.4.1 主要的性能測試指標 155
5.4.2 性能測試方法 156
5.4.3 性能優化策略 157
5.5 高可用設計 159
5.5.1 高可用性的度量與考核 159
5.5.2 高可用的架構 160
5.5.3 高可用質量保證 164
5.5.4 系統運行監控 165
5.6 可伸縮設計 166
5.6.1 架構的伸縮性設計 166
5.6.2 應用服務的伸縮性設計 167
5.6.3 分布式緩存的伸縮性設計 169
5.6.4 數據存儲的伸縮性設計 169
5.7 可擴展性設計 169
5.7.1 通過消息降低系統的耦合性 170
5.7.2 通過分布式服務提供可復用的業務 170
5.7.3 建立開放平臺 170
5.8 架構設計的典型案例——訂單系統 171
5.8.1 訂單的基本概念 172
5.8.2 訂單流程 174
5.8.3 訂單系統設計中的挑戰和實踐 178
5.8.4 數據庫優化 182
5.8.5 小結 185
第6章 架構的保障:質量與風險 186
6.1 內建質量體系 186
6.2 從黑天鵝事件到墨菲定律 189
6.2.1 黑天鵝事件 189
6.2.2 蝴蝶效應 191
6.2.3 墨菲定律 191
6.3 軟件質量穩定性之殤 192
6.3.1 業務高速發展帶來的變化 193
6.3.2 問題域的復雜性 193
6.3.3 系統的復雜性 194
6.3.4 技術債問題 194
6.3.5 人、流程、文檔的博弈 195
6.3.6 采用不能掌控的工具和框架 196
6.3.7 質量意識 196
6.4 從康威定律和技術債看研發之痛 197
6.4.1 康威定律 197
6.4.2 通過3個案例來看研發之痛 197
6.4.3 架構方案和業務形態息息相關 204
6.5 求解質量熵 206
6.5.1 運用敏捷思想 207
6.5.2 運用系統化思想 208
6.5.3 技術債償還計劃 209
6.5.4 抓住合適的時機做架構升級 209
6.5.5 內建質量 210
6.5.6 不迷信,不唯新、不唯上,實踐是檢驗真理的標準 210
6.5.7 復雜的問題域:專項突破 210
6.5.8 領導者的意識 211
6.5.9 創新解決方案 211
6.6 踩過的坑和經驗總結 212
6.6.1 簡單的數字改動導致電商網站搜索功能失靈 212
6.6.2 應用竟然被外部系統拖垮了 212
6.6.3 HashMap與并發 213
6.7 故障復盤流程及模板 215
6.7.1 什么是故障復盤 215
6.7.2 為什么要做故障復盤 215
6.7.3 如何做故障復盤 216
6.7.4 故障復盤模板 219
6.8 監控與告警 221
6.8.1 監控的重要性 221
6.8.2 監控哪些內容 221
6.8.3 告警 224
6.8.4 監控的架構 224
6.9 應急處置 226

第3篇 管理探秘
第7章 為成為技術主管做準備 232
7.1 構建自我階段性目標 232
7.2 體驗自己的目標身份 234
7.3 勇于抓住機會 235
第8章 從自我管理轉為管理團隊 236
8.1 什么是領導力 236
8.2 如何構建領導力 237
8.2.1 維度1:提供清晰的領導力風格,并以信任感作為基石 238
8.2.2 維度2:了解業務,并帶領團隊達到高績效 240
8.2.3 維度3:發展自己和團隊成員 240
8.2.4 維度4:塑造未來 241
8.3 讓自己成為T型人才 242
8.4 高效時間管理 243
8.4.1 確定在做的事情符合自己的目標 244
8.4.2 隨時應用80/20法則 246
8.4.3 創造大塊時間 247
8.5 遇到“不服管”的員工怎么辦 249
8.5.1 每個人都是不錯的 250
8.5.2 建立親和與信任感 251
8.5.3 從績效評估到建設性反饋 255
8.6 如何處理沖突 261
8.6.1 了解產生沖突的原因 261
8.6.2 正確看待沖突 262
8.6.3 處理沖突 263
8.7 引導員工主動工作 264
8.8 如何從帶10個人到帶100個人 266
8.8.1 在管理上面對的挑戰 267
8.8.2 從管理1.0到管理2.0 269
8.9 如何對上管理 276
8.9.1 做好對上的預期管理 277
8.9.2 及時匯報 277

讀者評論

圖書類別

相關博文

同系列書

0k000澳客网竞彩