Equal (==) and Identical(===) in PHP
PHP 的比較算符中 (Comparison Operators) 提供了兩種相等算符,一為 Equal 算符(==),另一為 Identical 算符 (===)。這兩種算符是因應 PHP 的型態彈性 (或稱動態型) 而設置,其差異在於 Equal 算符會自動轉換兩側變數的型態,而 Identical 算符不會轉換型態,因此 Identical 算符要求值以及型態皆相等才為 True 。
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 ,則檳榔消費者願意付多少代價,阻止政府實施管制?
今天在逛部落格時,無意中看到一個熟悉的字眼,那就是「興奇科技」。「興奇科技」是「Yahoo!奇摩購物中心」的平台業者。「Yahoo!奇摩購物通」則是另外一間,別弄混了。這字眼之所以引我注意,則是工作業務有相關。
JavaScript 調用 function object 的方式,除了傳統的 () 算符 [若用 C++ 的表達方式,即 operator() ],還可以藉由 call() 和 apply() 兩種個體行為調用。
知其不可奈何而安之若命 《莊子.人間世》
這話可分兩半來看,前半是「知其不可奈何」,後半是「安之若命」。知「人力時而有窮、天地間有客觀不可改變之限制」易;坦然接受,泰然處之則難。做到前半段簡單,但要做到後半段很難。許多人只做到「認」命,而做不到「安」命。願承認人生不可重來者,才會積極地面對當下,無悔地接受結果。
我個人喜歡簡單、敏捷。因此當我在網頁文章中放置圖像 (image) 時,我希望透過 JavaScript 改變圖像的呈現方式,加上一個標題以及外框。標題自動從圖像的 'alt' 屬性中取得,當然啦,順便加上順序編號看起來就更正式了。
以道佐人主者不欲以兵強於天下,善者果而已,不以取強,果而不勿伐,果而不勿驕,果而不勿矜,是謂果而不強,其事好長。
以道佐人主者,不以兵強天下。其事好還,師之所處,荊棘生焉;大軍之後,必有凶年。善者果而已,不敢以取強。果而勿矜,果而勿伐,果而勿驕。果而不得已,果而勿強。物壯則老,是謂不道,不道早已。
此章據《簡本》訂之,又《簡本》作「以[彳人亍]佐人主者」(此字為「人」字夾在「行」字中,今無此字。《帛本》、《通行本》皆用「道」字。)。另《通行本》與《帛本》其字義皆多於《簡本》,我以為僅具解釋之用,學者多認為係後人注釋衍入,故刪去。「物壯則老」以後之字義,與前文不匹配,刪去。(民國94年8月9日修訂)
The Individualism is dead, long live the Individualism.
於網上搜尋自由主義、個人主義之文獻時,看到的字句。很貼切地說明個人主義一詞的現況。現在一般人對於「個人主義」一詞的理解,已和原義相去甚遠。
打從人們開始使用電腦管理資料時,數位資料就一直有著兩種不同的儲存系統,一為檔案系統 (file system) ,二為資料庫系統 (database system) 。過去想使用這兩種儲存系統中的資料,也要使用兩種不同的工具軟體。例如一份儲存在檔案系統中的試算表 (spreadsheet) ,要用檔案管理員移除、複製、搬移,用 Louts-123, MS-Excel 編輯內容;而一份儲存在資料庫系統中的資料表 (table) ,則要用資料庫管理工具移除、複製、搬移,用專屬的前端系統軟體,如aa會計系統、bb進銷存系統編輯內容。即便試算表中的資料內容與資料表中的資料內容完全相同,兩種儲存系統的架構,硬是把人們使用資料的方式切成兩套不同的使用途徑。
自由軟體界 (Free Software) 在本月 (2006/11) 發生了兩件大事,一件是好消息,另一件是壞消息。
先聽聽壞消息吧,壞消息是 Novell 在11月2日宣布和 Microsoft 達成策略結盟,雙方允諾交流資訊,加強雙方平台的軟體互通性。好消息是 Sun Microsystems 在11月15日宣布開放 Java 開發工具的源碼,並以 GPLv2 釋出。
在 Regular Expression (REGEX) 的語法中,有一種方式可以讓我們將 subpatterns 的內容存放在一個數值索引陣列,而以 $1, $2, $3, ... (或 \1, \2, \3, ...) 的敘述方式取用。雖然這已經很方便了,但仍然有缺點,就是比對結果不易理解,時日一久,很容易忘記 $1, $2,... 各是代表什麼意思。所以 PHP 在 4.3.3 版之後增加了一個新語法,可以指派名稱給 subpattern ,這個語法格式是: (?P<name>pattern) 。如此一來就可以將 subpatterns 的內容存放在一個關聯陣列 (associative array) 中,可以鍵值取用,提高程式可讀性。
2006年10月動畫看了那麼多,我個人認為表現最為精彩的,應算《幕末機関說 いろはにほへと》。劇情錯縱複雜,分鏡細膩,兼具時代劇背景。我覺得要說,不妨就把四、五、六話一起談。