Joel on software (16~18章)

16. writing code 不是生產,而是 design ,某方面看則像 craftsmanship。craftsmanship 讓你會花500%的努力在1%的地方(修某個UI之類的)。完美的 craftsmanship 是非常昂貴的,只有大量的使用者能夠分攤成本。這也提供了其他公司更多的競爭點。

17.糾正三個CS觀念 : a.搜尋的重點不是找到夠多的資料,而是將這些資料排序。b.不要濫用 Antialiased Text (平滑字?)的顯示效果,因為其實不適合閱讀。c.小心”網路軟體應該要讓資源如同本機資源一樣”的論點,畢竟還是有 availability,latency,reliability 的差異。作者舉個例,在網路上傳檔案,是用FTP,而不是用copy file function,因為copy太簡單了無法應付網路太慢的情況。所以下次有人跟你推銷這個,請想想看如果是網路很慢的情況會怎樣。

18.文化差異 : Unix的核心價值是製作有助於其他程式師的東西,而Windows則把製作有助於老百姓的事視作核心價值。造成文化差異的原因出自各自歷史與背景因素的不同,而 unix 程式師有時弱勢的傲慢嘲笑 windows,但是事實是 windows 的世界比較實務… :p

— 

發現有中文翻譯了…. XD

local.joelonsoftware.com/mediawiki/index.php/%E9%A6%96%E9%A0%81

www.csie.ntu.edu.tw/~p92005/Joel/index.html

週末電影

 

空中危機

我覺得蠻不錯的耶,雖然之前一直聽說不合理。整個前半很玄疑有點冷,害我一直期待茱迪佛絲特什麼時候開始惡搞飛機 :p 後來的劇情發展大出乎我意料之外,編劇實在是很厲害… ^^

最好的時光

張震跟舒淇主演,故事由三段不同的時光組成 : 第一段戀愛夢,很清純的1966,不愛講話的張震追撞球妹舒淇。第二段自由夢,1911 報社主筆張震跟藝旦舒淇(這一段完全沒有說話聲音,都是BMG)。第三段青春夢,2005台北,由患有癲癇的雙性戀舒淇帶來三角關係。

引述侯導演的話 : 生命中有許多吉光片羽,無從名之,難以歸類,也不能構成什麼重要意義,但它們就是在我心中縈繞不去。而最好,不是因為最好所以我們眷念不已,而是倒過來,是因為永遠失落了,我們只能用懷念召喚它們,所以才成為最好。

軟體預先架構 Prefactoring

 

蔡學庸學長有篇介紹了,可以先參考看看。我是看歐萊禮剛出的中文版啦 :p

書的介紹寫說介於「設計模式」和「重構」之間,我本來以為是一本還蠻理論的著作。不過拿到書之後,發現整本書透過一個開發租借CD軟體的情境來當作範例跟引子,依序講解開發過程中的可以思考的地方跟建議。基本上各個方針都很實際,有些出自 design pattern 的技巧,像是書中的委代機制 ( strategy 模式 ),代理人 proxy 模式,Factory 工場模式等。有些出自重構技巧,像是 Replace Type Code with class 用 ADT 類別取代基本型別等。而開發的流程基本上走 agile process,但是作者也只有第一章提了一下這個名詞而已。

作者擷取各家絕招成各項方針,這本書是本還不錯的小精華集。如果你之前不知道設計樣式跟重構,建議你可以看看不用怕,不知不覺學到的方針就是了。如果你之前就會了,那這本書也可以帶你示範如何應用這些技巧。

不過老實說取這個驚死人的書名實在是有點誇張 :p 真正熟讀重構的人,已經把重構變成每天的麵包與黃油,變成團隊的空氣跟水,早在一開始就不知不覺融入開發的過程啦,又何需預構呢。

by the way… 中文完整書名: 軟體預先架構之美學 : 極致抽象化、區隔化、可讀化。…… 天殺的哪裡來的美學兩個字… .XD

工作 DNA

 從博客來逛了逛,買了這本小書。想增加自己對於工作上的一些體認,當然我本來是期待一本實用的書,看完之後發現是一本較形而上的工作(哲學?)概念書。似乎對我現在不是很受用 :p  anyway… 我想比較適合工作更久一點的人,應該可以帶給你一些內心的思考。

本月天瓏購書

嗯,這個月有點超支。雖然很多買來並沒有深入閱讀,但不怕你笑,請看這篇買一個高手夢,一種夢幻般的生活方式… :p 哪一天有空隨手翻翻也可以讓我多參悟幾頁。

  • TCP/IP 網路管理 (TCP/IP Network Administration, 3/e )
  • Essential PHP Security
  • 網路安全徹底研究 (Network Security: The Complete Reference)
  • PHP in a Nutshell
  • Ajax in Action
  • Mastering FreeBSD and OpenBSD Security
  • Apache Security
  • Managing Security with Snort and IDS Tools
  • Snort Cookbook
  • 初探網路安全 (Network Security first-step)
  • Sniffer Pro 網路最佳化與故障排除手冊
  • 軟體預先架構之美學 (Prefactoring)
  • Writing Secure Code, 2/e
  • Designing Interfaces: Patterns for Effective Interaction Design
  • Spidering Hacks
  • Network Security Hacks
  • BSD Hacks
  • Web Site Measurement Hacks
  • Security and Usability
  • FreeBSD 6 架設管理與應用
  • DOM Scripting
  • PHP Hacks
  • Pro PHP Security
  • 建立零缺點的安全軟體系統 (Building Secure Software)