夏目寓言, 夏目看到一隻貓長著兩條尾巴
這是一篇寓言,起因是我近日看的一套漫畫,「綠川幸」著作的《夏目友人帳》(台灣由東立出版社代理翻譯中文版,中文版書名《妖怪聯絡簿》) 。看漫畫是件有趣的事,我在閱讀時常常會假想自己若是書中一份子,又該如何扮演我的角色,又會如何與書中角色互動。我看完《夏目友人帳》後,設想自己是書中的角色,碰到主角「夏目」時會跟他說些什麼。我所假想的內容,便成為這篇寓言了。
這是一篇寓言,起因是我近日看的一套漫畫,「綠川幸」著作的《夏目友人帳》(台灣由東立出版社代理翻譯中文版,中文版書名《妖怪聯絡簿》) 。看漫畫是件有趣的事,我在閱讀時常常會假想自己若是書中一份子,又該如何扮演我的角色,又會如何與書中角色互動。我看完《夏目友人帳》後,設想自己是書中的角色,碰到主角「夏目」時會跟他說些什麼。我所假想的內容,便成為這篇寓言了。
在進行任何程式的設計工作之前,我們必定已經知道程式的輸出入結果,亦即我們已經確知當使用者輸入什麼資料後,程式應該輸出什麼結果。更進一步說,我們已經知道使用者將如何使用這個程式,諸如使用者在操作過程中會做什麼事,而程式對操作內容應該如何回應等等。這段理所當然到近乎廢話的敘述,卻是所有軟體設計人員惡夢的開始,也是所有軟體工程實踐作法的起點。在 eXtreme Programming 中,我們稱這些內容為「故事 (story)」;在 RUP 中稱之為「使用案例 (use case)」;在 Microsoft Solution Framework 中稱之為「情節 (scenarios)」。我個人偏好使用「故事」一詞,因為它不像術語。既然故事是設計人員惡夢的開始、設計工作的起點,那麼就先說一個故事。
欲建立一個運動會報名表單,一位選手可報名參加一個以上的項目 (如100公尺、200公尺等) ,資料庫表格應如何設定?
我們通常不會在一個選手表格中建立多個比賽項目的關聯欄位,像 game1, game2, game3 這種欄位設置就不太適當。第一、如果多數選手只參與一個項目,則剩下的 game2, game3, etc. 欄位就閒置了,佔用磁碟空間。第二、限定了可參加比賽項目數的上限,如果我只定義到 game3 ,則一位選手最多只能參加 3 個比賽項目。第三、只能用複雜且僵化的查詢語句,例如 SELECT * FROM "Players"
INNER JOIN "Games" ON "Games".id = "Players".game1 OR "Games".id = "Players".game2 OR "Games".id = "Players".game3;
,欄位愈多則 OR
條件 串的愈長。當然,如果程式需求限定每位選手至少參加一個項目,最多參加 2 個,那麼用這種方法倒也無妨。
HTML 表單傳送給 PHP 的資料, PHP 會自動儲存在全域陣列中,例如以 POST method 送出的表單資料便儲存在 $_POST
全域陣列,以 GET method 送出的表單資料儲存在 $_GET
全域陣列。如果我們為表單元件命名 (指派了 name
屬性) ,則可以表單元件名稱為陣列鍵值。例如表單有一個名稱為 "userAddress" 的文字輸入欄位 <input name="userAddress" type="text"/>
,且此表單以 POST method 送出,則 PHP 中可以 $_POST['userAddress']
取得使用者在此欄位中輸入的資料。上述是 PHP 處理表單資料的基本概念。
聯合報日前報導權威學術期刊《Science》刊載我國中興大學生化所教授張邦彥投稿到《Cell》期刊的論文涉嫌造假。聯合報,民國九十五年12月21日A7版訊 讀者質疑論文中的數據圖片是經變造過的。張教授事後也承認圖片製作時有所疏失,學生直接編輯原始圖檔導致圖片有編修痕跡。
事件發展如何,尚有待觀察,但這事件只是冰山一角罷了。雖然這個事件是自然科學的研究論文,但國內的社會科學研究中,其實也少不了這類故事。
前幾天晚上我發了一篇文章在部落格上,當時我用 Firefox 觀看很正常。隔天我在公司用 IE6 觀看那篇文章時, IE6 意外出現「MSHTML.DLL 執行錯誤,瀏覽器即將關閉」的錯誤訊息。後來我試了許多電腦,無一倖免, IE6 都會當掉。
jeffhung 在 HEMiDEMi 中回應:應該是因為不懂 template 的奧妙,才會覺得「C++ 中有一層厚厚的濃霧將 template 包圍起來」吧?(HEMiDEMi - 共享書籤 - C++ library 的發展困境)
。我其實很欣賞 template 的概念,卻也因此我才說 template 是「C++發展困境」的原因。
《時代雜誌 (Time)》2006 年票選年度風雲人物就是「你」。See: TIME.com: TIME Magazine -- December 25, 2006 Vol. 168 No. 26
You. Yes, you. You control the Information Age. Welcome to your world.
這句評語和樂多日誌的標語「一個人向世界發出聲音」有異曲同工之妙。是的,「你」不再只是聽者。不論「你」是多微不足道的人,「你」都可以將「你」所知道的事,告訴遠在他方且素未謀面的人。
英國政府於2005年12月委託 Andrew Gowers 進行一項關於智慧財產權架構的調查研究報告,該報告 (又稱 Gowers Review of Intellectual Property) 已於2006年12月6日出版。該文調查智慧財產權相關 (如專利、著作權與商標) 的法律內容,並提出政府管理智慧財產權的建議事項。據 CNet 新聞《英國考慮用wiki紓解專利瓶頸》指出,英國專利局正打算試行其中關於專利審查的建議措施,以解決日漸龐雜的專利審查案。
The Review examined the instruments of Intellectual Property i.e. patents, copyright, designs and trade marks, to ensure that they are balanced, coherent and flexible, and at the operations; how IP is awarded, used, and enforced. The Review also considered the governance of IP. Gowers Review of Intellectual Property
讀者可於《Gowers Review of Intellectual Property》取得報告全文 (PDF文件) 。另可於社群網站《Gowers Review of Intellectual Property@Open Rights Group》針對個人感興趣的議題,發佈個人評注與意見。
Java SE 6 已經發佈 (2006/12/11) , Sun 新聞稿標題宣稱這是革命性的版本。
Java SE 6 software makes development easier, faster and more cost-efficient and delivers enhanced functionality for web services, dynamic language support, diagnostics, and desktop applications. Sun News: Sun Announces Revolutionary Version of Java Technology – Java Platform Standard Edition 6
在《NV社: 萬物的尺度》一文中介紹了《萬物的尺度》這本書。從書中可以看出,仍然有些科學家未能區分客觀尺度與主觀感覺的差別。主觀性概念不可能界定出客觀尺度。所謂...共同貨幣歐元,就是公制的直接繼承人。近來似乎價格終於成為萬物的尺度了
。,認為價格具有客觀性更是經濟學中因為方法論錯誤而產生的錯誤見解。
所謂 "有餘與不足" ,是以 "所欲" 分,不以 "量" 分。欲不滿者,金盈堂室猶不足;欲寡者,食僅簞瓢或有餘。是以,我們絕不能以客觀上、物理上的尺度量值去區分 "有餘" 與 "不足" 「天之道損有餘而補不足」在經濟思想上的誤解
將不具客觀性的價格視為客觀尺度,反而形成了橫徵暴斂的人為惡行。部份科學家忽視了天地萬物每個個體的差異性,也忘了人只能透過感覺器官接收外部資訊,而感覺器官是不靈敏且不準確的先天限制。該書作者的總結反而更接近真實:...無關個人的度量也是人類幻想、人類熱情,以及在特殊地區挑選特殊人物等的產物。所以追根究底,古希臘哲學家羅塔哥拉斯的那句名言果真沒錯:『人是萬物的尺度。』
。
PHP 的比較算符中 (Comparison Operators) 提供了兩種相等算符,一為 Equal 算符(==
),另一為 Identical 算符 (===
)。這兩種算符是因應 PHP 的型態彈性 (或稱動態型) 而設置,其差異在於 Equal 算符會自動轉換兩側變數的型態,而 Identical 算符不會轉換型態,因此 Identical 算符要求值以及型態皆相等才為 True
。
初次接觸奧地利經濟學派 (Austrain School in Economics) 的著作是在 MBA 碩一時,看的第一本書就是最薄的《經濟學的最後基礎》,初讀時猶如天書難以理解。但它讓我確信數學不是唯一涉入經濟學更高思考層級的工具,那裡有著更適合我的研究方法存在。
我前幾天發現 blog 邊欄訂閱的 RSS 欄位的內容沒有顯示出來,追蹤了一會兒,發現是 blog 系統在輸出 RSS 內容時,沒有處理換行字元,令 JavaScript 碰到非預期的敘述斷行導致執行失敗。追蹤過程中,我順手寫了一個 PHP 程式測試這個狀況。後來我把這程式擴充一下,改寫成一個簡單的 RSS 閱讀器。
這個 PHP 程式,使用 SimpleXML functions 處理 RSS 文件,並且實踐了一個非常簡單的 MVC 架構。
看到《C 的 marco》中例舉的 C Macro ,讓我有憶起舊日時光的感觸。當初覺得 Macro (in Assembly and C) 很有趣,但和最近興起的動態語言比起來, Macro 似乎只剩下讓 programmer 少打些字的功能。再者, Macro 的內容沒什麼規範,換個 C compiler 可能就不能用了。雖然我也是 gcc 使用者的,但這類特殊功能我想還是能免則免。
在符合 ANSI C99 規範的 C compiler 之中,用 inline function 可保有 Macro 的優點,而沒有 Macro 的缺點。An Inline Function is As Fast As a Macro
。Also see: Explain Inline Function in C (GCC compiler)。所以現在大多用 inline function 而不用 macro 了。
公司一直想在網路購物上創造利潤,擴大營業額。然而公司內部一直沒有賦予網路購物業務清晰的角色定位,再者公司高層一心只想看到「營業額」,始終沒有正視「電子商務」的功能與重要性。
晨星Workshop 提到:
C++現在最缺乏的就是 library的支援,因為相對於Java及一些script language,C++的lib相對的難以開發,需要考慮到的層面太廣了,像是記憶體管控、型別轉換,以及不同平台的實作,造成lib開發的不易
從 PHP4 到 PHP5 , PHP 不只改善了個體 (object) 的成員保護程度,也引入了 PHP 稱為「magic methods」的特殊行為。 Magic methods 提昇了 PHP 的動態性,活用 magic methods 可以大幅減少程式碼中類似的重覆行為,並為 programmer 帶來更開放與直觀的程式撰寫彈性。
今天,我妹妹拿著一道今年高普考的考古題問我為什麼答案是 70 ,然而那題目還真是考倒我了。題目內容如下:
假設檳榔的需求函數是 Q=50-5P , Q 與 P 分別代表檳榔的數量與價格。目前檳榔的價格是 2 。假設政府擬限制檳榔的生產,一旦檳榔的供給減少,價格將上漲至 4 ,則檳榔消費者願意付多少代價,阻止政府實施管制?