2012
04.02

HHKB Lite 2 for MAC

其實我已經有 HHKB Pro (家用) 以及 HHKB Pro 2 (公司用) 了,但我還是想要收藏一把 HHKB lite 2 for MAC ,感謝 Chad 幫我從日本帶回來。

HHKE Lite 2 for MAC 可以看作是 HHKB Pro 2 的精簡版。雖說精簡,但按鍵其實比 HHKB Pro 2 還要多:右邊多了四個方向鍵、左邊多了一個 Fn 鍵。

至於在鍵盤本體方面, HHKE Lite 2 for MAC 則是一般的薄膜鍵盤(HHKB Pro 2 是無接點靜電容量式鍵盤),而且 Lite 版本的鍵盤並沒有 USB 接線分離的設計。

在產地方面 HHKB Pro 2 是日本製造,而 HHKE Lite 2 for MAC 則是由世界工廠 – 大陸製造。
Read More >>

2012
03.29

PHP count() 取得 Array 元素個數 – 效率問題

PHP 的 count() 是這樣用的 int count ( mixed $var [, int $mode = COUNT_NORMAL ] ) 而其對象可以是其實 Object 可以是 Array 也可以是 NULL (一律回傳 0 ) 也可以是其他型態 (一律回傳 1 ) 。

count() 在 PHP 底層的是這樣實作的:
Read More >>

2012
03.20

ELITE Parabolic Rollers 滾筒訓練台

荒廢太久沒運動,也該是時候該要動動筋骨了,所以買了一個訓練台,以後在家裡就可以騎車…

原本要在 Yahoo 購物中心買這個訓練台,不過稍微找了一下,發現同樣的商品(同樣是公司貨),Yahoo! 拍賣上面只賣 6800 元,比購物中心的 8500 元便宜了 1700 元。所以我今天晚上就去店家面交了 (購物中心,對不起…掰掰)
Read More >>

2012
03.20

PHP 5.4 效能比起 PHP 5.3.x 有長足的進步

一年多前有個 C++ vs. Python vs. Perl vs. PHP performance benchmark 測試,當時 PHP 5.3.5 實在是被打的慘不忍睹。

測試程式的內容是找出 10000000 (一千萬) 以內的質數,然後重複執行十次。以不同語言實作,再執行各個比較時間。

我最近在自己的 Mac 上面編譯了 PHP 5.4 ,再跑一次這個測試,結果有比較滿意了 (但比起其他語言,還是輸!)
Read More >>

2012
03.14

WTF 系列 – PHP 的 MAP 鍵值型態問題

在 PHP 裡面,可以用儲存鍵值組的 MAP 是個很實用的型別,值的型態可以是任意型態,但鍵的型態只能是 String 和 Int (The key can either be an integer or a string. The value can be of any type.)

以下是一些 PHP 處理 “鍵” 自動轉型的狀況分析:

當是 String 型態,鍵為 “8″ 的時候,會被轉型為 Int 8 ,但如果是 “08″ 則依然會被當做 String 處理。
當 Float 型態的時候,會被自動轉型成為 Int ,例如 8.7 會被捨去小數點,變成 8 。
當 Bool 型態的時候,一樣會被轉型成為 Int , True 被轉型成 1 而 False 轉型成 0 。
當 Null 型態的時候,會被當成 String ,以 “” (空字串) 表示。
而 Array 和 Object 不能被當成鍵。

另外,新的鍵會覆寫舊的鍵,自動轉型之後的鍵如果和之前的鍵有重複,也會把之前的那組覆寫掉。

ref: PHP: Arrays

所以在使用 MAP 的時候要非常小心被鍵值組被覆寫的問題。