分類
Books Programming

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

分類
Books Programming

軟體預先架構 Prefactoring

 

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

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

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

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

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

分類
Books 職場職涯

工作 DNA

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

分類
Books

本月天瓏購書

嗯,這個月有點超支。雖然很多買來並沒有深入閱讀,但不怕你笑,請看這篇買一個高手夢,一種夢幻般的生活方式… :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)
分類
Books Programming

Joel on software (12~15章)

12. 作者把programming分成五個世界: Shrinkwrap(給大家用的軟體,重視使用性跨平台,又分Open Source,Web Based,Consultingware三種變形) ,Internal(重視開發速度), Embedded(重視品質),Game(看熱不熱門,像電影),Throwaway(用過即丟的script)。知道你自己在什麼世界,選擇適合自己的軟體開發方法。

13. 使用 Paper Prototyping 節省時間跟成本。不要使用 Software Protypes 太浪費了。作者還推薦 paper prototyping 一書給所有要設計使用者介面的人。

14. 小心 Architecture Astronauts (因為太不切實際,不像我們呼吸氧氣,像離開地球的太空人一樣)的誇大(行銷?)說詞,像是什麼什麼技術可以怎樣怎樣的。記得他們總是想他們可以解決的問題,而不是去想真正有用的問題。

15.有翻譯,生產力的重點 : just getting started。另外提到 cover fire,大公司一直開火(推新技術)的原因不一定是必要的技術,而是讓小公司疲於應付(忙於升級或支援這項技術)。大公司的業務只要說 “沒錯, 你不一定要買我們的東西. 要買就要買最好的. 不過記得你買的產品一定要支援(XML /SOAP / CDE / J2EE), 否則你就會被綁住了.” 然後小公司只好吃鱉,疲於加上這些沒什麼用的功能。

對小公司來說,fire and motion 表示,你必需讓時間站在你這邊,每天都前進一些,這樣軟體才可以每天每天變的更好,客戶越來越多,這就夠了。不用去想偉大的策略。

分類
Books 社會經濟

世界是平的

 

花了六個鐘頭一口氣把後半段看完了…. 之前念第一章一直花篇幅講印度外包讓我有點膩…�
也以為第二章講推土雞就是他的重點… 哈~ ^^||

中段開始提貿易開放等議題… 這才逐漸看到作者的真知灼見…..
前一陣子剛好有世貿抗議炒的很熱… 我對開不開放的看法也很矛盾….
而這本書提供了一個正向思考(也很妥協跟實際)的觀點… 要當個有愛心的抹平主義者… XD
後段則提到恐怖主義的現況… 作者也提出了宏觀的角度來看待….

強烈建議大家可以看看這本書喔(除了翻譯錯誤不少啦)… 會改變你看世界的角度….

另外 OCW 計畫有作者在 MIT 演講的影片檔 ( from  hlb 學長 )。