創造論、演化論與賽局
在寒山石徑之《演化論、創造論及賽局理論》中敘述演化論與創造論(上帝造物論)之間的科學爭議,並提到賽局理論如何解答此問題。
在寒山石徑之《演化論、創造論及賽局理論》中敘述演化論與創造論(上帝造物論)之間的科學爭議,並提到賽局理論如何解答此問題。
請問 PDF 可以不要顯示在瀏覽器上面,而是直接按下列印鈕(列印)後,直接由印表機印出嗎?
于Taiwan PHP User Group所見問題
可以,但不要忘了 PHP 是在 server 端執行,所以 PHP 將使用 server 端設定的印表機輸出列印資料。請把設計思維整個切換到 client-server 架構,然後想想你的軟體運作環境是否方便從 server 端的印表機輸出資料。如果是公司內部那就可以,因為公司內部大部份是將資料集中到網路印表機輸出,當然也可以讓 PHP 直接把 PDF 輸出到網路印表機。如果是公開環境,例如使用者坐在自己家裡上網,那就不行了。
《老子》有云「不善人者善人之資」。了解不適當與錯誤的方式,也是學習中重要的一環。在程式設計的領域中亦如是,好的設計方式會 patternalization ,壞的設計方式也會。Jack D Herrington 于 Ajax and XML: Five Ajax anti-patterns 列舉了 5 種常見的 Ajax anti-patterns 。這5種確實常見,我個人也有不少經驗可與之聯繫。
FireFoxer 于 要不要走程式設計這一行 提到「興趣」對於一個想走程式設計這一行的人是否必要。
個人看法以為興趣是必要的。Programming 基本上是一種「設計」工作,尤其對我這種傾向 Agile method 的程序人員而言更是如此。設計就是編程,編程就是設計。我們不但要達成功能需求,更在其中追求技藝之美。如果沒興趣,將得到一個「程式碼打字人員, code typist」,而不是一個「程式設計人員, program designer」;兩者之差別在「創造力」,其差異宛如臨摹者與畫家之分。
在我看來資訊軟體產業中也分很多行,而程式設計 != 資訊軟體產業。我並不輕視 code typist ,因為資訊軟體產業這一行還是需要 code typist ,但走這條路不等於走程式設計這一行。再者就我週遭經驗,沒有興趣以及一定偏執程度的人,通常在這條路上都待不久。儘管他們不會離開資訊軟體產業,但不會再投入編程工作了。
我在《軟體工程的 GPS》說「一個人寫程式,其實很苦悶;兩個人一起寫,就頗有樂趣了」。這句話發自心腑。獨行之路不好走,沒有興趣走不下去。
前幾天我在每天固定活動的某ACG論壇中,看到有人問如何在文章的漢字上標注假名。某元老人士說可以用 HTML 中的 Ruby 標籤。這我以前沒用過,當下就去搜尋相關資訊。
Ruby 標籤屬於 W3C XHTML 1.1 規範項目,規範內容查閱《Ruby Annotation》。原本是 Micorsoft IE 5.5版加進的延伸功能,後來成為 W3C XHTML 1.1 規範項目之一,目前 IE 以外的瀏覽器仍未普遍支援此標籤。Firefox 的使用者可以安裝 ぴろ 氏提供的「XHTML Ruby Support」擴充套件。
當使用者按下瀏覽器的「重新整理」按鈕後,又再次新增一筆相同的資料,要如何避免這種情形? 于Taiwan PHP User Group所見問題
使用者按「重新整理」時,瀏覽器會再次送出表單資料 (現在的瀏覽器應該都會警告使用者將再次送出)。說白了,這等於問使用者是不是要再新增一筆同樣的資料。
解決方式不難,處理表單的 PHP 程式輸出一個要求瀏覽器重導向到檢視頁面的動作即可,「重導向」動作就是引導瀏覽器轉向其他頁面。當頁面重導向後,瀏覽器就不會於重整時再次送出表單。
例如使用者於 input.php 填入表單,表單送交 save.php 處理, save.php 處理之後引導瀏覽器至 list.php 。根據 HTTP 協定,引導瀏覽器轉向新網頁的導向動作為 header('Location: 新網頁之URL');
。See also: header()
Google Code 是一項開放源碼專案管理服務平台 - Google Code Home,它採用 Subversion 作為版本控制系統(See also: Programming with Subversion Quickstart)。想申請建立專案非常容易,只要到 Prject Hosting 中填好申請表格即可建立專案。唯一限制是軟體授權證一定要採用 Google Code 提供的開放源碼授權證 (如 GPL, Apache License, New BSD License)。必須先登入 Gmail 帳號之後,才會出現 Create a new project 的申請表連結。提醒事項:
第一部份《PHP 實踐 mix-in 概念之可行性》一文中解釋了 PHP 的個體如何加入新的方法。但那僅針對個體而非類別,那些混成內容無法繼承再用。而 Ruby 的混成(mix-in)概念是針對類別,其混成結果是一個類別,這些混成內容可經繼承機制再用。所以我接下來就要為 PHP 實踐一個可以混成的類別 - MixableClass
。
我的設計目標有二。第一、個體可以動態增刪方法,且不影嚮其他個體。第二、以抽象化方法混成新的類別。
權威性期刊《Economist (經濟學人)》日前刊登「Cultural revolution - The fight over a dictator's legacy」一文評論台灣的中正紀念堂處理爭議。自由時報不負我所期待,寫了篇很阿Q 的回應評論「經濟學人去蔣化報導 統派媒體硬拗為文革」。自由時報的政治版一向很阿Q ,這一篇回應也是如此。我懷疑自由時報的記者根本不了解什麼是「文化大革命」。他所知道的文化大革命,或許只是國民黨過去灌輸的偏差印象。因此,自由時報記者看不出經濟學人以「Cultural revolution」為主標題之用意。
In PHP, the global array $_FILES will contain all the uploaded file information. However, the temporary filename of the file in which the uploaded file was stored on the server is not the same as source filename. If you pass the temporary filename to SpreadsheetReaderFactory, it could not detect which reader to suit.
我在《類別繼承、介面宣告與模組混成(mix-in)》中提到 Java 的介面(interface) 無助於提高程式碼再用性。而 jaceju 在回應中提醒我還有 delegate 這種方式。
中華人民共和國 (以下稱中共) 十屆全國人大五次會議 中最重要的法案議題,無疑是進入第八次審查的「物權法」。物權法是中共改革政策首次涉及私有產權之法案,預料此法將在今次會議中定案,果真如此,那麼中共社會將面臨改革以來真正的挑戰。
PHP library for read data of spreadsheet files. It supports OpenDocument Spreadsheet (.ods), Microsoft Excel 97/2000 (.xls), CSV (.csv), and Text with tab-separated or patterns (.txt).
Use this command to anonymously check out the latest project source code:
svn checkout http://php-spreadsheetreader.googlecode.com/svn/ php-spreadsheetreader
Current download link: SpreadsheetReader_rev-25.zip。
This proejct is hosted in php-spreadsheetreader - Google Code. It is issued on under the GNU Lesser General Public License. For further information click here.
在思考 Ruby 模組與混成(mix-in)概念的過程中,勾起了我當初學習 Java 的記憶。C++ 藉由多重繼承達成程式碼再用之目的,也因此衍生了類別鑽石繼承問題。而 Java 出現時,強調它使用單一繼承並結合介面宣告而避免鑽石繼承問題。然而我對介面的使用經驗卻是負面的。
介面只宣告行為的外觀而不牽涉細節,細節在類之中個別實現。舉例而言,如果有兩個不具共同父祖類別的類,假設為 A, B 類,但具有一個共同的行為、一段相同的程式。 C++ 的作法是將此共同行為 - 亦即這一段相同的程式 - 設計為一個類,假設為 C 類,再令 A, B 類多重繼承 C 類;只要 C 類之中沒有任何屬性與 A, B 類之父祖相同,就不會導致鑽石繼承,同時達成程式碼再用之目的。Java 的作法則有兩個方式,其一是介面,其二是深度繼承。
對未曾接觸法學內容的人而言,通常不理解也不需要區分事實與罪行之差別。因為多數時候只需要知道結果為有罪或無罪就夠了。然而一但開始進行探討,隨著討論內容之深入,其間差異就會漸漸明顯而重要。譬喻而言:距我一公里以外的兩件物體,就算長度差了10公分,我也覺得一樣長;但若那兩物體就在我面前,我就覺得差很多。
為什麼發生了看似同樣的事,有的是罪行、非法行為,有的卻合法呢?此為法學基本課題。
前一陣子根據老闆要求,寫了一個重點商品銷售統計報表的程式,每天統計各門市到昨天為止的重點商品銷售統計,將結果輸出到網頁讓每個門市都可以瀏覽查看。這程式運作了一段時間後,老闆覺得還不錯,就要我改成暢銷商品銷售統計,納入上千項商品為暢銷商品。因為上千項商品的報表很長,老闆就要我加上排序功能。
要排序當然OK啊。只是我很懶,不想為了視覺效果去修改統計程式,更不想為了更新排序結果而要伺服端再回傳一次頁面。於是我打算以動態網頁的方式,直接用 JavaScript 對網頁上的統計表格排序。
Alex Yin 在《請使用者也參與軟體專案, CMMI-ACQ》中回應:「正確而言並不適合將使用者與甲方畫下等號。現有的軟體工程在IEEE-STD-12207的Acquisition Process就是敘述甲方(軍備局)的activity。」純粹從 PM 的角度來看,確實在發出採購案前,甲方內部應先進行一套評估流程。但甲方內部流程並非我關注之事。我是一個 programmer ,所以我關心的是已進行採購且軟體專案開始實施的狀況,而且基於 Agile methods 強調使用者參與的精神,我更注重使用者在軟體開發的活動中扮演了什麼角色?
科學界過去認為,只有人類和其他靈長類才會了解自己的能力與不足之處,亦即具有所謂「後設認知」的複雜思考能力。……
老鼠似乎有能力判斷自己是否擁有做出正確回答所需的資訊。
老鼠有自知之明? - 聯合報中華民國九十六年3月11日A12版訊
《老子》有云「知人者智,自知者明」。「自知」是一種複雜的思考能力,此類能力在心理學界屬於「後設認知(Metacognition)」之研究課題。人們過去認為只有人類才具有自知能力。但近來研究證明許多靈長類動物同樣具有後設認知能力。最近一篇研究指出,老鼠似乎也具有自知能力。後設認知可能並非靈長類動物所獨有之天賦。
Google 的搜尋服務幫助人們在廣大的網路資訊找到需要的資料,然而隨著搜尋內容之深度與廣度增加,這些服務內容也惹上愈來愈多的著作權爭議。