Archive for the 'Software' Category

很多地雷的 Zend_Form…

本來要寫「一些 地雷」,結果整理起來還不少,還是改成「很多地雷」比較合理。

第一個地雷是 select 元素:

$el = $this->createElement('select', 'siteshow');
$el->setLabel('是否顯示下一頁');
$el->addMultiOption('1', '顯示');
$el->addMultiOption('0', '不顯示');
$this->addElement($el);

對這個元素設定值時,要記得用 intval() 轉成數字,像這樣:

$f->siteshow->setValue(intval($dbval['siteshow']));

第二個地雷是 setRequired() 的處理,假設你這樣寫:

$el = $this->createElement('text', 'article_title');
$el->setLabel('文章標題');
$el->setRequired(TRUE);
$this->addElement($el);

因為 setRequired 是使用 判斷,所以標題取 “0″ 時就會過不去。目前的解法是用 指定最小與最大長度:

$el->addValidator('stringLength', FALSE, array(1, 255));
$el->addValidator('stringLength', FALSE, array(1)); # 沒有最大長度限制

第三個… 忘記了,想到再寫 Q_Q

Mtron SSD 固態硬碟

補「」這篇的說明。

價位上, SSD Pro 7000 系列 32GB 的單顆進價大約在 $40K (含稅),兩顆就 $80K 了,相較 15K RPM 73GB SCSI 硬碟四顆只要 $40K 的價錢偏高不少。

效率上,MyISAM 的 real data 測試發現不論是 Mtron SSD 32GB*2 跑 RAID0,還是 15K RPM 73GB SCSI*4 跑 RAID10,都是 CPU 先到瓶頸,I/O 都沒有問題。至於 的結果在 的 Blog 上可以看到不少 real data 的資訊。

不過,如果你的資料庫遇到 I/O 瓶頸的話 (用 RAID 1+0 都還解決不了) 可以考慮用多顆 Mtron SSD RAID 把效率換出來,不過比較治本的方法應該是改寫程式,想辦法 partition。另外看看是不是因為大量的 Table scan 造成效率低落…

對了,Mtron SSD 硬碟台灣有代理商了,

Ubuntu 8.04

本來是在 R60 上裝 7.10,結果裝完後發現 8.04 已經到 RC stage 了,乾脆重裝成 8.04,等到正式 release 的時候升級到最新版。

裝完後什麼都不需要調整,就可以很順暢的使用 TouchPad、無線網路,而且 Function Key 也都正常運作。另外該有的軟體也都有了,像是 (居然是 3.0b5) 與

輸入法先換成 ,字型的部份把 FireflyTTF 以及 裝上後就差不多了。小紅點的 Scroll 功能的部份則是加了兩三行到 /etc/X11/xorg.conf 內。

SubversionSVKGit 都裝好後,即使想在沒有網路的地方開發軟體仍然很方便。

應該會跑一陣子看看有什麼不足的,桌機先維持 Windows XP… XD

Update:相關的設定可以參考 寫的「

MySQL Proxy 的用途

作者的 Blog 上看到一些關於 transaction 時有趣的用法:

話說回來,最近 又有一陣子沒什麼動作了,看起來心力都花在 上面了…

InnoDB Barracuda

InnoDB Barracuda (InnoDB Plugin 提供的新格式) 有測試結果了,在「」這篇裡面以一個 30GB 的 mysqldump 檔案測試 (看他文章的內容,應該是 real data),在裡面提到幾個重點:

  • 目前的 有個與 UTF-8 有關的 bug 會影響測試結果 (「」),所以測試時以 latin1 測試。
  • 為了測試 fast index,他用兩種不同的方式測試。第一種是把所有 DB scheme 與 index 都建立好,再將資料匯入;第二種是只先建立 primary key,等到匯入資料後再下 index。測試的結果發現,後者的總時間遠遠超越前者。
  • 如果使用壓縮格式,匯入的速度會慢 30% ~ 50%,但是檔案大小只有原來的 1/3,讀取的速度不在這次測試的範圍裡,不過 comment 有人期待對於偏 I/O 的 query 效能會有提昇。

變天了…

好幾天沒寫 Blog 了,主要是星期五六日去員工旅遊 (參考「」這邊),然後星期日晚上與星期一狂看 與新番,於是就好幾天沒寫 Blog 了…

說變天的原因是因為很多單位在 這段時間發表了一堆東西,就管理與政策面來看,這是 買下 後第一次的 MySQL Conference,很多人都在看 Sun 對於 MySQL 這套 Open Source Software 到底會有什麼大計畫。

另外一方面 (技術上), 推出的 所列出的優點讓人相當驚豔,解決了不少問題,不過可惜在目前最新版 5.1.24-rc 上無法運作。

再來是 用硬體的方式大幅增加 transaction 的速度,站上 Non-cluster 100GB data 的王座,實際上機器也很便宜,才 USD$35K。(如果你真的需要用到這麼快的 transaction 速度,百萬台幣應該不是什麼問題)

結果玩回來後發現一堆計畫都要再重新思考…

MySQL Conference - 監視工具

MySQL Conference - Falcon

看了 transcript 還蠻有趣的…

MySQL Conference - Scale Out

這場應該是很熱鬧的一場,一堆數字可以看:

The 2008 MySQL Conference & Expo

幾個比較大的消息:

  • () 釋出 1.0 (for 5.1),可以取代內建的 InnoDB engine,比起之前的版本多了兩個大重點:Fast Index 與 Compression。
  • 是一個結合硬體,在尚未使用到 SSD 硬碟的情況下就成為全世界最快的 transaction engine 之一 (依據 測試結果)。

其他比較小的消息還包括了 MySQL 6.0、MySQL 5.1 Maria 之類的新聞,不過上面這兩個消息丟出來就讓人感覺很兇暴,其他的新聞就… (Kickfire 的 C/P 表現相當漂亮,在 100GB 的地方徹底殲滅 )