每月彙整:二月 2009
使用cURL送trackback
之前再開發一個blog系統所需的module時,需要測試大量的trackback,本來是採用最笨的方法,申請一個blog,由那個blog來發trackback,後來因為這樣做實在太苦了,所以改採自己產生的方式。 根據trackback的規格,只要用GET的方式傳送要求即可,內容必須包含下列欄位: url (引用該文章的url) title (引用該文章的標題) blog_name (引用該文章的部落格名稱) excerpt (發送引用時附帶的額外資訊) 所以只要搭配方便的cURL即可達成目的,方法如下: curl -d url=TRACKBACK_URL -d title=TRACKBACK_TITLE -d blog_name=TRACKBACK_BLOG_NAME -d excerpt=TRACKBACK_EXCERPT URL 如此一來便可大量產生所需的trackback來做測試啦。
如何merge CIDR
上一篇"高效率的iptables GEOIP模組"的留言有人問到,如何去合併CIDR?用人工計算是一件非常痛苦的事情,資料一多當然就變的天方夜譚,這麼苦命的事情當然是交給電腦去做囉。 要合併CIDR,Perl提供了非常簡單的方法,程式碼如下: #!/usr/bin/perl use Net::CIDR::Lite; my $cidr = Net::CIDR::Lite->new; $cidr->add("202.38.175.0/24"); $cidr->add("202.38.174.0/24"); $cidr->add("202.38.173.0/24"); $cidr->add("202.38.172.0/24"); $cidr->add("202.38.171.0/24"); $cidr->add("202.38.170.0/24"); $cidr->add("202.38.169.0/24"); $cidr->add("202.38.168.0/24"); print "$_\n" for $cidr->list; 執行後,會輸出合併後的結果: 202.38.168.0/21 輕鬆寫意阿~
高效率的iptables GEOIP模組
手邊有台vpn server上面用iptables跑policy routing,連往大陸地區就從特定interface出去,之前的做法是到apnic取得大陸地區最新的ip list後,再利用script一行一行餵進去iptables裡面,即使做過CIDR merge後,還是快要達到800筆record,每每上線使用者一多、或是流量變大時機器的loading就會增加,這種作法不用分析也大概猜得出來,iptables內部作rule match是採用list match,當rule量很大的時候,效能當然會變差。
當apache的errorlog出現configured request variable name length limit exceeded
之前在寫Picasa2Wordpress的時候,測試的時候,遇到一個詭異的問題,在我有權限能access的機器們上面跑,就是有一台跑不起來,後來查了一下apache2的log才發現,原來是php suhosin module的問題,預設最大的POST及GET變數名稱最大只能夠是64字元,但是Picasa POST出去的卻遠超過,所以就被檔下來了。 解決方法很簡單,編輯/etc/php5/apache2/conf.d/suhosin.ini,加上下面這三行即可: suhosin.request.max_varname_length=128 suhosin.get.max_name_length=128 suhosin.post.max_name_length=128 搞定收工。
漫談澳洲ISP的網路方案
在澳洲生活了一小段時間,前陣子剛好有朋友要搬家,從他跟二房東分租的公寓搬到一個獨自擁有的房子,於是就面臨到得自己申請網路的問題,跑來請我幫忙survey便宜實惠的ISP, 所以就花了點時間研究一下,順便整理出來跟網友們分享。
Picasa2WordPress v0.1
[English] *中文說明在本頁下方 Picasa is a handy and cross-platform photo management program developed by Google. Identically, WordPress is a well-known open-source blog system. Both of them are used by many users in the world. If there is a method that could make … 繼續閱讀
