黑毛到白毛的攻城獅之路

Software entities (class, modules, functions, etc.) should be open for extension, but closed for modification.
- Bertrand Meyer

Junior programmers create simple solutions to simple problems. Senior programmers create complex solutions to complex problems. Great programmers find simple solutions to complex problems.
- Charles Connell

註1:本部落格的範例程式碼在 2015 年以前的文章中,大多是以全型空白做縮排。如需服用,請自行用文字編輯器的取代功能把全型空白取代成半型空白。
註2:本部落格的內容授權請參閱部落格底部的授權宣告。

2019年9月28日 星期六

Logback 輸出 JSON 格式的 log

›
Logback 預設通常是會輸出一行一行純文字的 log,不過如果想要輸出 JSON 格式的話,也有看起來應該是第三方貢獻給 logback 的 extension 可以使用。 Maven 設定 <properties> <slf4j.version>1...
2019年9月18日 星期三

Vespa 的 keep-rank-count 和 rerank-count

›
在文件 [1] 上對於 keep-rank-count 的描述如下: How many documents to keep the first phase top rank values for. Default value is 10000. 而對於 rerank-c...
2019年9月16日 星期一

(書籤) 多研究些架構,少談些框架

›
多研究些架構,少談些框架(1) -- 論微服務架構的核心概念 多研究些架構,少談些框架(2)-- 微服務和充血模型 多研究些架構,少談些框架(3)-- 微服務和事件驅動 多研究些架構,少談些框架(4)-- 架構師是技術的使用者而不是信徒
2019年9月1日 星期日

Bloom Filter

›
當我們想要快速地知道某個資料是否曾經在系統中儲存過的時候,基本的作法就是時間複雜度 O(n) 或者是空間複雜度 O(n) 的選擇。 時間複雜度 O(n):在存放的資料當中從第一個一直查到最後一個,花費 O(n) 的時間複雜度、同時沒有額外的空間複雜度需求,就能知道指定的某個資料到...
2019年8月25日 星期日

利用 Jackson 序列化、反序列化 JSON

›
JSON 的表示在資料傳送時很方便,不過在程式碼裡就不見得了,尤其像是 Java 這樣的強型別語言,要操作 JSON 常常得寫上一堆麻煩的程式碼。這也就是為什麼會有許多 JSON parser 的開源專案的原因~吧。以前我在做這些事情時都是用 GSON 來處理的,不過由於 GSO...
2019年7月28日 星期日

Vespa 的資料與索引型態

›
Vespa 裡面支援了許多資料型態(data type),包括 int、long、byte、double、boolean、string、struct(物件)、collection(例如 array、weighted set)等等,可以參考官方文件 [1],這些資料型態最主要的影響...
2019年7月21日 星期日

dependencyManagement 和 parent

›
最近專案上遇到一個奇怪的狀況,概略來說就是 @NotEmpty(javax.validation.constraints.NotEmpty)這個驗證無效。後來同事研究了好一段時間,發現問題好像是出在 dependency conflict。然後就做了一些 dependencyMa...
2019年7月18日 星期四

Spring WebFlux:Reactive Programming(持續更新中…)

›
最近開始認真在讀 Spring WebFlux 的文件,所以稍微做一點筆記~。 何謂 Reactive? 在 Spring 的定義來說,Reactive 包含兩件重要的事情:「Reacting」以及「Non-blocking back pressure」。在 Reacting 的...
2019年7月14日 星期日

Groovy 的 RESTClient 相關

›
忽略 HTTPS 的伺服器端檢查 restClient.ignoreSSLIssues() 回覆的 status code > 399 時,不要拋出 exception REST Client restClient = new RESTClient() restClient...
2019年7月7日 星期日

Java 的 SSL 驗證

›
一般在 Java 要存取 HTTPS 的服務的時候,大多數狀況因為常見的 CA 應該都已經列在 JRE 的 cacerts(CA Certification 檔)裡了,所以通常不會遇到什麼問題。不過如果遇到要存取的是像是公司內部的服務,公司自己有自己的 CA 時,可能就得做點事情...
‹
›
首頁
查看網路版

關於我

Wayne Yeh
檢視我的完整簡介
技術提供:Blogger.