為什麼程序員不用版本控制工具?
自從我到某資訊軟體公司做過一陣子程式工程師後 (過去式) ,我就一直在感慨為何國內的多數程序員不用版本控制工具 (Version control system) 。這個問題不久前得到了解答。
自從我到某資訊軟體公司做過一陣子程式工程師後 (過去式) ,我就一直在感慨為何國內的多數程序員不用版本控制工具 (Version control system) 。這個問題不久前得到了解答。
每一個網頁 (web page) 都是一個 service object ,都是隱性的函數物件 (function object) ,可以直接呼叫 (GET) 。網頁中的每一個表單 (form) 都代表了此 service object 的公開行為 (public method) ,每個表單的內容都是 service object 之公開 行為的反射 (reflection) ,可以查知其參數,也可以調用 (POST) 。
暫且忘了 WSDL, REST ,那都是招式。所謂無招勝有招,掌握上述心法,就能把每一個網頁都視為既有的服務 (Web Service) ,無(PAge)不(GEt),無方(FOrm)不破(POst) ... 暫時想不到有趣的諧音字。
PHP 5.2 新版發佈的時間 (2006-11-02) 真是快的超乎我預期,重大功能加了不少。我摘要重要內容加以說明並評註一番。 PHP 5.2 UPDATE 全文請見《PHP 5.2 UPDATE》。
自 PHP 5.2 起,正式納入 JSON extension 。函數名稱跟 php-json 一樣是 json_decode()/json_encode() 。稍微要注意 json_decode() 多加了一個選擇性的參數。 PHP 官方的 json_decode() 對於 Object of JSON 的回傳型態是個體 (object) 而不是陣列 (associative array) ,但可以指定第二個參數為 true 以回傳陣列。這個差異是基於 JavaScript 和 PHP 的語法不同。對 JavaScript 而言, obj.member 和 obj['member'] 是等義的,兩者都是個體成員存取操作。對 PHP 而言, $obj->member 和 $obj['member'] 卻是不等義的,前者是個體成員存取操作,後者則是陣列索引子操作。
Subversion (簡稱 SVN) 是繼 CVS 之後新興的版本控制工具 (version control system) 。對於版本控制工具的諸多概念與名詞,我並不打算說明,因為《Version Control with Subversion》已經說得很仔細。以我個人的經驗,任何接觸過版本控制工具的 programmer ,都會上癮,深陷其中、不可自拔。誇張地形容, Programmer 可以沒有 IDE 工具,但不能沒有版本控制工具。
使用 inner join 和 sum() 統計進貨數量。由於要進行分組合計,遂有兩種可行且結果相同的查詢敘述。但這兩種查詢敘述的 explain 和效能有所差異,視資料庫系統的查詢引擎而定。
"Principles of Economics" is made available online. 奧地利經濟學派奠基作,由 Carl Menger 所著之《經濟學原理》一書,現在可在 Mises.org 下載完整的英文譯本電子書 (PDF) 。請瀏覽「"Principles of Economics" by Carl Menger 」下載及其他事項。也請拜訪「奧地利經濟學派@Wikipedia」獲知更多關於奧地利經濟學派的歷史。現在在網路上可找到的資源,比過去要豐富多了,真是令人欣喜。
隨著 IBM DB2 v8,v9; Oracle9i release 2; 以及 Microsoft SQL Server 2005 相關文件出現,我注意到它們都有提供一個由 SQL:1999 (簡稱 SQL-99 或 SQL3) 所規範的 CTE (Common Table Expression) 查詢語法。 CTE 查詢語法簡化了以往「子查詢表格」的複雜語法與難讀敘述。不妨試著解讀《一個較複雜的表格聯結 (join) 範例》一文的範例,想看出裡面有四個子查詢表格確實不是件容易的事。
根據《Boost application performance using asynchronous I/O》一文所做的區分,在 POSIX 上的 I/O 處理模式可分為四種。該文所舉的 POSIX AIO API 是晚近較新的處理模式,是 POSIX.1b 基於 realtime system (即時系統、實時系統) 之需求而定的規範內容,其概念是事件驅動模式, AJAX 中的 XMLHttpRequest 調用方式就是這種模式。在 POSIX 傳統上的非同步 I/O 模式 (即 Asynchronous blocking I/O) ,則是使用 select() 來達成。本文將說明這種傳統模式的使用方式。
天保異聞妖奇士第二話,以山神獻祭之迷信風俗,揭露迷信背後的真相。故事起自一對從日本東北地方 (陸奧南部藩,「南部」是藩主的姓氏) 流浪到江戶的母子,理由是因為當地饑荒,父親按照當地風俗將兒子帶到山上獻給山神卻又反悔,因而觸怒山神,不得不逃離當地。然而第二話揭開真相,事實完全不是那麼一回事。
2006 諾貝爾和平獎 (Nobel Pirze) 頒給了一名經濟學家,他是孟加拉的 Muhammad Yunus 。"for their efforts to create economic and social development from below"
, The Nobel Peace Prize 2006。我個人認為,他也應該得到經濟學獎的肯定。
隔了一年後再次應考乙級電腦軟體設計技術士 C++ 職類,依然歃羽而歸,真是令我情何以堪。好在學科成績可以保留三年,明年再挑戰吧。雖然已經是第三年進行術科檢定了 (第一年我沒考) ,但考題內容似乎還不是很完善,監考老師在檢定中途陸續修訂了數次題目的內容,多少令應檢者有些困擾。
在 PHP 社群中, Zend Framework 是最具 PHP 官方色彩的 framework ,雖然還在發展階段,但已足夠應付常見的應用程式需求。 developerWorks 刊載了 Zend Framework 入門連載,全系列文章尚未完結。
Free Software Foundation 已經發佈了 GPLv3 第二版草案。此草案仍然充滿了許多爭議內容, CNet 在「頂尖Linux程式設計師痛批GPLv3」報導了主要爭議內容,其整理出三點。一、DRM (數位著作權管理);二、專利;三、日後程式設計師可能在GPL添加的額外限制條款。我將我個人關於這三點的意見列於下。
Dear Chiang
老子道德經乃影響法家深遠之重要典籍,本欲瞭解其內涵,但卻不知如何切入,您在文章中提及,應先從『道經』部分著手,在此需請教的是,我應如何學習到正確的道經內涵,學習道德經是否也有一套學習方法論可加以運用呢?
用現代研究方法的術語來說,道經是科學哲學觀及方法論,德經是研究方法與實踐。韓非解老,先解德經後解道經,蓋法家重實務,且法家的科哲觀與道經已有所偏差。我以為法家思想,就是在對人心的所欲以及對道的認識這兩方面,走叉了路。例如我在「『天之道損有餘而補不足』在經濟思想上的誤解」一文中,便認為若從統計實證和歷史主義的方法論,則《老子》將成為國家權力高度涉入的法家主張。一解之差,道法兩家。所以我主張必須先從科哲觀與方法論著手。
GPLv3 草案這一陣子傳出不少反對聲音,反倒是 GFDLv2 (GNU Free Documentation License v2) 草案及新出爐的 GSFDL (GNU Simpler Free Documentation License) 草案風平浪靜。
新台幣發行史頭一遭 ~ 貴金屬大漲 1元銅板身價 1.26 元
記者 呂郁青/台北報導新台幣發行史上第一遭,收集破銅爛鐵的業者及集郵社,最近就掀起一股收集五角跟一元硬幣熱潮,因為一元硬幣材質的價值已達 1.26 元。
...(中略)
鋼鐵運送與熔燽的成本不到百分之十,熔掉一元還是有兩位數比率的獲利,熔掉五角獲利最豐富,也就是說,現在的一元硬幣有 1.26 元的身價,五角則有 0.93 元的身價。
《聯合報 中華民國九十五年五月十八日 A6 版》訊