原创 Docker常用命令

構建容器 docker build --tag xxxx . –tag: 鏡像的名字及標籤 -f: Dockerfile的路徑 刪除容器 docker rm xxxx 刪除鏡像 docker rmi xxxx 列出容器 doc

原创 ElasticSearch初步使用

spring來管理 RestHighLevelClient @Configuration public class ElasticRestClientConf { @Value("${elasticsearch.ip}")

原创 JavaCV最小依賴

JavaCV如果使用默認的 compile group: 'org.bytedeco', name: 'javacv-platform', version: '1.5' 作爲依賴的話會把所有平臺的編譯後庫文件或dll文件全都下載下

原创 JavaCV入門示例及UnsatisfiedLinkError異常踩坑記錄

JavaCV可以認爲是OpenCV的Java版,其本質上是一個Java Interface,是一個聯結Java與OpenCV的橋樑,所以它本質上是依賴OpenCV的。關於這東西能查到的文檔和資料實在是太少了,這個過程中着實踩了不少

原创 JPA字段爲null時不保存/更新

實體類中某些字段爲null時,默認狀態下執行save操作也會將null值存入,如果數據表中字段的類型不是char一類的字符類型就會出現各種稀奇古怪的報錯,解決很簡單,在對應的實體類加上@DynamicInsert註解就可以了。 同

原创 Mockito編寫Service層單元測試

上一篇記錄了針對Controller層的單元測試,這一篇看一下針對Service層的測試,以及踩過的坑。 由於業務層代碼跟公司實際業務緊密相關,不方便貼代碼,如有需要的地方會簡短的寫幾行幫助理解,總的來說有以下幾個要點: Moc

原创 使用PowerMockito對私有private方法及異常進行測試

注意不是mock私有方法 假如對下面的代碼進行測試: public class Service { private int getBackupSize(String backupId, String keycloakToken)

原创 解決單元測試Mockito模擬方法內new對象的問題

對於正常通過構造或者注入方式依賴的對象,Mockito還是很好解決依賴關係的,但是如果遇到被測方法內出現 new 依賴的對象,就變得麻煩一些了。 這裏舉一個比較特殊的例子,new了一個線程對象,實際上該解決方案針對所有通過 new

原创 關於Mockito處理 List (? extends A) 的解決方案

最近在寫單元測試的時候遇到一個問題,把解決過程記錄下來。 業務代碼如下: volume.getAttachments().get(0).getServerId() 其中getAttachments()方法定義如下: List<?

原创 Mockito編寫Controller層單元測試

測試團隊要求寫單元測試,但是Mockito網上相關的文檔不是很多,基本都是入門性質的沒有更深層次的使用案例,而且Mockito本身功能也在不斷的完善,導致寫起來比較費勁,好多地方完全靠猜。摸索之下算是完成了,把踩過的坑記錄一下,萬

原创 Mockito快速上手

關於單元測試與集成測試 單元測試:針對代碼中最小可測試單元進行測試,通常就是一個方法塊。單元測試只關注方法本身的業務邏輯, 不關心其餘任何與外部交互的方法或接口。 集成測試:在單元測試的基礎上將所有模塊按照系統設計或業務規則組裝

原创 增加ceph mon節點

爲已有集羣進行增加mon節點,簡單記錄一下。 修改ceph.conf 隨便找一臺正在運行的mon節點上修改ceph.conf,增加相應的mon initial members與mon host,不再贅述。然後同步到所有節點。 可使用如

原创 手動部署Ceph集羣

接上篇,這次使用全手工配置的方式部署一套集羣。環境配置及需要做的準備工作和上篇一樣,不再多說了。先從單節點配起,然後逐步進行擴展,最終做到三節點。 安裝Ceph 這裏選擇從倉庫中進行安裝,而不是從源代碼開始編譯,因爲實在是太慢了,跑了

原创 使用ceph-deploy部署Ceph集羣

初次入門,使用ceph-deploy工具快速安裝(相比於手工安裝)一套三節點的Ceph集羣,並最終創建對象存儲服務進行系統驗證。 預先了解兩個基本概念: mon:osd監視器,osd的守護進程,通常一個osd對應一個mon osd:

原创 Python入門-關於"__main__" == __name__

剛開始學習py,很多語法還不適應,寫下來做個備忘。 在同事的代碼裏面看到這麼一行語句 if "__main__" == __name__: 不是很理解,網上搜索一下,大概看懂了,先看結論: __name__ 是當前模塊名,當模塊被直