by winson, 6 months ago.
就在Mongrel主力開發者Zed Shaw宣佈從此以後退出Ruby界,決定不問世事、金盆洗手之後,一套號稱比Mongrel、甚至Event-drive Mongrel更快的Ruby web server出現了,那就是Thin。
Thin的安裝相當簡單:
sudo gem install thin
也可以搭配Rails使用,只要切換到Rails專案目錄下,然後輸入:
thin start
如果要在背景執行,他的指令跟Mongrel差不多:
thin start -d -p 80 -c /your_rails_dir -P /your_rails_dir/log/thin.pid
跟Mongrel比較起來速度快是不用說,但Thin並未內建cluster,需搭配
Merb或
god才能夠做到cluster。
最後,祝Zed一路好走。
by winson, 11 months ago.
麥金塔上最簡便的Ruby安裝終於出現了,OS X自帶的版本也不是不能用,實在是版本太舊了些;如果為了玩Rails而安裝MacPorts,好是好,就是太麻煩了些。
正如他網頁所說的,如果你要用別的方法安裝,那麼不是浪費您的時間,便是浪費硬碟空間。
下一版應該會把一些常用的Gems包裝進去,一次幫你安裝完成吧。
by winson, about 1 year ago.
承續上一次Rails On Slicehost #1未完成的工作。
基本上,無論在一般Debian 4.0環境或任何一家跑Debian的VPS上安裝Ruby on Rails應該都大同小異,甚至在Ubuntu上安裝Ruby on Rails也差不到哪去。
先從ssh登入:
by winson, about 1 year ago.
要是你的機器上同時跑好幾支Rails程式,而每支程式都透過proxy轉換不同port,當你常常需要開關不同程式時該怎麼辦?通常都是start或stop Mongrel server。
stop就是切換到rails project目錄,然後下mongrel_rails stop:
cd ~/projects/myrails
mongrel_rails stop
start可麻煩了,你得先去proxy設定檔查出對應哪個port:
cat /etc/lighttpd/conf-enabled/10-proxy.conf
--
$HTTP["host"] == "myrails.pbg4.org" {
proxy.server = (
"" => (
"myrails" => (
"host" => "127.0.0.1",
"port" => 6100)))
}
by winson, about 1 year ago.
當你有很多小功能需要修修補補的時候,是不是該找個地方寫下來?
寫在記事本上?太遜了吧。用Jira?太麻煩了吧。
如果你喜歡在命令列底下辦事的話,來來來,先把Tracker這顆寶石裝起來吧。
請輸入以下指令安裝:
by winson, about 1 year ago.
在Rails裡面處理密碼加密雖然已經夠簡單了,不過至少需要以下3個步驟:
1. 自己引用演算法(MD5之類的)或裝外掛(例如: Acts as Authenticated)。
2. 用before_filter。
3. 設定方法,例如用authorized或checkpassword檢查密碼。
大部分的做法會把Salt、加密過的密碼一起存入資料庫(hash(password, salt)),雖然被破解的機率不高,但有Salt就是有跡可循,而且利用SQL Injection搞不好可以一次把整個資料庫的密碼、Salt偷出來。
by winson, about 1 year ago.
請以一行程式列出比輸入值小的所有質數。例如,輸入20則列出2, 3, 5, 7, 11, 13, 17, 19。
}/$+)?+11(^|$?1^/ ~! t * '1' fi t stup |t|{ )i_ot.)(steg(otpu.1
by winson, about 1 year ago.
請以一行程式列出1到100的數字,但3可除盡代換為”hello”;5可除盡代換為”world”;3和5都可除盡則代換為”helloworld”,其餘維持原數字。
} n : 'dlrow' ? 0 == 5 % n : 'olleh' : 'dlrowolleh' ? 0 == 5 % n ? 0 == 3 % n stup |n| { )001(otpu.1
by winson, about 1 year ago.
學語言一定都遇過這類問題,如何交換兩個變數的值?一般是這樣子做的:
int a = 1;
int b = 2;
int temp = a;
int a = b;
int b = temp;
這麼囉唆的語法,到了Ruby變成這樣子: