部落格觀察

都是小圖,看不清楚的可以點回 的頁面看到大圖。

我不曉得依照這個規則是怎麼算出比還要高分:(原出處:部落格觀察貼紙各式說明)

下面這張是依照「Page 總分」排序,彎彎在第九名,第七名是 Gene,第八名是 Wildcat,第十三名是 askareiko,剛好是部落格觀察的「GAW」,這個「排行榜」的公信力大家自己心中應該有數。

Zend Framework 的 Zend_Db

這個週末都在研究 的用法,然後套用到新的系統上。

的三個架構裡,Controller 透過 .htaccess 配合,效果還算可以。View 目前是用 ,不過會看情況改用 或是 ,基本上都沒什麼問題。

最大的問題在於 Model: 的功能看起來很多 (在說明文件的份量裡,算是相當厚的一個模組),但實際上有不少缺陷沒辦法光靠 Zend_Db 目前內附的模組解決,需要自己寫 Adapter 處理。在沒時間研究 Zend_Db 的 Adapter 怎麼寫的情況下,只能先把他當作非常小的 使用。

Zend_Db 主要的兩個問題是:Master-Slave 時讀寫必須分開,以及多台時 Failover 及 Load sharing 的處理。雖然這兩個問題都可以用 解決,但我不是很喜歡 MySQL Proxy 的解法,所以...

Anyway,目前該解決的都解決掉了,如果有遇到其他的模組不好用,我再寫文章抱怨好了... XD

換到 WordPress 2.5

剛剛把系統換成 2.5 了。就視覺上來說,改變最大的是後台的介面。新後台的介面用起來沒什麼問題,比以前的確乾淨不少,但是最常被使用的文章編輯的部份反而變得相當的糟糕。

寫新文章時,編輯版面就是固定給寬度是 1024px 的使用者用,超過的部份 (像我會把瀏覽器開到 1280x1024) 仍然是向左邊靠,於是右半部會有一塊留白,如果我開成 1920x1200 就更明顯了。另外,本來可以拖拉的區塊,現在變得無法拖拉...

另外一個插曲是,我使用的 在 WordPress 2.5 上會有問題,所以就順便更新了,如果有遇到後台介面進不去的人,把錯誤訊息拿去 找看看,應該都有人問過了。

Mtron SSD 硬碟

昨天 Mtron SSD 硬碟 3.5" 32GB*2 終於到了,上線後測試發現與之前的 SSD 硬碟完全不同,以 MySQL 的啟動時效率來看,足以殲滅 15KRPM SCSI*4 (RAID10)。(剛啟動時因為 key buffer 還沒有 cache,會需要一段時間速度才會慢慢上來,在 15KRPM 的 RAID10 SCSI 上需要幾分鐘,但 Mtron SSD 幾乎不需要 slow start)

其他的就不多說了,目前是 jnlin 在測試,請參考他寫的「Mtron SSD 在 MySQL (MyISAM) 上跑了兩個小時」這篇,之後應該會有一些數據可以看。目前已經是卡在 CPU bound 了,接下來要期待 Jeff Roberson 對於 FreeBSD 上 pthread_rwlock 的改善。

Ref:「MySQL 在創見 SSD 上跑的情況

Opera 與 Webkit 相繼達成 Acid3 100% Pass 目標

OperaWebkit 兩個 browser (engine) 已經先完成 Acid3 100% Pass:

Wikipedia 上的資料,這次 Opera 比 Webkit 快應該是為了報 Acid2 時的仇... (Acid2 由 Opera 的 CTO 所發表,但當時第一個達成 non-public build 100% pass 的卻是 Safari XDDD)

Update:結果因為一個 bug 造成翻盤,參考 comment 裡 zmx 提供的 url。

缺乏 Model 支援的 Zend Framework

Zend Framework 前陣子釋出 1.5.0 正式版了,與 1.5.0-RC 系列沒有太大差別,所以沒支援的還是得自己想辦法。

Controller 的部份,Zend_Controller 沒什麼問題,最基本的配置方式都已經摸熟了,也覺得算是還蠻好用的。

View 的部份,Zend_View 畢竟是 PHP 語法,看起來就不太討喜,加上我們是使用 Google cTemplate,其實以目前狀況算是還不錯,要另外再學一套的話要先考慮好處夠不夠足以換掉。far 最近在研究這方面,而我則是想使用 Smarty。但不管是哪種方案,View 的部份看起來沒什麼問題。

真正的問題在 Model,你可以在 Zend Framework 的文件裡面看到 "models" 的目錄配置 (像是在 Using a Conventional Modular Directory Structure 裡),但實際上 trace code 發現沒有對 model 支援。如果你自己寫了一個 Model 放到 models 裡,也沒有很方便的方法讓 Controller 裡的 code 使用,目前我想到的 dirty work 是 require_once(dirname(__FILE__) . '/../models/UserModel.php')

有誰用 ZF 開發有遇到同樣問題的嗎?

Firefox 的 DNS query (在 PAC 裡)

Brad Fitzpatrick 那邊看到一個疑似 Firefox JS engine 處理 DNS query 時的 bug 造成的 hang:Firefox + PAC considered harmful,在 MozillaBug 235853 裡有完整的說明。

所以自己寫 PAC 的人,一種解決方法是改用 FoxyProxy,另外一種則是暫時把地雷函式暫時改寫?

PS:最近開使用 FoxyProxy,發現對於一些連線的處理上不像以前要手動改 Proxy,方便許多,應該會列入以後重裝時的套件吧...

MyISAM 在 FreeBSD 上效率不好的原因?

Jeff Roberson (也就是目前 FreeBSD 上 SCHED_ULE 的維護者) 的 blog 上說了這樣的話:(原文章連結)

MyISAM performance is terrible in FreeBSD 7.0 due to the user-space pthread_rwlock implementation. Just a word of warning if you intend to deploy a database server based on 7.0. I am certain we will have this fixed in 7.1. It will most likely be in CURRENT in a week or two.

所以不是我在「FreeBSD 上的 MySQL 效率」這裡想的 Filesystem I/O 問題?來等 Jeff Roberson 的 patch 吧...