In my Rails Best Practices slides, I only give simple code without any description (unless you heard my talk :p), so let me explain here.

my point is: “If you use RESTful design, you should NOT use default route.” Why?

For example:


map.resources :users
map.connect ':controller/:action/:id'
map.connect ':controller/:action/:id.:format'

You expect only “PUT /users/1″ will update user data, but because you keep default route, so “GET /users/update/1?user[email]=foobar@example.org” still works!!

In the same way, “GET /users/create” and “GET /users/destroy/1″ works too!! Even worse, the latter can create/update/destroy data without Request Forgery Protection :/ Rails does not check CRSF for HTTP GET.

Conclusion: Remove default route, use purely resource-based routes and named routes for special purpose.

心血來潮,買了新的網址 ihower.tw,即刻生效。
原來的 ihower.idv.tw 之前就買到 2012 年了,所以暫時不會有什麼影響,也用了以下的 Apache 設定把流量都轉到新網址:


<VirtualHost *:80>
ServerName ihower.idv.tw
ServerAlias www.ihower.idv.tw
RedirectMatch 301 ^(.*)$ http://ihower.tw$1
</VirtualHost>

BTW,測試了一下,新的網址大陸應該可以直接連,(暫時?)毋須翻牆。

iPhone 上面不是沒有 IRC client,但是要掛站就不太方便了。我平常是用 screen+irssi 的方式來掛站,但是要在 iPhone 上使用 SSH terminal 連上 server 看 irc,實在太苦了 :/

Social 是 gugod 的最新力作,它會在 server 上登入 IRC 和跑起來一個 Web server,而且還使用了 HTTP streaming 的方式將訊息即時推送到瀏覽器上,達成隨時打開手機瀏覽器就可以看到掛站的訊息的任務。

安裝的方式,首先確定有 Perl (在ubuntu上內建就有了),接著裝:

sudo cpan YAML
sudo cpan Encode
sudo cpan AnyEvent::IRC
sudo cpan FindBin
sudo cpan HTML::Entities
sudo cpan Plack
sudo cpan Plack::Request
sudo cpan Tatsumaki
sudo cpan AnyEvent::Twitter
sudo cpan AnyEvent::Plurk
sudo cpan Moose

下載 Social,編輯設定檔加入 IRC 頻道,Social 也支援 Twitter 和 Plurk。
然後執行 ./social -c config.yml -p 9999

最後就是打開 iPhone 的 safari 連上去就出現啦!!

經過詢問,如果要做 authorization,目前可以用 Apache 來做 http auth 當前端,然後執行 social 時加上 -h 127.0.0.1 的限制。

感謝 OSSF 工作坊 安排這次的課程,投影片上傳到 slideshare 了:

如果真是高中生跟大學生為主的話,還真想把內容弄宅一點的 :p 不過主辦單位告訴我還是社會人士為主之後,就還是實用一點吧。

謝謝大家的關心與指教,十分感謝。但幾經考慮之後,決定暫時移除 “我要找工作” 這篇公告。主要是眼下還有許多的工作正在進行,我也不急著下個月就找到工作,我想我還是放輕鬆一點 (well, 女朋友在抗議了 :/ ),給自己更多時間沈澱想法,先把手頭上的工作做好再說。

會有離開和多的想法,大概也是這幾個月的事情。我很幸運的,在我職涯初期,能夠與兩位厲害的 geeks 一同創業做一個小股東,學到非常多東西:如何 co-work 團隊開發、接觸 open source 及 geek 文化、實踐 Agile 專案開發等。也因為這樣的背景薰陶,我才能夠在這一兩年在 Ruby/Rails 上有不錯的心得跟經驗,並啟發了我有了一些新想法跟自己想要追求的事情,想要去經歷不同的環境,接觸更多不同的/潛在的 Rails 開發者。

再次謝謝大家的關心跟指教 :)

再次應 OSSF 的邀請,11/12 會在中研院開一堂非常入門的程式設計三小時體驗營 Ruby 入門 課程,對象是高中、大一、大二的同學。

這麼入門的課程還是第一次教,主辦單位特別要求要教有趣一點的東西跟應用。除了基本的語法,本來想玩 shoes GUI,但是 shoes 網頁不能連了 :( 目前的想法是玩 Sinatra,或是用 nokogiri parsing HTML,或是來解 ACM 題目???

幫幫忙,有沒有什麼建議? 總不能教 Rails 吧… XD

Next Page »