歷史上的今天-2010.04.01

每年的愚人節我都會想各種奇怪的理由來騙朋友,例如有一年是騙同學說我和當時的女友分手了、或是另一年就是騙同學說我已經與另一個女生在一起了。今年沒有事先想什麼梗,早上上班就想說來玩個大一點的。上班前花了十分鐘,把我的全民打棒球球員資訊查詢網作了一個假的下架畫面,並且在 ptt 上公告說因為遊戲公司的反對,所以本站不再公開讓網友查詢。

這一招,果然騙到不少人,網路上一堆人在罵遊戲公司啊。相關資料:

本來想將 FS 和 RW 的登入 port 互換的,可惜沒人支持這種玩法,好可惜。

擷圖如下:
假畫面

將 Blog 系統從Lyceum轉換到WordPress Mu

在支持了這麼久的 Lyceum 後,最後終於受不了將 blog 系統更換成 WordPress Mu 了。而之所以會這樣更換,是因為 Lyceum 上一個 Release 的版本是在 2008 年 6 月 4 號了,然而已經完全跟不上最新的 wordpress 。

花了一個晚上,將一些朋友的 blog 手動匯出成 xml 檔,並且再幫他們匯入到目前的 MU 上。另外還有一些小問題發生,例如原先文章中有寫到程式的部份,其中的 PHP Code 被 filter 掉,這部份的問題比較大要找時間再來修了。還有留言的部份,同一篇文章的留言好像只有匯入第一筆而已。

也順手更換了佈景主題,這次的主題有點黑暗,不過還滿喜歡目前這種帶點黑暗的感覺。

不過整體來說,wordpress mu 操作界面清楚了許多, widgets 也改成內建了,有更多的 Plugins & widgets 可以使用。所以用了新版的 Blog 軟體後,說不定比較有動力發表文章呢?!

java & php 的 timestamp 為不同單位

一般以來,我以為 timestamp 應該是要從 1970 年零點零分零秒開始,至目前時刻所經過的「秒」數,才算是 timestamp 。不過後來查了一下 java 的 timestamp 的說明,他是從 1970 年零點零分零秒開始到現在的「微秒」數。所以二者之間相差了 1000 倍。

Java 的 timestamp的說明如下:
long getTime()
Returns the number of milliseconds since January 1, 1970, 00:00:00 GMT represented by this Timestamp object.

PHP 的 timestamp 說明如下:
int time ( void )
Returns the current time measured in the number of seconds since the Unix Epoch (January 1 1970 00:00:00 GMT).

所以如果 php & java 要作 web service 的服務的話,記得要處理這部份的轉換。

Java 部份的程式碼:

import java.util.Calendar;
class Time
{
public static void  main(String arg[]) {
Calendar cal = Calendar.getInstance();
System.out.println(cal.getTime().getTime());
}
}

結果如下:

whatup@whatup:/tmp$ java Time
1257688227061

PHP 部份的程式碼:

 echo time();

結果如下:

whatup@whatup:/tmp$ php time.php
1257688308

利用 curl 平行抓取多個網頁

如果一次要抓多個網頁,如果使用一個一個 curl 慢慢抓的話,實在是太慢了。假設一個網頁要 0.3 sec 的話,十個網頁需要抓時就要 3 sec 了。利用這個 curl 的 mutli handle 功能,可以同時抓取 N 個網頁,這樣抓取網頁速度會有明顯的提昇。

其實也可以利用這個方法,來試試自已的網頁的存取速度怎麼樣。不過如果一次開 50 個以上,感覺抓取速度會受到影響。所以還是別同時抓取太多網頁比較好。

範例程式碼如下:

 0);

foreach($curl_obs as $curl_ob)
{
  $content = curl_multi_getcontent($curl_ob);
  var_dump(strlen($content));
}
foreach($curl_obs as $curl_ob)
{
  curl_multi_remove_handle($mh, $curl_ob);
}
curl_multi_close($mh);
?>

執行結果:

whatup@whatup:/tmp$ php curl_multi.php
int(222)
int(9490)