iThome
身為一個IT人,最大的挑戰在於必須不斷接觸、學習,甚至創造出新事物,所憑藉的基礎是技術、經驗,以及見識。不論你的工作是程式設計或MIS、網管,要作好IT管理,不只是精通自己所負責的工作領域,還要多注意相關的應用趨勢發展。俗話說,書到用時方恨少,平時累積的知識如果不足,要在很短的時間內學會管理陌生的系統,或因應新穎的商業模式來開發新應用系統,是相當艱難的。
就像我們好書推薦人之一的threesecond所言,每個領域都要懂一點點皮毛,有時,還沒有用到的資訊也要注意──這陣子用不到,過一陣子也許會,先讓腦海有個印象,等到要用時,就可以隨時派上用場,至少知道方向和方法,最低程度是要記得關鍵字,知道怎麼去Google。如果你讀過蘇軾的〈稼說送張琥〉,這樣的做法,其實就呼應到「博觀而約取,厚積而薄發」這兩句關於學習方法的名言。網路與書都提供我們取之不盡的知識來源,而書因為有一定的發行門檻,取得成本雖然不低,但相較之下可以用更嚴謹的方式呈現作者想要強調的主張。
「如果一本書你能看到一句話是受用的,那就值得了。」的觀念是不錯,但有些書實在太厚,要找到一句話,不見得那麼容易。因此陳彥銘認為書應該越薄越好,因為作者要花更多氣力去斟酌所要呈現的內容,他說:「要把所有的資訊都印在一本書裡,是很容易的;要把一本書縮減到很小,卻是很難的工作」,因為你必須去把很多資料作更深入的整合、歸納,才能在有限的紙本形式上,展現作者與書籍出版者的匠心獨具與別出心裁。
相較於更新與傳遞訊息相當快速的網路,能否具有原創性內容與提供破壞性創新的主張,不只是書籍獲得讀者認同的關鍵,也是我們推薦人的選擇標準之一,更是許多經典好書口碑不絕、歷久不衰的主要原因。
12位好書推薦人簡歷 |
PowerOp 目前於一家大型IT廠商擔任客戶服務工程師。台灣大學電機系畢業,曾在電信業8年。他的部落格是「帝國反抗君 -PowerOp」,網址為http://blog.roodo.com/ystuan。 |
threesecond |
上官林傑 |
王建興 |
王盈勛 |
王森 |
林信良 |
陳宏一 |
陳昇瑋 |
陳彥銘 |
陳廣融 |
楊伯瀚 |
深入程式開發經典中的經典
iThome程式人專欄作者、某網路應用軟體公司技術長王建興所推薦的IT好書,大多是程式開發領域的重要經典或畫時代巨作,他認為《Design Pattern : Elements of Reusable Object-Oriented Software》應該是近10年來很重要的一本書,它所造成的影響是目前的開發方式,已經沒辦法脫離設計模式。就像現在寫程式已無法脫離OO一樣。他以Java為例,Framework到處都是設計模式,寫Swing、iPhone程式中的Objective-C的Framework,也到處都是設計模式。因此你需要從最根本的這一本書來了解設計模式。
但王建興也提醒,設計經驗太少的人看完這本書後,可能感觸不會很深,難體會好用之處。他說:「因為你根本不知道問題在哪裡」。這本書中的每一個模式,都是根據一個以上的設計問題去提出解決方案,如果你過去碰過一些設計問題,雖然已用一些解決方案來達成目的,他說,當你看過《Design Pattern》再對照自己的作法時,會恍然大悟:原來書中提出的解決方案,可以這麼巧妙地克服自己本來沒有設計得很好的問題。
不論你是經驗很豐富或很有限的程式人,王建興推薦的另一本《Refactoring: Improving The Design of Existing Code》,都可以讓你在不同的工作階段都很受用,提供每個人要去學習的技巧。此書不只是針對重構的技巧,還可以告訴你怎樣寫程式是不對的,以及很多剛入門的人都會犯的錯誤,譬如Method、Function、Argument List很長,或Class過大。及早知錯,也許就不會寫出那樣的程式碼,或避免讓程式碼演變到不佳的狀態。
假如想對程式開發的過程有更通盤的了解,王建興認為《Code Craft: The Practice of Writing Excellent Code》是一本相當不錯的書,當中會告訴你很多相關的事項該怎麼做,例如好的命名規則與程式碼註解、寫出不會犯錯的程式碼、Exception Handling、除錯的做法、善用版本控制系統等,甚至作者對連程式人可以分成Hero、Monkey和Cowboy等類型,也有很獨特的想法。很多我們在寫程式時會遇到的環節,王建興說書中都談到,不只是很有深度地告訴你該怎麼做,而且是很實務的,不是很抽象、理論的。
Code Craft在國外名氣不小,但他覺得很可惜的是,在臺灣知道此書中文版的人似乎沒想像中的多,這本書的正體中文版是由蔡學鏞所譯,書名為《編程創藝:編寫出卓越的程式碼》。
學習需要一個Roadmap在設計模式之前,要學的是物件導向程式設計,如果不熟悉,會更難去理解設計模式。--王建興(iThome電腦報專欄作者)
面臨網站頻繁改版與新功能需求因應之道
軟體工程過去有很多程式人在關注,而iThome書評專欄作者、某網路購物平臺網站的技術經理陳宏一最近特別注意的是持續整合(Continuous Integration,CI),因此他在相關的幾本書籍中特別推薦Paul M. Duvall 、Steve Matyas、Andrew Glover所合著的《Continuous Integration- Improving Software Quality and Reducing Risk》,陳宏一認為CI這領域其實是比一些方法論更實務,這本書具體提出你可以用的工具,以及這樣的工具所解決的主題,這當然還是以軟體工程整體的藍圖去看,從需求到最後產品做出來,這段流程很長,而此書著重的是過程中,你能透過一些自動化的平臺,去省掉目前重複且以人力去做的工作,因為這些人工作業不只沒效益,同時不容易即時反應。
書當中有介紹很多環節,可以協助你在整個流程導入這樣的機制後,讓你軟體失誤的風險降低,另外,作者也強調很多工作讓系統去做就好,不要用「人」去介入,人的作用是去看執行的結果,知道這個編譯作業後有那些部分是可以正常運作的,若發生問題,人再進來解決,換言之,有問題時讓系統警示你,再進來處理,如果沒有問題,整個工作團隊可以繼續往下個階段發展。
陳宏一說,CI觀念並不新,但透過這本書的介紹,結合一些工具後應用,能讓你覺得這樣的觀念是可以實踐的,而不是空談。他之所以注意CI,另一方面也是因為他一直在網路購物這個高度競爭、變更頻率與幅度都極大的環境工作,要持續滿足新的商務功能需求或營運模式被提出。
在這樣的工作環境下,單靠人力是無法充分支援的,因為每個工程師只記得自己當時所改的,如果不搭配一些自動化工具協助檢核、迴歸測試,會產生極高的風險。再加上不同需求所衍生出來開發作業,要如何讓彼此之間不抵觸,不要因為一邊的開發,而導致兩邊的需求無法平行處理?……這些相關的問題都會在CI領域中談到。
針對今年不能錯過的好書,陳宏一所推薦的大多是社群網站Facebook及如何去分析你的網客相關的主題書,像《Web Analytics 2.0》和《Build Web Reputation Systems》這兩本其實是關於資料分析的部份,他看到Amazon上有很多讀者對這兩本評價都不錯,事實上,他觀察到O'Reilly今出版的書裡面,有不少是針對這方面的新議題,陳宏一自己都很有興趣,他說,光看書的標題,就覺得書應該會滿賣的。
軟體開發卡在許多人為因素,因為不夠自動化,導致要投入很多人力和時間,持續整合(CI)的概念其實是比一些方法論更務實。--陳宏一(iThome電腦報專欄作者)
題材獨特新穎的才值得入手
挑選電腦書,三秒練功房論壇的站長threesecond有一個很特殊的原則──對過去沒人寫過的主題的書特別感興趣,而非那些太多人寫過相同主題的書,以及「照表操課」的步驟書。
他推薦的《Hyper-V 虛擬化技術101問》就是例子,雖然目前Hyper-V的書籍有好幾本,但過去並沒有書特別從障礙排除的觀點來介紹。此外,他也特別推薦《Windows XP Embedded 系統應用手冊》,因為這是目前唯一關於這套系統的中文教材。
在網管方面,threesecond推薦《資料通訊與佈線設計》與《網管員必讀-網路故障排除手冊》,以及資訊安全領域的《Microsoft, Unix及Oracle主機與網路安全》,這些是在2007年底他就在自己網站上介紹的,現在他仍推薦,可見的確經得起時間考驗。
以《資料通訊與佈線設計》來說,threesecond最早是透過酷!學園論壇上的ZMAN介紹而知,他認為可以幫助MIS的機房建置與規畫,獲得足夠的基礎知識。
至於資安,他不認同「先懂入侵和破解,才能懂防禦」,以及「假借資安之名,行Crack之實」的做法,相較於市面上充斥著談入侵重於防禦的資安書,threesecond特別欣賞《Microsoft, Unix及Oracle主機與網路安全》,理由在於,作者從理論層次去分析主機、平臺的漏洞,進而做初期的防禦,而且又能涵蓋到人為控管的問題。看過後,你會知道怎麼處理資安問題,而非只知道如何入侵主機。
對於儲存與資料救援的工作來說,過去一直都相當缺乏相關的書籍介紹,他則推薦《大話儲存-網路儲存系統原理精解與最佳實踐》,以及《資料重現-檔案系統原理精解與資料恢復最佳實踐》。他說市面上很少從檔案系統的角度來探討資料救援。
如果你是在一定規模以上的企業環境工作,要強化網管實務能力,他建議以各種網管證照及相關教育訓練課程為主,例如MCSE/MCITP、CCNA、LPIC 等課程與教材,而非坊間一般叢書。Threesecond強調正規訓練仍應以教材為主,中文書籍為輔,若是未經過專業訓練,只靠幾本書籍,貿然投入網管工作,恐怕會事倍功半。
書給我的主要是觀念的啟發,但像障礙排除類的書,我還是會從頭到尾看完,只要腦海中有印象,下次有問題時,可以馬上反應過來,知道那一本書有我要的答案。--Threesecond(網站「三秒練功房」<www.threesecond.info>論壇站長)
資安行家的書海現形
針對資訊安全,資深資安顧問陳彥銘推薦的書涵蓋多種領域,有密碼學、軟體安全、風險相關、資料視覺化呈現,以及資訊安全事件緊急處理(Incident Response,IR),將現在比較流行的部份都涵蓋到。他以前寫過的書都沒放進去。
但他也說,這些書最少都是五年以前的,他目前所看的主要都是網路上的資料,越來越少需要去看書,閱讀是有的,只是換了另一種媒體,所看的資料也不一樣,書的出版速度反而跟不上他的需求。
曾經是《駭客現形系列》共同作者之一的他提到,寫一本書要花很多時間,完成通常需要花6個月到一年之間,等書出來後,有些內容已經過期了。也因此他這次選書的方向,盡量找那些可以當成必讀的書籍來考量。換言之,如果你要走資安這一行,他推薦的書會是你必須要知道的題材,而且是比較經典或重要的觀念,這些內容都在書裡呈現,同時,他也根據作者知名度,來評估所出的書是否具有一定的品質。
他給予最高評價的有《Handbook of Applied Cryptography》,以及《Security Engineering》。第一本是他在攻讀研究所時所用的教科書,工作後還常常拿出來查,對想深入了解密碼學的原理及基礎的人,有很高的參考價值。
《Security Engineering》更值得一提。陳彥銘不只是現在推薦,早在2004年時iThome電腦報週刊與多位資安作家對談的報導中,他就已經將這本書列入分享的好書名單當中。這本書的作者是資安界有名的Ross J. Anderson,他是一位英國的教授,他參與很多實際的業界專案和學術研究,對於理論和實務他都綜合得不錯,所以他寫了這本書。不過陳彥銘讀第一版時,這本書有四、五百頁,到了第二版擴充到一千頁,雖然閱讀負擔更重,但這本書包含很多例子,因此可以了解得比較廣,同時也很夠深,並且是有學術的基礎、方法論來支撐。
對照他當時所推薦的書單,這次依然榜上有名的好書是《Writing Secure Code: Practical Strategies and Proven Techniques for Building Secure Applications in a Networked World》,事實上,陳彥銘自己相當重視軟體安全議題,在該領域所推薦的書明顯多出其他資安議題的書。不過對於上述這本Writing Secure Code,有些觀念和經驗值得參考,但他提醒2002年底所出的這本書,內容並不足以涵蓋今日所需。
我比較喜歡推薦「薄」的書。大學的時候,老師說書越薄越好,表示作者有想過,把精華放在裡面,不會講太多廢話,看得懂就看得懂,看不懂還是看不懂。--陳彥銘(資深資安顧問)
相關報導請參考「必看!IT好書101」
熱門新聞
2025-01-06
2025-01-07
2025-01-08
2025-01-08
2025-01-06