rake system:migrate

前一陣子想到   rails 中  rake db:migrate 的概念 ,總覺的用在系統建立上感覺很不錯。

以前用一隻shell來包的壞處就是,沒有版本跟redo的功能、有些需要切字串的地方寫起來很麻煩 、如果之後有動了些手腳,都看不出來做了些什麼。

是說其他人可能是用make來做 不過也一樣沒有版本的功能,而且常常流程都是附加在最後,自己測試一下就把他寫進去,也沒法重跑一次測試(不然會整個流程重跑一遍)。

也就是說 我只要定義


class Mailserver << ActionSystem::Migration

#

def self.up

end

def self.down

end

end

就可以跟 db:migrate 一樣操作了

不過剛剛在github找了一下,好像沒有人做@@ 還是哪裡有這種東西阿~~  不然就要來自己弄一組了~~~

community engine

剛剛把rails 的一個plugin-community engine 給裝起來用用看。這個plugin特殊在他可以是一整個網站,也可以透過plugin的模式寄生在宿主的project中。 他的plugin 模式其實就是把原本的網站裝到 vendor/plugin/community_engine 然後透過一些設定讓plugin裡面的網站可以伸出頭來呼吸。  rails 真的很猛…..

最近跟朋友都在研究這一堆plugin,收穫頗豐呢!

RubyConf 2007 的演講

via:在线观看RubyConf 2007全部视频演讲

最近又把ruby的書拿出來看,之前趕案子所以把ruby 當php用….orz…. 趁著最近忙別的事的時候,趕快拿出來複習兼加強一下。ruby真的很酷,像是區間這種物件就非常有用。例如說我今天需要替一堆東西產生一組連續的key,像是C001~C019,這個在ruby中只要這樣:

>> ('C001'..'C019').to_a
=> ["C001", "C002", "C003", "C004", "C005", "C006", "C007", "C008", "C009", "C010", "C011", "C012", "C013", "C014", "C015", "C016", "C017", "C018", "C019"]

真是太棒了,而且只要叫出irb ,就可以產生出這段key,然後複製貼上即可,真是太棒了

bundle-fu

via:bundle-fu

這個RoR的plugin看起來很棒。我們一般在寫網頁的時候都會依照每一個網頁的需求include 不同的css/js 檔案。例如說,我們有一個main.css 掌控基本的設定,但是在產品檢視頁面可能要include 特定的 product.css/js

不過如果檔案一多的話,connection 開開關關的就會讓網頁變得比較慢才下載完成(不管大小)。所以最佳化的手冊都會告訴我們減少額外include 的檔案數量。

簡單的說,他會把你在網頁中include 的 js/css 各包成一個檔。使用上也很簡單,原本是這樣寫:

<%= javascript_include_tag “prototype" %>
<%= stylesheet_link_tag “basic.css" %>
<%= calendar_date_select_includes “red" %>
<script src="javascripts/application.js" type="text/javascript"></script>

裝了這個plugin之後,只要改成這樣寫:

<% bundle do %>
<%= javascript_include_tag “prototype" %>
<%= stylesheet_link_tag “basic.css" %>
<%= calendar_date_select_includes “red" %>
<script src="javascripts/application.js" type="text/javascript"></script>
<% end %>

最後html的頁面就會被個包成一個檔。像是這樣:

<script src="javascripts/cache/application_bundle.js?1193283359″ type="text/javascript"></script>
<link rel=’stylesheet’ href="javascripts/cache/application_bundle.css?1193283359′ type=’text/css’ />

看起來真的很棒阿 😛