Software entities (class, modules, functions, etc.) should be open for extension, but closed for modification. Junior programmers create simple solutions to simple problems. Senior programmers create complex solutions to complex problems. Great programmers find simple solutions to complex problems. 註1:本部落格的範例程式碼在 2015 年以前的文章中,大多是以全型空白做縮排。如需服用,請自行用文字編輯器的取代功能把全型空白取代成半型空白。
- Bertrand Meyer
- Charles Connell
註2:本部落格的內容授權請參閱部落格底部的授權宣告。
2016年9月19日 星期一
2016年9月10日 星期六
Gson 基礎使用:序列化與反序列化時,使用不同的名稱
在利用 Gson 做自動序列化與反序列化時,有時會遇到有點特殊的需求
就是序列化與反序列化時,想要使用不同的名稱。
實務上比較直覺的狀況是,某個物件是要從資料庫取出的,然後要將物件內容透過 JSON 格式輸出給使用者
但是又不希望使用者可以直接從 JSON 格式看見資料庫的結構,因此會嘗試至少把名字換掉 XD
(雖然這個例子看起來好像只是鴕鳥心態就是了 XD)
2016年9月7日 星期三
自定義 Logback 的 Encoder
想要試著自定義一個可以產出 JSON 格式的 log
雖然之前已經有 PO 過 logstash 提供的 Encoder,就可以達到把 log 輸出成 JSON 的目的
不過基於某些無聊的理由,還是想要自己寫看看 XD。
2016年9月6日 星期二
SLF4J 與 Logback 的運作流程
最近因為工作需要,開始在研究如何自定義 logback 的 Appender
不過在開始嘗試實作之前,因為想要知道整個 slf4j 到 logback 等的整個執行流程為何
因此就做了這篇的簡單的研究。