原创 數據挖掘與數據話運營實戰 - 筆記

異常值判斷: 對於類別型變量,如果某個出現頻率太小,太稀有,就可能是異常值 對於區間型變量,可以從小到大排,比如最大的前0.1%就是異常值。或者,超過n個標準差的是異常值 數據轉換 對於區間型變量,如果分佈不光滑(或有噪聲),不對

原创 Spring 5 - 使用RestTemplate,訪問HTTPS服務

Spring的RestTemplate,支持SimpleClientHttpRequestFactory、OkHttp3ClientHttpRequestFactory和HttpComponentsClientHttpReques

原创 Java讀取OpenSSL生成的PEM公鑰文件

JDK8的JCE是不支持讀取PEM文件的。需要使用bouncycastle。 項目需求,使用SHA1WithRSA算法,對接口數據做簽名。代碼如下: @Service class SignService { private

原创 Spring5 - 集成Server-Sent Events功能

如果Controller返回SseEmitter,可以集成Server-Sent Events功能,向瀏覽器推送消息。 @GetMapping(path = "infoPush/{sms}", produces=TEXT_

原创 使用LAME,把MP3格式的錄音文件轉換爲PCM編碼格式的WAV文件

如果不修改LameDecoder源碼,是無法將MP3文件轉換成PCM編碼的文件的。 幸好它還包含了Main類,簡單修改一下,可以實現格式轉換的要求。 public class Mp3ToWav { private GetA

原创 Reactor 3 Reference Guide - 選譯 (3)Testing

有專屬的測試包: <dependency> <groupId>io.projectreactor</groupId> <artifactId>reactor-test</artifactId> <scope>t

原创 Reactor 3 Reference Guide - 選譯 (2)

Reactor Core Features Programmatically creating a sequence 本節介紹如何程序化增加Flux和Mono,以及相關事件(onNext、onError和onComplete)。這些方

原创 使用LAME,把PCM編碼格式的錄音文件轉換爲MP3格式的文件

最近,項目需要把PCM編碼的錄音文件轉爲MP3格式。 通過學習,發現可以使用de.sciss.jump3r項目: <dependency> <groupId>de.sciss</groupId>

原创 Reactor 3 Reference Guide - 選譯 (1)

About the Documentation 本節簡要概述了Reactor參考文檔。不需要一行一行地閱讀本指南,每一節都是獨立的,儘管他們經常互相引用。 Getting Started Introducing Reactor Rea

原创 Spring WebFlux - 定製NettyReactiveWebServerFactory

Spring的版本迭代很快,去年還是5.0,今年已經升級到5.1了。 別看只是小版本的升級,有些地方已經不兼容了。 比如,5.0時代,可以這樣定製ConfigurableReactiveWebServerFactory: @B

原创 重構 改善既有代碼的設計 第二版 - Building Tests

THE VALUE OF SELF-TESTING CODE 程序員的大部分時間用於調試工作。 Classes should contain their own tests. 每工作一點就測試,才容易找到bug。 當然,意味着要編寫很

原创 Spring WebFlux -事務

Mono裏是不支持註解事務的。 比如 @Transactional public Mono<CommonOutput> save(RecordFileSaveReq req) { return Mono

原创 Spring WebFlux - 校驗

WebFlux的validation比以前的版本簡單了很多。 先看pom.xml: <parent> <groupId>org.springframework.boot</groupId> <a

原创 Spring WebFlux - WebClient連接池簡單測試和代碼分析

Spring5.1開始,WebFlux的WebClient支持連接池功能了。 默認情況下,WebClient使用global Reactor Netty資源,也可以不使用全局資源: @Bean ReactorResou

原创 sofa-jraft試用 - counter

阿里開源了sofa-jraft。學習counter例子,使用Spring Boot整理了一下代碼。 首先,不喜歡Hessian,換成kryo。這部分代碼,客戶端和服務器端代碼相同。 CKryoPool類,提供pool提高性能: @Se