Unbound

是一個 DNS resolver (接受 recursive query 的 DNS server),最近出了 1.0.0 版,在 上被提出來:

首先是軟體授權條款,Unbound 與 都是 open source project,BIND 是 ,Unbound 是 ,兩種授權都很簡短,而且也很清楚。

設定上,BIND 需要設定才能處理 recursive query,雖然很簡單 (設定 allow-recursive 這個參數),但相較於 Unbound 預設值就會動 (unbound.conf.sample 直接拿來用) 就有點不太爽 :p

穩定度的部份,在 Slashdot 上的文章有人提到用 BIND 當 resolver 不太穩定,這點我自己用偶而也會遇到 (對 recursive query 沒有回應)。趁 Unbound 1.0.0 有人推薦的時候決定拿幾台純 resolver 的伺服器試看看...

上安裝的時候有看到 的選項可以選,不是很確定他拿 Libevent 做什麼用途。

目前裝起來後用起來都還蠻正常的,觀察一陣子看看。

YouTomb:被 YouTube 下架的影片

,是 所架設的服務,蒐集 上因為版權侵權而被下架的影片。

看完這個網站做的事情後,第一個反應式「這個名字取的真機車」,第二個反應是「這不會被 幹掉嗎」。但翻了一下,發現網站的 source code 有以 釋出,擺明就是「如果我們被抄了,其他人趕快拿 source code 去 clone 一個」XD

在狀態頁還有相當完整的統計,會指出哪些版權擁有團體下架的最多... 第一名居然是 TV TOKYO Corporation,我本來以為會是美國公司...

PS:會寫在 Blog 上的原因是因為 爛掉了,不然我只打算丟幾句話在 twitter 上的... :/

Zend Framework 1.5.2

1.5.2 正式釋出了,由於 是 1.5 才納入,所以 1.5 有很多 bug 是在修正 Zend_Form。

像是「」中提到的 setRequired() 問題在「」被解掉了。

1.5.2 修正的問題,以及改善的地方,可以在「」這頁看到。

這幾天發現沒有 Zend_Form_Element_File,查了一些討論發現發展團隊似乎要等 Zend_Upload 的架構先出現才要實做 Zend_Form_Element_File,看起來這幾個月內是沒這東西了,先自己寫一個會動的版本... @_@

在 Ubuntu 上用 3G 上網

這邊講的是,在 下透過手機的 USB 線上網,主要是參考 這篇文章找到資料的。

把手機 (Nokia 6210) 接上 USB 傳輸線後,Ubuntu 上可以看到 /dev/ttyACM0 (dmesg 的訊息),這時候先跑 wvdialconf 讓他自動偵測,將設定檔寫入 /etc/wvdial.conf 後,再修改 /etc/wvdial.conf 裡的 Phone/Username/Password。電話號碼我是用 *99#,Username/Password 都是用 internet (隨便設)。

但我沒看到 APN 在哪裡設定,會故意把 Username/Password 都設定成與 APN 一樣也是因為想猜看看,但說不定下個月的帳單還是很精彩 XD

Zend_Form 的一些紀錄

如果是自己搞網站 (程式美術都自己來),用 設定完後,透過 render() 將 HTML code 呈現的確不錯,畢竟強迫你要用 CSS 去處理頁面呈現。不過,如果是請別人先做好美術版面,產生 HTML 後才要轉成 Zend_Form 生出來的話,就會用到很多 manual 裡不會教的「壞方法」XD

目前用到的方法是在 view 裡面 (我用 ) 直接顯示 Element,像是這樣:

<?= $this->post_form->post_title ?>

但只用上面的方法會產生一堆 dt + dd 之類的東西,這是因為 Element 預設的 Decorator 太多,所以需要重設只用 ViewHelper:

$element->setDecorators(array('ViewHelper'));

其他的在原來的 tutorial 都有寫。

另外有點很重要,因為 Zend_Form 在 1.5 版才納入,所以文件並不一定能夠涵蓋所有的方法,看 source code 瞭解用法的能力很重要...

使用 Unicode 的網頁所佔的比例

今年四月四日正式發佈的 (), 也在五月宣佈正式支援這些新的字元:

Google 除了宣佈支援 Unicode 5.1.0 以外,也分析了目前網頁編碼的比例。UTF-8 編碼網頁所佔的比例超越了 ASCII & ISO8859-1,而且還不斷在成長...

PIXNET 徵正職 PHP 工程師

幫我們公司徵人 :p

要徵熟悉 ,以及 的正職 coder 兩名,工作地點在台北市民生東路二段這邊,有興趣的人請將履歷寄到 104@pixnet.tw,標題請寫上「應徵 PIXNET 程式設計師」。

這份工作主要的內容是寫 PHP,如果熟悉 (目前我們用這個開發) 或其他 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 是使用 判斷,所以標題取 "0" 時就會過不去。目前的解法是用 指定最小與最大長度:

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

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

遊戲基地與巴哈姆特

說 ok,所以...

是同一個集團,而與大頭們都相當熟識。我本來星期一請假,下午三點把事情處理完回到家準備要睡一下,四點就接到急 call 電話,弄到隔天凌晨四點才回家...

攻擊的模式是大量 IP 用發出大量 HTTP 連線,所以暫時性的解法朝著壓低連線限制,而且要儘快,最好是有現成的設備直接做,不要自己用軟體調整參數調半天。

Gamebase 有將近一打的 Web server,是 Alteon AD3 撐不住所以掛掉,(中間有一堆測試的過程就不講了),最後是在前端放一台 ASA 5520,然後用 換掉 AD3。但 ASA 5520 不夠力,目前還是請 ISP 先做一些處理。

巴哈姆特因為架構比較單純,所以前端放了 Cisco PIX (型號忘了...) 擋著,放上去後站方也是請 幫他們先做一些處理。

其實我並沒有幫到什麼忙,主要還是 SI 願意賣面子先借硬體設備處理。我只是大概知道要朝哪個方向,聯絡哪些單位而已。