by winson, 3 months ago.
在Rails底下使用外掛是很方便沒錯,問題是這些第三方的外掛常常在更新。我們當然可以很簡單地使用以下指令安裝外掛:
cd /myrails
plugin install http://some_where_to_my_favorite_plugin
這種直接安裝外掛的問題在於第三方的外掛更新時,我們並不知道。
或者也可以用以下指令安裝外掛:
plugin install -x http://some_where_to_my_favorite_plugin
這種安裝外掛的方式,是將外掛以svn co的方式安裝,每次我們svn ci更新遠端程式碼時,系統就會先去問第三方外掛的svn看看有沒有更新,有更新會先更新外掛之後,才把修改過的程式以及更新的外掛送到遠端的svn repository。
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, 6 months ago.
Rails向來以無痛開發、無痛升級著稱,透過gem來安裝Rails無論升級或移除都很簡便;萬一還是不放心,可以先裝到vender目錄下試試。雖然沒什麼大問題,不過還是有些小地方須注意:
有些報告指出,可能因為gem版本的問題導致無法安裝新版Rails。
新版gem最大的優點是,以往安裝gem需要加上-include-dependencies選項,以便同時安裝相關的gem,現在已經變成預設指令了,也就是說只需要輸入
sudo gem install xxx
就已經含有—include-dependencies選項,真是方便的很。
by winson, 8 months ago.
Ruby on Rails對全世界最大的貢獻不在於產生多少容易維護的程式碼,而在於把簡潔易用的觀念深植人心。
因為程式員透過簡單易用的Ruby on Rails開發各種程式,於是創造出Twitter、Radiant、Mephisto等傑出的應用,而Vlad the Deployer則是另一個強調簡單易用的傑出工具。
相較於威力強大的Capistrano,Vlad the Deployer是一套極為簡單的自動化部署工具,特別是當您使用Mongrel, Apache, Subversion環境時,更是輕鬆愉快。
那麼,Vlad the Deployer可以幫助我們做什麼?
by winson, 9 months ago.
十月初,Rails終於發佈小改版升級到1.2.4,距離上次1.2.3發佈也經過半年了。
這次1.2.4升級幅度並不大,主要是一些安全修正。
在Rails環境底下,如果一切都是透過gem安裝的話,版本升級其實是相當簡單的事情:
gem update rails
基本上,gem的設計相當貼心,舊版本的寶石都會一一保留下來,這就是為什麼在gem list清單看到的寶石,都有好幾個不同版本的原因。
萬一您一時手癢升級,卻導致某些外掛模組無法運作的話,那該怎麼辦呢?要移除也是非常簡單的事情:
gem uninstall rails
這時候,您的Rails就會以上個版本,也就是1.2.3來運作,絲毫不會影響系統的任何功能。
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偷出來。