原创 使用 Redis 做 MyBatis 二級緩存

1. 首先安裝 Redis Server,設置好用戶名密碼,然後 pom 裏添加依賴: <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifac

原创 應用多節點部署,操作同步的實現方案

系統功能概述: 我們的應用所面向的終端用戶是醫學人員,系統部署後,用戶可以通過複雜的醫學條件檢索出符合條件的病人,稱之爲隊列,然後定義變量,也就是再次查詢每一個病人的具體信息,如年齡,性別,是否服藥,檢測的血壓值是多少等等,有了這些數據,

原创 springboot應用在內置tomcat和在獨立tomcat裏Listener加載順序不同的問題

我們的一個語言國際化的實現思路是: 通過Listener在應用被加載的時候讀取properties 資源文件,然後把對象放入 ServletContext 中,I18NUtils 工具類通過注入 ServletContext,實例化時從上

原创 goroutine使用最佳實踐

1. 最好在主 goroutine 裏定義channel並準備初始數據,再根據需要發出子goroutine 實現具體處理邏輯,各子goroutine可以從 channel 接收數據和(或)往 channel 發送數據。 2. 如果不是特殊

原创 離線安裝 Enhanced Class Decompiler

通過 Eclipse Marketplace 安裝 Enhanced Class Decompiler 總是報 Unable to read repository at https://ecd-plugin.github.io/updat

原创 數據導出爲 .SAV文件到SPSS軟件進行分析的解決過程

我們的一個產品是做醫療數據分析統計的,核心功能是通過精細的數據過濾條件及靈活的組合方式,給予用戶使用嚴苛條件檢索出病人數據,而數據分析這塊,我們是通過 R 語言庫,編碼實現常用的統計分析功能。 有個客戶可能是習慣於使用 IBM SPSS

原创 解決 devtools::install_github 的 SSL/TLS connection failed 問題

使用 devtools 的 install_github 命令安裝一個 R 包報瞭如下錯誤: Installation failed: schannel: failed to receive handshake, SSL/TLS con

原创 利用Java反射消除 if/else 語句

前端頁面會根據用戶選擇的下拉列表選項,傳給後端相應的 Value 值,後端根據不同的 Value 值執行不同的業務邏輯,大致如下: public String getSqlForField(String field){ if ("AG

原创 R語言:本地安裝OHDSI在GITHUB的DatabaseConnector包

一個R程序使用了 library(SqlRender) 和 library(devtools) 包,本地的R Version是3.3.1,報錯說 devtools 不在這個版本里。於是下了 R-3.4.0,由於同時安裝了32-bit和64

原创 使用阿里 EasyExcel 讀寫 Excel 文件

首先 pom.xml 引入依賴,EasyExcel 版本更新快,不同版本 API 均有不同,有些已經廢棄。 <dependency> <groupId>com.alibaba</groupId> <artifactId>easyex

原创 阿里雲鏡像解決了springboot和spring cloud版本兼容問題

直接使用 start.spring.io 快速構建微服務應用,添加Eureka Server依賴, 由於沒辦法選擇老一點的 springboot 版本,只好選擇默認的,生成的 pom.xml 文件如下: 接着就是應用 springboo

原创 特殊的 log4j:ERROR Failed to rename 問題

由於業務功能的需要,我們需要分流日誌語句到不同的文件裏,我們的 log4j.properties 配置如下: ### set log levels ### log4j.rootLogger = INFO,CONSOLE,D log4j.

原创 算法:打印二叉樹的邊界節點:

打印二叉樹的邊界節點有兩個標準,這裏只看標準一: 1. 頭節點爲邊界節點 2. 葉節點爲邊界節點 3. 如果節點在其所在的層中是最左或最右的,那麼也是邊界節點 左程雲的《程序員代碼面試指南》裏面的解法如下: 1. 遞歸遍歷樹,找到樹的最大

原创 springboot工程掃描依賴Jar包的mapper和xml的解決辦法

1. 如果宿主和被依賴的工程都包含 Swagger.java,整合後會發生衝突,解決辦法就是不重名或者直接刪除被依賴工程裏的文件。 2. 宿主的 Java 進程啓動入口需要加上依賴 jar 包的掃描路徑,MapperScan 也要加上對應

原创 Oracle轉PostgreSQL後,應用層修改時碰到的問題

使用 Ora2PG 完成Oracle到PostgreSQL遷移後,就需要修改Java應用的代碼了,我們使用的是 Spring Boot + Druid + MyBatis,除了常規的函數不同要修改,比較瑣碎的就屬子查詢要有別名和臨時表的問