我的 Rails3 App Template (+JQuery+RSpec+Watchr)

Update(2011/3): 有網友問到底有哪些方法可以用,請參考 Rails::Generators::ActionsThor::Actions

Rails 的 App Template 功能可以快速初始化一個客製化的 Rails 專案,例如,如果你想使用我的特製版本,只要一行指令就可以產生出特製的 Rails3 專案:

git clone git://github.com/ihower/rails3-app-template.git
rails new your_project_name -TJ -d mysql -m rails3-app-template/rails3.rb

其中 -TJ 的意思是省略 prototype.js 和 test-unit 檔案的產生(我會用 JQuery 和 RSpec 取代),-d 的意思是使用 MySQL 設定。

接下來讓我來介紹一下 rails3-app-template/rails3.rb 在做什麼? 這些是我目前初始一個專案的必備初始動作,也非常推薦給你使用。

閱讀全文〈我的 Rails3 App Template (+JQuery+RSpec+Watchr)〉

三月份演講:RSpec 和 Git

公告下個月出席的兩場演講,一場是受邀分享 Git 使用心得 (看來大家對 Git flow 很感興趣啊),另一場則是一年一度 OSDC.TW 大會,我投稿的題目是 RSpec,這是我第一次嘗試講測試相關主題,希望可以準備的有趣又實用。

不過很可惜,在看你看到這篇公告的同時,這兩場活動的報名都額滿了。

Git 介紹、使用與開發流程

主辦:Facebook 軟體開發團隊工具心得分享
時間:2011/3/19 (六) PM2~PM4
地點:台北市 果子咖啡
摘要:

1. 什麼是 DVCS
2. 什麼是 Git
3. Git 快速上手
4. Git 開發流程
5. 以 GitHub 做 Live demo

Introduction to RSpec

主辦: OSDC.TW
時間:2011/3/26 (六) PM 3:10~4:00
地點: 台北市 中央研究院
摘要:

RSpec is a Behaviour-Driven Development tool for Ruby programmers. BDD is an approach to software development that combines Test-Driven Development, Domain Driven Design, and Acceptance Test-Driven Planning. RSpec helps you do the TDD part of that equation, focusing on the documentation and design aspects of TDD.

In this talk, I will show you how to develop a Rails application with RSpec and how to write acceptance testing for any web application (not limited to Rails).

Git flow 開發流程

Update: 2011/3/19 受邀有場分享 Git介紹,使用與開發流程 at Facebook 軟體開發團隊工具心得分享

大家都知道 Git 開 branch 很方便,非常鼓勵 topic branch,但有沒有一套模型流程告訴我們應該怎麼管理 branch 呢? 有人便整理出一套最佳實踐慣例 A successful Git branching model我們團隊就採用了這套流程。簡單來說,他將 branch 分成兩個主要分支,三種支援性分支:

  • 主要分支
    • master: 永遠處在 production-ready 狀態
    • develop: 最新的下次發佈開發狀態
  • 支援性分支
    • Feature branches: 開發新功能都從 develop 分支出來,完成後 merge 回 develop
    • Release branches: 準備要 release 的版本,只修 bugs。從 develop 分支出來,完成後 merge 回 master 和 develop
    • Hotfix branches: 等不及 release 版本就必須馬上修 master 趕上線的情況。會從 master 分支出來,完成後 merge 回 master 和 develop

作者還提供了 git-flow 指令工具幫助我們很容易的實踐,用法如下:
閱讀全文〈Git flow 開發流程〉

如何設計出漂亮的 Ruby APIs [演講摘要]

註:這篇是好幾個月前應 InfoQ China 的邀稿所寫,不過看起來是沒有派上用場 (大概是程式碼太多了)。對我來說,寫好的稿子沒公開出來太浪費了,所以就貼出來吧。

本文摘錄了我去年在 RubyConf China 2010 中的演講內容,包含了 Ruby APIs 的十個設計技巧以及範例程式,同時也介紹了 Ruby 的物件模組及元編程(Meta-programming)。完整的範例程式請搭配 投影片 服用。

閱讀全文〈如何設計出漂亮的 Ruby APIs [演講摘要]〉

Ruby Tuesday #15 開放報名

今年的最後一場,帶給大家與 Ruby/Rails 比較間接的主題:

* Felix & Mars 圖形資料庫 (neo4j) 在社群網路的應用 Graph Database in Social Network Application,會有圖形資料庫的簡介和 Ruby 程式範例。
* TaopaiC: Be nice to your Designers : Useful tips For Rails developers,會介紹一些 Rails 的前端技巧。

時間是 2010/12/28 週二晚上 PM7~9

地點依舊在果子咖啡,報名網頁在此

Service-Oriented Design and Implement with Rails3 投影片

這是昨晚在 Ruby Tuesday #14 演講的投影片。這次的題目 SOA 其實我在今年初講 Distributed Ruby and Rails 時也有涵蓋過,只是那時候還沒有給出實際的程式範例。這次搭配充滿彈性的 Rails3 有了 Web service 端和 Client side application 程式範例,相信讀者們可以具體的實作出來。