iThome

身為一個IT人,最大的挑戰在於必須不斷接觸、學習,甚至創造出新事物,所憑藉的基礎是技術、經驗,以及見識。不論你的工作是程式設計或MIS、網管,要作好IT管理,不只是精通自己所負責的工作領域,還要多注意相關的應用趨勢發展。俗話說,書到用時方恨少,平時累積的知識如果不足,要在很短的時間內學會管理陌生的系統,或因應新穎的商業模式來開發新應用系統,是相當艱難的。

就像我們好書推薦人之一的threesecond所言,每個領域都要懂一點點皮毛,有時,還沒有用到的資訊也要注意──這陣子用不到,過一陣子也許會,先讓腦海有個印象,等到要用時,就可以隨時派上用場,至少知道方向和方法,最低程度是要記得關鍵字,知道怎麼去Google。如果你讀過蘇軾的〈稼說送張琥〉,這樣的做法,其實就呼應到「博觀而約取,厚積而薄發」這兩句關於學習方法的名言。網路與書都提供我們取之不盡的知識來源,而書因為有一定的發行門檻,取得成本雖然不低,但相較之下可以用更嚴謹的方式呈現作者想要強調的主張。

「如果一本書你能看到一句話是受用的,那就值得了。」的觀念是不錯,但有些書實在太厚,要找到一句話,不見得那麼容易。因此陳彥銘認為書應該越薄越好,因為作者要花更多氣力去斟酌所要呈現的內容,他說:「要把所有的資訊都印在一本書裡,是很容易的;要把一本書縮減到很小,卻是很難的工作」,因為你必須去把很多資料作更深入的整合、歸納,才能在有限的紙本形式上,展現作者與書籍出版者的匠心獨具與別出心裁。

相較於更新與傳遞訊息相當快速的網路,能否具有原創性內容與提供破壞性創新的主張,不只是書籍獲得讀者認同的關鍵,也是我們推薦人的選擇標準之一,更是許多經典好書口碑不絕、歷久不衰的主要原因。

 

12位好書推薦人簡歷

 

PowerOp

目前於一家大型IT廠商擔任客戶服務工程師。台灣大學電機系畢業,曾在電信業8年。他的部落格是「帝國反抗君 -PowerOp」,網址為http://blog.roodo.com/ystuan

 

threesecond
暱稱為三秒,三秒練功房(www.threesecond.info)的站長,在某服務業擔任MIS已超過七年,常出沒於酷!學園等IT論壇網站。 

 

上官林傑 
從事網頁相關的開發工作,著有《Google應用服務引擎開發實戰》一書,他的部落格是「至如ericsk者,國四無雙」,網址是http://blog.ericsk.org 

 

王建興
目前在一家網路應用軟體公司擔任技術長,清華大學資訊工程系的博士研究生,研究興趣包括電腦網路、點對點網路、分散式網路管理、以及行動式代理人,專長則是Internet應用系統的開發。

 

王盈勛
《iThome電腦報》總主筆、《經理人月刊》總主筆、《數位時代》編輯顧問,台北藝術大學助理教授,著有《世界是斜的》、《微軟生存之戰》、《白話數位經濟》等書。

 

王森
現任台灣微軟資深開發技術推廣經理,負責微軟各種開發技術的推廣以及微軟技術社群的經營。目前專注研究Windows Phone 7、Silverlight與XNA。

 

林信良
目前從事技術書籍寫作、翻譯、技術顧問及講師等工作。於網路上經營開發技術網站「良葛格學習筆記」,著作包括《Java SE 6 技術手冊》、《Servlet/JSP 教學手冊》、《Spring 2.0 技術手冊》,並翻譯《Ajax in Action》、《jQuery in Action 2e》中文版。

 

陳宏一
目前於一家網購平臺公司擔任技術經理,專精於OOAD、J2EE相關技術、Open Source、資料庫設計、軟體開發流程及專案管理等。曾經歷大型社群及電子商務網站、WAP/3G行動加值服務、CTI/CRM客服系統架構規畫設計等。

 

陳昇瑋
目前任職於中央研究院資訊科學研究所,擔任助研究員與多媒體網路與系統實驗室主持人,原名陳寬達,並著有《Delphi 深度歷險》、《C++Builder 深度歷險》等書

 

陳彥銘
在資安領域已有十多年的經驗,其中九年在 Foundstone/McAfee替Fortune 500 的客戶提供資安顧問服務與教育訓練,並參與弱點管理產品研發、銷售與管理。他也是包括駭客現形等四本資安領域暢銷書的貢獻作者之一。

 

陳廣融
目前於Juniper Networks擔任顧問工程師,負責電信相關領域。

 

楊伯瀚
目前任職於敦陽科技企業應用暨軟體服務二群的資訊安全服務處,擔任資安顧問一職,曾於數聯資安任職,歷任技術處副處長、資安滲透小組團隊、技術部經理,也曾擔任CEH講師。

 

深入程式開發經典中的經典

 

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」


Advertisement

更多 iThome相關內容