顯示具有 open source 標籤的文章。 顯示所有文章
顯示具有 open source 標籤的文章。 顯示所有文章

2008年9月4日

Learning from Chrome: Visual Studio Project Property Sheets

Google Chrome整合了許多Open Source projects,其中,許多專案共用一些工具專案,欲簡化管理,Google Chrome使用了Visual Studio的一項功能叫:Visual Studio Project Property Sheets

什麼是Project Property Sheets?三個字:好東西。舉例說明:

假設有好幾個專案都有用到Boost C++ Library,一般會在Project Properties裡的C/C++ > General > Additional Include Directories,填上Boost的路徑。這樣該專案便能使用到boost的標頭檔。

麻煩來了,如果你有十個專案都用到Boost,同樣的動作需要做十次(以上)。更慘的是,如果Boost出新版,而你又很想要新版才有的功能,那麼又要重覆十次(以上)的動作...Orz
From Coder to Developer:DRY (Don't Repeat Yourself)

這個時候Property Sheets就派上用場了。到Visual Studio 2005/2008,View > Property Manager,打開Property Manager後,在你的專案上點選右鍵,選擇Add New Project Property Sheet...,給個名字,出現一個與Project Properties一模一樣的視窗。

在該視窗上設定好Additional Include Directories,存檔後,同目錄下就會出現一個副檔名為vsprops的檔案,就叫它using_boost.vsprops吧。

接下來只要到其它九個專案的Property Manager,點選Add Existing Property Sheet...,選擇using_boost.vsprops。再把原本的Additional Include Directories設定殺掉,這些專案就會用到using_boost.vsprops提供的設定。未來要變更Boost路徑或升級,只要更改using_boost.vsprops即可。

我也是看了Google Chrome source code,才知道有這麼好用的功能,唉~真是慚愧...Orz

Learning from Chrome: Unit Test Using Google Test

Google Chrome使用了自家的Google C++ Testing Framework。底下是Chrome Unit Test的輸入,相當簡潔、親切可人,令人愛不釋手...

透過Google Chrome,順便了解Google Test的設計內涵,以及使用方式。

如何正確的使用Unit Test Tool,提昇程式碼的穩定性,降低錯誤率,是任何有志從事程式設計的人,必修的課題。這是基本功,但很多人都忽略了,包括我自己..Orz

From Coder to Developer,你要當有腦子的Software Engineer,還是只會蠻幹的Programmer?

Unit Test Tool很多,底下列舉幾個我聽過的:

Learning from Chrome: Build Succeeded

今早第二次嘗試編譯Google Chrome,在一台雙核心的筆電上,約二十分鐘編譯完成。

令我驚訝的是,以往也嘗試編譯幾個Open Source Project,光是準備編譯環境就要花不多功夫。

但是編譯Google Chrome,我只按了Visual Studio 2005上的Build,二十分鐘後,一個完整地、可立即使用的Google Chrome Debug version就放在同一個目錄下。光這一點,就令我覺得佩服。

Google Chrome整合了許多Open Source Project,我想Google相當清楚,整合的工作由Google完成了,其他人有意貢獻己力的人,只要專心寫程式就好了,如此一來,整體綜效便提昇不少。

最爽的是,可以在Visual Studio 2005 step by step tracking code,真是「享受」啊!

Update: 這裡列出Google Chrome整合的Open Source Projects,在在顯示了整合能力的重要。


2008年9月3日

Learning from Chrome: Accelerating the build

Google Chrome Build Instruction,〈Accelerating the build〉 一節提到提昇編譯效率的幾個方法,其中一項為:

Defragment your hard drive regularly

有幾個「鐵齒」的同事,每次談到「磁碟重組」時,其論調是「磁碟重組」只會讓硬碟更快損壞,既浪費時間,又沒效益,所以他們重來都不做「磁碟重組」,因為那根本就是狗屎…

自信過頭的結果,容易忽略顯而易見的事實。找一下相關的資料,就可以知道「磁碟重組」到底有沒有幫助。如果一點幫助也沒有,那些靠這個吃飯的廠商還混什麼?Windows 幹嘛要內建這樣的工具?

積極學習的第一步是:千萬別裝瞎!

2008年3月5日

《UNIX 終極指南》的翻譯品質

網路上看到《UNIX 終極指南》第二版的TOC,算是新手的入門書,感覺不錯。前陣子便順道天瓏入手。

看了幾個章節,發覺本書的翻譯品質實在很不理想,翻的很...怪(像機器人),例:
  • 425頁,十四章,其中一項學習目標原文摘錄:
    發現機制在SSH(安全的shell)後面並且工具ssh,slogin,sftp,和scp。
  • 同一頁:
    學習MUA,MTA,和MDA合作的影響在網際網路上運送信件。

我的天,光這兩句就有夠吐血的。不曉得用Google翻有沒有這麼誇張,既然掛名字出來,就要對自己的工作負責吧。這種品質,不曉得出版社在幹嘛!?

2007年7月30日

希望Thunderbird再進化

Mozilla決定將資源放在Firefox上,Thunderbird會分出來成為另一個「組織」

我在Thunderbird還沒1.0之前就開始使用它了,一直到現在,這幾年它一直是我主要的郵件客戶端。而且,它也的確很稱職。不像Outlook Express,郵件一多,就頻頻出問題。

現在Thunderbird有可能(被動)脫離Mozilla(詳細情形不是很清楚),讓Mozilla專心開發Firefox。對於Thunderbird來說是福是禍,有待時間證明。

相關連結:

Google Analytics

Powered By Blogger
Get Paint.NET!