星期二, 1月 16, 2007

Patch ActiveRecord-JDBC

花了一個早上的時間在找ActiveRecord-JDBC連結Oracle 9的問題,利用jruby使用ActiveRecord-JDBC來連結Oracle會出現java.sql.SQLException 數值溢位的例外,一路追下去,發現是ActiveRecord在讀取database metadata時,發生overflow的問題。

把jdbc_adapter.rb 的 convert_jdbc_type_to_reply中的 resultset.getInt改成 resultset.getLong就行了,不過,這是蠻暴力的改法就是了 。

星期三, 1月 10, 2007

Code coverage with emma

打從第一次看到有Open source 的專案使用clover來作測試覆蓋率(Test coverage)的工具, 就一直想找一個類似的工具來用,但是Clover是要錢的,如果只是寫寫自己好玩的程式,也要用這種花錢的工具,那這個興趣的成本還真是太高了,也就沒很認真看待這件事,久了,也就忘了。

前陣子,閒閒在Eclipse的網站上晃的時候,碰巧被我看到了這個plugin -- EclEmma,一個把emma整合進eclipse 環境中的plugin,裝起來試了一下,蠻有趣的,就持續用下去了,下一步,就是把emma導入作為部門中的正規流程了。

emma是一個找覆蓋率的工具,透過emma來執行Java程式,可以在程式結束的時候,顯示出執行期間所有執行到的程式碼,跟執行的狀況 -- 完全執行,未執行,部份執行(條件判斷式)。如果用來執行junit 的測試,就能夠看出執行這些測試程式的時候,執行過那些正式的程式碼。雖然說這類的資訊,只是參考用,但是對於剛開始寫測試程式,或是維護舊有的未測試程式時,也是蠻好用的工具。

Emma 官方站


EclEmma 官方站

星期六, 1月 06, 2007

OpenLogic partner

昨天突然收到OpenLogic的Partner邀請,作為他們subclipse計畫的後端支援人員,原來是他們從subclipse的comitter列表中找到我的名字,才發出邀請函。想想自己目前的工作,還算有空檔能幫幫Open source社群的一些忙,也就答應了,不過,他們有提供能協力伙伴一些金錢上的支援,會根據解決的問題,得到若干的報酬就是了。