Rails Migrations 砍掉重練

今天看 AWDwR 2nd. 第16章 Migrations 的時候,有一節叫 When Migrations Go Bad,意思是說若跑 Migrations 的時候意外死掉,例如以下這種情況,table one好了,table two還沒…

def self.up do…
  create_table :one do …
  end
  create_table :two do..
  end
end

def self.down
  drop_table :two
  drop_table :one
end

此時要怎麼處理呢? up跟down進退不得呢,書上的解法很簡單,就是砍掉重練,把全部 table drop掉,重新跑一遍 rake db:migrate。

讓我印象深刻的是這招最後一節又提到一次。問題是說隨著 migrations 的累進,每個 schema 定義可能會散佈在各個 migration 檔案中,我們要如何一眼看懂每張 table 最後到底有哪些欄位?

方法一是看 db/schema.rb 檔,有全部的定義(Ruby form)

方法二是保持每張 table 只有唯一的 migration 檔案,有任何修改不要新增再 migration檔案了,而是用編輯的方式,每次有修改就砍掉重練即可。話說此招雖然跟 Migrations 版本累進的概念不同,但也是可以work。

方法三是裝 annotate_models plugin,每次有變動你只要跑 rake annotate_models,他就會在你的 model 自動加上 table column 註解,一目瞭然。用法跟結果可以參考這篇

題外話,今天系上有某老師進不去openwebmail,登入後吐 Internal error,我跟電腦助理最後的解法也是砍掉重練… :p (有種很遜的感覺)

Eric Sink 談小軟體公司的創業經營(續) Marketing

Eirc Sink 開頭就提到在 smaill ISV 至少要有人得會基本的行銷概念才行。

作者把行銷跟程式設計類比在一起,程式設計的第一階段是 deisign,第二階段 implementation。行銷同樣也是兩個階段,第一是 strategy,第二才是 maketing communications(如打廣告)。奇妙的是大家都喜歡忽略第一階段的重要性…:p 閱讀全文〈Eric Sink 談小軟體公司的創業經營(續) Marketing〉

台灣黑客鬆 2007

連趕兩天下課後從新竹北上參加黑客鬆 (hackathon), 我的 team 是 lukhnos 領軍的RoR組(還有jiinggodfat共四人),題目是 Flickr API emulation layer。

兩天的開發時間扣扣減減其實很短,而且Rails我有一陣子沒實做了,還蠻生疏的 :p 不過在大家的努力下,終於做出了一個可以demo的初步雛型。成功 hacking FlickrBoothScreenSavr這兩套Mac桌面應用軟體,連線到 localhost 自建的 emuFlickr (而不是連線到遠端的flickr.com),上傳照片和瀏覽照片。

兩天後在 osdc.tw 的 Lightening talk時間,我跟jiing則上去分享一下黑客鬆的成果,投影片在此。第一次pair programming這麼開心,也深入了解了Flickr API。再次感謝  lukhnos 跟 b6s 辦了這麼有意思的活動,相信有了這次的經驗,下回再辦大家可以更快進入狀況,做出更棒的東西。

Eric Sink 談小軟體公司的創業經營(續) People

Update(2007/4/12): 補充 Simply Patrick 的延伸閱讀文章連結。

Part 2 談人 People,讓我想起另一本軟體管理名著: Peopleware。我想兩本書拿來一起比較的話,應該有非常有趣的觀點差異,有機會再來分享那本書的內容。

閱讀全文〈Eric Sink 談小軟體公司的創業經營(續) People〉

Eric Sink 談小軟體公司的創業經營

ericsink.png這是一本由 geek 寫給 geeks開小型軟體公司的書。書的預設讀者是給技術出身(developer,programmer)的創業者來補足一些技術之外的知識跟概念,像是行銷/銷售/人事/經營策略/會計/產品定價等等。我想任何有 freelance 意識,進而想要有自己事業的programmer都很適合這本書,而且念起來非常有趣 (嗯,非常geek風格~)。

就如同Joel所說的,一間非技術背景管理階級的軟體公司,沒有太多機會。要創立軟體公司,還是給搞技術的人來吧… :p

by the way… 如果你對這樣的獨立創業模式(員工人數少、所需資金少,以正現金流量為導向)有興趣,我建議還可以看看這本書 Go It Alone

回到 Eric Sink 這本書分成四個部份,Entrepreneurship 企業家精神/People 人/ Marketing行銷/Sales 銷售 

Part 1 : Entrepreneurship

第一章 定義 ISV 跟本書預設讀者

 independent software vendor,自行創造/行銷/銷售軟體產品。某個有技術背景的人管理小型 ISV,稱作 a geek founder。 閱讀全文〈Eric Sink 談小軟體公司的創業經營〉