原创 對時間強依賴的方法如何做單元測試

背景 項目當中需要進行業務時間的校驗,如上午 9:00-下午 17:00,在 9:00 前或 17:00 後是不能處理相關業務的。因此在業務校驗的 Service 中定義了一個 checkBizTime() 方法。原本代碼如下: publi

原创 MyBatis踩坑之單字符條件比較

背景 Mybatis中可以使用 <choose><when>...</when></choose> 語句來實現條件選擇,<when> 標籤含有 test 屬性用於設置比較條件,但是在某些特定情況下,字符串的比較會存在一個坑,那就是單字符字符

原创 使用HttpServletResponse實現curl接口時控制檯輸出(續)

上一篇文章的問題 在上一篇文章 Spring Boot RestController接口如何輸出到終端 中討論瞭如何使用 HttpSerlvetResponse 寫入輸出流,使應急接口通過 curl 調用時可以在控制檯輸出信息,使運維人員知

原创 Spring Boot RestController接口如何輸出到終端

今天在公司項目的代碼上實踐了一下,發現這種方法對業務代碼侵入性太大,大量的業務方法需要增加傳入參數,使得業務方法和HttpServletResponse類耦合度太高,但由於 HttpServletResponse 對象是 Controll

原创 Spring Boot 1.5.x 結合 JUnit5 進行接口測試

在Spring Boot 1.5.x中,默認使用Junit4進行測試。而在對Controller進行接口測試的時候,使用 @AutoConfigureMockMvc 註解是不能注入 MockMvc 對象的。因此只能使用 WebApplica

原创 SpringBoot中單元測試如何對包含AopContext.currentProxy()的方法進行測試

今天在工作中遇到一個問題,一個Service類中有一個方法,其中使用了 AopContext.currentProxy() 去訪問自身的函數,例如 int result = ((OrderServiceImpl) AopContext.cu

原创 Jacoco 生成單元測試覆蓋率

1. 引入Jacoco插件和Maven Site插件 <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-site-plugin</a

原创 Spring Boot 單元測試筆記

1. 導入JUnit5測試框架 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</a

原创 ArrayList中的遍歷刪除

ArrayList 中的遍歷刪除 在代碼編寫過程中經常會遇到這樣的要求:遍歷一個線性表,要求只遍歷一遍(時間複雜度\(O(n)\)),刪除符合指定條件的元素,且要求空間複雜度 \(O(1)\)。 例如我們有下列數據,要求遍歷列表並刪除所有偶

原创 K8S部署之VMWare網絡拓撲踩坑

目錄背景VMWare 虛擬網絡安裝 Ubuntu Server 20.04 時遇到的網絡問題解決方法和解釋總結 背景 知乎上最近發現一篇好文 圖解K8S(01):基於Ubuntu 20.04部署1.23版K8S集羣,想着之前 K8S 部署一

原创 安裝mysql後必須要做的一件事

Step 1. 檢查默認賬戶和密碼 $cat /etc/mysql/debian.cnf # 在ubuntu下查看默認賬戶名和密碼 會看到 [client] host = localhost user = debian-s

原创 Python Docstring 風格和寫法學習

什麼是Python Docstring 和Java類似,Python也通過註釋形式的Docstring給程序、類、函數等建立文檔。通過Docstring建立的文檔不僅對人來說有更好的可讀性,也能夠讓IDE等工具自動識別使用函數、類、變量等的

原创 機器學習學習筆記之二:決策樹

使用決策樹算法的基本思路 劃分數據集,使被劃分的特徵作爲決策樹的節點。通常採用二叉樹(也可以採用非二叉樹)作爲最終形成的決策樹形式,即將數據集按照某個特徵進行劃分成兩個子數據集,並對這些子數據集遞歸地進行劃分,直到無法劃分爲止。 劃分數據集

原创 機器學習學習筆記之三:樸素貝葉斯

條件概率和貝葉斯公式 條件概率 \(p(x|y)\) 表示在 \(y\) 發生的條件下 \(x\) 發生的概率。 條件概率公式: 已知 \(p(x)\) 和 \(p(y)\),以及\(x\), \(y\)同時發生的概率\(p(xy)\),那

原创 VS2015中GLAUX庫的鏈接問題

最近學習OpenGL,照着例子寫了個程序,用到了GLAUX庫。 #include <gl\glaux.h> #pragma comment(lib, "glaux") 在程序中加了這兩句話,編譯時出現問題 經過查找資料以後發現VS2