Fenriswolf 程式筆記

奮利斯狼的地盤,小綿羊勿入

Pig Latin / SQL 對照表

很多人都是從 RDB 的程式開始寫起,在學習 Pig 的過程一定會想「SQL 裡的 xxx 功能用 Pig 應該要怎麼寫」
以下的對照表應該會對想學 Pig 的人有所幫助
繼續閱讀

廣告

2012/03/22 Posted by | Pig | , | 1 則迴響

Apache Pig 簡介

Hadoop 這個名詞已經越來越熱門了,但是難寫的 Mapper/Reducer 也造成很多人的進入障礙。
Pig 提供了一個 high level 的語言並轉換成 Map/Reduce 幫助大家執行大量的資料分析。
繼續閱讀

2012/03/22 Posted by | Pig | , | 2 則迴響

Jetty Session Replication

在組 cluster 時最容易碰到的問題就是在同個 cluster 內不同 server 之間彼此同步 session。Jetty 預設沒有支援這個功能,需要在眾多方案之中選一個來用,還要自己 build 相關的模組,非常麻煩
繼續閱讀

2012/03/22 Posted by | Application Server | | 發表留言

Jetty JNDI 設定

在 Jetty 中如果使用一般 EJB 的方式來存取 JNDI 的 resources 會發現不能用
繼續閱讀

2012/03/21 Posted by | Application Server | , | 發表留言

用 Ant 建立 Docbook 文件 – 解決 FOP 的 bug

Docbook Framework 是用 FOP 0.20.5 的版本來產生 pdf 檔案
簡單的測試基本上不會有問題,但是文件的量及結講一但大到某一個程度
常常會發生 FOP 的錯誤訊息

"The ID d0e2346 already exists in the document"

繼續閱讀

2012/03/21 Posted by | Java Tool | , | 發表留言

用 Ant 建立 Docbook 文件 – 支援 pdf 中文字型

不管是用 Docbook Framework 還是 iReport 建立的 pdf 檔都沒有支援中文字型
都需要自己下載相對應的定型檔並加進設立檔內
繼續閱讀

2012/03/21 Posted by | Java Tool | , | 發表留言

用 Ant 建立 Docbook 文件

Docbook 是一個基於 XML 的文件管理系統,尤其是廣泛用於技術類的文件
好處是撰寫時只要專注在文件的內容而不用管格式,字型等等美化的工作
當內容寫完後可以套用不同的 CSS 及 XSL 產生 HTML 及 PDF 檔
有名的 spring framework 也是利用他來寫 reference document

基本的 Docbook XML tags 定義非常的多,有興趣者可以參考這個網站
但是一般不會直接寫 XML,我個人是使用 XMLMind 這個 IDE,有免費的 Personal Edition 可供下載
雖然 Professional Edition 可以幫你產生 HTML 等格式的文件,但我會希望這個流程可以自動化
整合進 Ant script 和程式碼一起打包並佈署到客戶端
繼續閱讀

2012/03/21 Posted by | Java Tool | , | 發表留言

從 instrumentation 看 Emma, Cobertura and Clover

目前免費的 converage tools 裡就屬 EMMA 和 Cobertura 最有名,兩者皆是 bytecode instrumentation。以下是針對這兩套工具的比較,另外在 bytecode decompile 的部分我加入了要錢的 Clover(source code instrumentation) 來一起做個評比。讓大家可以看一下 bytecode 和 source code instrumentation 的差異性
繼續閱讀

2012/03/21 Posted by | Java Tool | , , | 發表留言

Support Parameterized in Spring Test Framework

Junit 的 Parameterized 是一個很好用的功能,但是目前 spring 的 test runner 並沒有支援(在 3.1 M2 開始支援),要自訂 Spring Parameterized 只要參考 Junit 內的 Parameterized class,把 inner class 改繼承 SpringJUnit4ClassRunner,並在 createTest 之後做一個初始化的動作即可。
繼續閱讀

2012/03/21 Posted by | Java Framework | , | 發表留言

CXF ExceptionMapper

在實作 Restful Services Exception Handling 需支援 L10N,簡單的做法是把 exception message 轉成相對應的對錯訊息。一個好的設計原則是讓程式不要跟 CXF 或特定的 framework 綁死,才能讓程式有更高的可攜性及重用性。因此我不希望在 API 上直接 return javax.ws.rs.core.Response 或 throw javax.ws.rs.WebApplicationException。因此需要自訂 ExceptionMapper 來支援我所要的功能
繼續閱讀

2012/03/21 Posted by | Java Tool | | 發表留言