跳到主要內容

發表文章

目前顯示的是 3月, 2013的文章

軟體版本編號方式

  Apache Portable Runtime Project Version Numbering  這分文件詳細定義編號意義,讓編號代表明確的軟體工程意義。 基本上就是3個數字組成:  MAJOR.MINOR.PATCH 每一個數字改變都有相容性上不同的意義。 由github 提出的版本編號規格: Semantic Versioning

Application Framework 設計感想

關於一個application framework 該怎麼設計,根據這陣子工作的經驗,整理一些心得。 使用時鬆散,設計時嚴謹。 鬆散是方便使用者,算是抽象化帶來的好處,使其不需要瞭解運作細節就可以使用。設計嚴謹才容易在其上發展更多應用,如輔助工具等。可以讓你鬆散使用的技術,背後在設計的時候都有嚴謹的定義,當運作不如你預期的時候,可以依循一個嚴謹的規則檢視背後的運作流程來除錯。 從簡單的原則與概念開始,漸進地增加概念。 每次增加一個概念,都要與既有概念一起比較分析,看有無衝突之處。 Spring framework 最早只從一個 Dependency Injection概念開始,發展到今天成為一個 de facto Java EE standard。 我相信儘可能的維持簡單才是好的設計,因為人的心智是極為有限的。 整體應維持一致的設計哲學。 兩種相反的程式語言設計哲學: Python: There should be one-- and preferably only one --obvious way to do it Perl: There's more than one way to do it. 沒有對錯,只有維持一致才不會讓使用者混亂。 有一致的規則,使用者容易理解,可以舉一反三,不用事事皆需查文件,也無需針對各種情況寫文件。 從使用角度來定義需求,並用嚴謹的技術去滿足。 從使用者角度評估才能解決他們真正的痛點,但用嚴謹的技術才能維持長久發展。 Framework 新創的抽象概念應有明確的定義。 定義不清楚將導致使用者學習的障礙。 Application framework不是Application Application framework的目的是協助它的使用者建造application,而application(應用程式)本身是要解決應用情境的問題。所以application framework的抽象層次要更高一點,不要對應用情境有過多的假設。

TortoiseGit (Git 客戶端)

TortoiseGit是Windows下可用的Git 客戶端,可用來與Github連線,push及pull程式碼 簡單裝安裝教學: [教學]初心者git (TortoiseGit) + GitHub使用教學 使用的時候記得啟動Pageant (Putty agent)並把產生的private key加到Pageant中,才可進行ssh通訊。