今天報名 COSCUP 2009 Lightning Talk 講的 cucumber 投影片:

不過效果似乎不太好,我沒這麼 high 好像不太適合講 Lightning talk …. XD,加上重點的 live demo 跌股了,應該很多人看不懂我在幹麼,果然是 never live demo 啊!watir 開出來的 safari 視窗畫面沒出現在投影機上,只出現在我的 MBP 上,然後跑完自動測試就自動關掉了,結果大家都看不到 :/ 時間有限一時也來不及把螢幕設定改成 Mirror,就這樣提早下台了… orz

Ruby HTTP clients

by ihower

Update(2009/8/12): 加上 open-uri

透過 HTTP 抓取資料是一個常見的任務,即使只是最基本 GET 網頁,在 Ruby 社群之中也有蠻多選擇的,目前市面上我看到的方案有:

open-uri 是 net/http, net/https 跟 net/ftp 的簡易 wrapper,可以 GET 網頁當作 IO 物件處理。

rest-client 跟 httparty 也都是基於 net/http 的實做,最大的特點在於 API 的改良及簡化,像 httparty 就做成 module 的形式,讓你可以用 include HTTParty 撰寫你自己的 library。如果只是單純的 REST 操作,使用 rest-client 也是不錯的選擇。

typhoeus, patron, curb 則是基於 libcurl 的實做,與 net/http 相比則大大地增加了程式效能。根據 Matt Aimonetti 的補充 (BTW,他是要說得是,重新發明輪子沒什麼不對,因為實做細節人人不同啊。),typhoeus 的強項是有 callback 機制及 non-blocking-multi query,而 patron 在於可以方便地 reuse HTTP session/connection。而 curb 最簡單只單純想做 libcurl 的 Ruby bindings。

httpclient 很奇怪我竟然找不到什麼的英文資源介紹,但好像也不奇怪因為作者是日本人 :p (另一個教訓是 Project 名字要取特別一點,越奇怪越好搜尋到 XD) 怎麼說呢? 去過一趟 RubyKaigi 之後發現日本的 Ruby 社群還蠻不為外(國)人知的,因為人口多加上又是 Ruby 原產国,所以是有不少的国產厲害 Ruby projects 跟 Ruby 書,而形成一個除了有 open source users 也有 open source developers 的健康社群,但是因為語言隔閡的關係,這些資訊產出絕少輸出到國外去,不像歐美的資源因為英文是共通語言的關係,全世界都能很容易的接觸到。英翻日的 Ruby/Rails 書也非常多,Pragmatic 跟 O’Reilly 的書我幾乎都有看到有日文版 (真好 :~)。

回到 httpclient,我是在 Ruby 逆引きレシピ 這本書中看到的 (well, 我看不懂日文, 只是瞎看 ruby code 而已),安裝方式意外簡單也是用 gem install httpclient 即可,強項看起來有 Cookies support 和 streaming POST (POST with File/IO) 檔案上傳。

大概是6月中才下定決心要去 RubyKaigi 吧。因為是第一次出國,而且又是獨自一人參加會議,周遭的人都覺得挺冒險的 :p 好在有熟東京朋友剛好也要去辦事,有個照應就還蠻順利適應環境的,複雜的東京地鐵真是超級方便。

第一天 7/15

早上10點的 JAL 班機,飛了三個小時到日本成田機場,也就是當地時間2點多到達成田機場。3點多搭上 Skyliner 京成電鐵坐了一個小時到達上野,先把行李丟到飯店後,就去六本木逛街了,像是最有名的 六本木 Hills。

六本木

第二天 7/16

淺草

早上先去逛了淺草寺,在雷門拍了照跟買了土產人形燒,不過淺草寺在整修,整間廟被鷹架圍住。逛了附近的犬印鞄製作所買包包。中午去了表參道逛最有名的表參道Hills,螺旋向下的走廊真厲害。

下午的行程自己去涉谷搭東急東橫線到日吉的慶應大學找高中同學,到日本聊MSN才發現他剛好也來日本做短期研究,也很巧他的學長也來日本自由行,所以就約了一起同行。先是學校逛了一圈,就又繼續坐到終點站元町,往上走到山頂看了海景,接著逛了幾家山手西洋館繼續走到港區未來,剛好碰到橫濱開港150週年,有特別的展場可以逛。最後去日本最高樓 Landmark Plaza,吃了銀座天國的動飯。搭超快電梯到頂樓看橫濱海港夜景。

慶應大學

第三天 7/17 (RubyKaigi 第一天)

築地市場

會議是下午才開始,所以早上先去逛了築地市場,買了有名的玉子燒來吃。

RubyKaigi Day1

終於抵達會場了 :D

第四天 7/18 (RubyKaigi 第二天)

晚上吃了在日本算是非常便宜的吉野家,然後逛了秋葉原,不過沒做什麼功課。有很多 3C 店很好逛,也有漫畫等很多,很多還提供免稅專門樓層可以買。回程反倒買了日本的低中價衣服王者 UNUQLO,日幣990很便宜呢 :p

第五天 7/19 (RubyKaigi 第三天)

晚上去了去了銀座伊東堂,可是竟然 PM7 就關門了,只逛了一下下。去了Apple直營店玩了 iphone 3GS。又去 UNIQLO 買了 $990 的衣服給女朋友… XD 最後回上野飯店附近吃了握壽司套餐。

上野的握壽司

第六天 7/20

一整天安排逛街行程,先去了上野的 UNIQLO 跟松板屋百貨公司。然後下午去了涉谷,接著去新宿。真是超級好逛街的地方,走起來很舒服,不像台灣一堆車烏煙瘴氣。

涉谷

第七天 7/21 (最後一天)

因為錢花的差不多了,只好安排不花錢的行程 :p 去了附近的上野公園,本來想逛博物館,沒想到全部公休… :/

上野恩賜公園

在成田機場的免稅店買了一堆巧克力,把最後的日幣花的乾乾淨淨 XD 晚上七點的飛機返回台北。