今年四月四日正式發佈的 Unicode 5.1.0 (Unicode Version 5.1 Released),Google 也在五月宣佈正式支援這些新的字元:Moving to Unicode 5.1。
Google 除了宣佈支援 Unicode 5.1.0 以外,也分析了目前網頁編碼的比例。UTF-8 編碼網頁所佔的比例超越了 ASCII & ISO8859-1,而且還不斷在成長…
幹壞事是進步最大的原動力
今年四月四日正式發佈的 Unicode 5.1.0 (Unicode Version 5.1 Released),Google 也在五月宣佈正式支援這些新的字元:Moving to Unicode 5.1。
Google 除了宣佈支援 Unicode 5.1.0 以外,也分析了目前網頁編碼的比例。UTF-8 編碼網頁所佔的比例超越了 ASCII & ISO8859-1,而且還不斷在成長…
幫我們公司徵人 :p
要徵熟悉 PHP,以及 MySQL 的正職 coder 兩名,工作地點在台北市民生東路二段這邊,有興趣的人請將履歷寄到 104@pixnet.tw,標題請寫上「應徵 PIXNET 程式設計師」。
這份工作主要的內容是寫 PHP,如果熟悉 Zend Framework (目前我們用這個開發) 或其他 Framework 更好。
有問題除了可以在 comment 問以外,也可以直接寫信到 gslin at pixnet.tw 問我。
本來要寫「一些 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 是使用 empty() 判斷,所以標題取 “0″ 時就會過不去。目前的解法是用 stringLength 指定最小與最大長度:
$el->addValidator('stringLength', FALSE, array(1, 255));
$el->addValidator('stringLength', FALSE, array(1)); # 沒有最大長度限制
第三個… 忘記了,想到再寫 Q_Q
對 Jefferson High School 做性行為研究的資料。這是很久前的研究,我一直以為我在看到報導後就在 Blog 上提過,但剛剛要找的時候發現我沒寫過…
下面這張是 Flickr 上找到的圖,似乎是在會場裡。這張圖的大圖可以在原始研究網站上看到:Researchers Map The Sexual Network Of An Entire High School。
這也是一種 Social Network…
在「PHP array_merge is Slow」這篇的 comments 看到 PHP 裡兩個 array 相加的處理,實際寫了一些小程式玩過後發現一些以前不知道的東西 :p
associated array 用 $a + $b 時,如果有重複的 key 會優先取前者 ($a),要優先取 $b 就用 $b + $a。
老闆的老闆說 ok,所以…
遊戲基地與 PIXNET 是同一個集團,而巴哈姆特與大頭們都相當熟識。我本來星期一請假,下午三點把事情處理完回到家準備要睡一下,四點就接到急 call 電話,弄到隔天凌晨四點才回家…
攻擊的模式是大量 IP 用發出大量 HTTP 連線,所以暫時性的解法朝著壓低連線限制,而且要儘快,最好是有現成的設備直接做,不要自己用軟體調整參數調半天。
Gamebase 有將近一打的 Web server,是 Alteon AD3 撐不住所以掛掉,(中間有一堆測試的過程就不講了),最後是在前端放一台 Cisco ASA 5520,然後用 HAProxy 換掉 AD3。但 ASA 5520 不夠力,目前還是請 ISP 先做一些處理。
巴哈姆特因為架構比較單純,所以前端放了 Cisco PIX (型號忘了…) 擋著,放上去後站方也是請 SEEDNet 幫他們先做一些處理。
其實我並沒有幫到什麼忙,主要還是 SI 願意賣面子先借硬體設備處理。我只是大概知道要朝哪個方向,聯絡哪些單位而已。
本來今天是請假的,結果下午四點被急 call 處理事情,這加班的內容… 一整個冏啊… (抱頭)
Update:兩個網站的消息都出來了:
補「MySQL 在 Mtron SSD 上的測試」這篇的說明。
價位上,Mtron 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 都沒有問題。至於 InnoDB 的結果在 Kevin Burton 的 Blog 上可以看到不少 real data 的資訊。
不過,如果你的資料庫遇到 I/O 瓶頸的話 (用 RAID 1+0 都還解決不了) 可以考慮用多顆 Mtron SSD RAID 把效率換出來,不過比較治本的方法應該是改寫程式,想辦法 partition。另外看看是不是因為大量的 Table scan 造成效率低落…
對了,Mtron SSD 硬碟台灣有代理商了,曜紅科技。
本來是在 R60 上裝 Ubuntu 7.10,結果裝完後發現 8.04 已經到 RC stage 了,乾脆重裝成 8.04,等到正式 release 的時候升級到最新版。
裝完後什麼都不需要調整,就可以很順暢的使用 TouchPad、無線網路,而且 Function Key 也都正常運作。另外該有的軟體也都有了,像是 Firefox (居然是 3.0b5) 與 OpenOffice。
輸入法先換成 gcin,字型的部份把 FireflyTTF 以及文泉驛正黑 裝上後就差不多了。小紅點的 Scroll 功能的部份則是加了兩三行到 /etc/X11/xorg.conf 內。
把 Subversion、SVK、Git 都裝好後,即使想在沒有網路的地方開發軟體仍然很方便。
應該會跑一陣子看看有什麼不足的,桌機先維持 Windows XP… XD
Update:相關的設定可以參考 racklin 寫的「安裝 Ubuntu 8.04 於 Thinkpad T61 雜記」
在 MySQL Proxy 作者的 Blog 上看到一些關於 transaction 時有趣的用法: