原创 [設計模式] - No.7 Factory Method 模式

Factory Method 模式 Factory Method模式和之前的Template Method模式有相似的地方。在Template Method中,我們在父類中使用模板方法用於定義具體的處理流程,如果我們使用這個具體方法來

原创 [設計模式] - No.8 Singleton模式

Singleton模式 在程序運行的時候常常是使用new的方法創建一個實例。對於某一個類(例如工具類),如果我們希望在任何情況下該類只有一個實例的話,我們需要使用單例模式。單例模式是很簡單又被廣爲使用的一個設計模式: public c

原创 [設計模式] - No.9 Prototype模式

Prototype 模式 在Java中,如果我們一般使用new XXClass()的方式獲取一個實例。而Prototype提供了這樣一種方式,既不通過new的方式獲取實例,同時和工廠方法獲取實例的方法不同。該模式使用類對應的對象來產生

原创 [設計模式] - No.10 Builder模式

Builder 模式 在《圖解設計模式》這本書中,對Builder模式的解釋是,用於組裝具有複雜結構的實例的設計模式。在這裏,我通過一個接地氣的小例子,來描述一下Builder設計模式究竟做了什麼。 加入有一天,你突然想蓋一棟別墅,首

原创 [設計模式] - No.4 Iterator 模式

Iterator 模式 本系列的文章主要是記錄設計模式的學習過程,圍繞《圖解設計模式》和我自身對於設計模式的理解。在文章中出現的代碼多爲《圖解設計模式》這本書中的代碼。書中一共包含23個設計模式,這篇文章作爲這個系列的第一篇文章。由於

原创 [設計模式] - No.6 Template Method 模式

Template Method顧名思義,就是說父類在其內部定義了一些抽象函數,然後定義了一個模板方法,並在模板方法中調用了這些抽象方法。父類在模板方法中定義了某個功能處理流程的框架,而子類則實現具體的處理。這個例子非常簡單,其核心的理

原创 [設計模式] - No.5 Adapter模式

Adapter模式 1. 什麼是Adapter模式 Adapter模式中文名稱叫適配器模式,就像我們的電腦電源適配器將直流電源轉換爲交流電源一樣,適配器模式可以將我們現有的某些已經具備相關類,轉換爲我們需要的類型。Adapter模式又

原创 [Spring Boot實戰系列] - No.6 Springboot PageHelper實現後臺分頁

Springboot PageHelper實現後臺分頁 PageHelper是一個很強大的分頁插件,在Springboot的項目中,如果後臺突然需要改爲分頁返回,甚至無需更改過多代碼即可獲得分頁的結果。 1. 前期代碼準備 創建一個s

原创 [Spring Boot實戰系列] - No.5 Spring boot AOP 示例

Spring boot AOP 示例 在之前的文章中,介紹過Spring 的AOP與AspectJ相關的內容。最近實驗室的一個項目又用到了springboot的AOP,在網上調研了一下發現了幾個配置極其簡單但功能很完善的示例,在這裏總

原创 [Python 實戰] - No.12 Python 中的正則表達式使用(1)

1. Python中如何使用正則表達式 Python中使用正則表達式的步驟如下: 使用import re導入正則表達式模塊 使用re.compile()創建一個對象 使用Regex對象的search()方法,傳入一個字符串,然後返回一個

原创 [機器學習與深度學習] - No.2 遺傳算法原理及簡單實現

遺傳算法(Genetic Algorithm),顧名思義,就是模擬物種進化的過程,遵循“物競天擇,適者生存”的原則,隨機化搜索的算法。遺傳算法模擬種羣演化過程,經歷“選擇”,“基因交叉”,“變異”等過程。遺傳算法不保證一定能得到解,如果有

原创 [Caffe] - No.3 ssd-caffe(2):訓練ssd-caffe模型:(以VOC數據集爲例)

2.訓練ssd-caffe模型:(以VOC數據集爲例) 使用caffe進行目標檢測,我們的需要標註了標籤的圖片作爲訓練樣本,訓練模型。推薦使用開源的標註工具labelimg,來對我們的圖片進行標註。標註之後,會產生.xml文件,用於標識圖

原创 Ubuntu 18.04 NVIDIA驅動安裝總結

最近遇到了在Ubuntu 18.04上安裝NVIDIA的情況,看到一篇英文教程講解的很好,簡單翻譯一下拿來收藏。 在Ubuntu 18.04上安裝NVIDIA有三種方法: 使用標準Ubuntu倉庫進行自動化安裝 使用PPA倉庫進行自動化

原创 [Debug] - No.4 Python 3.5 安裝Opencv

Anaconda python3.5的環境中安裝python-opencv失敗 在cmd中使用pip安裝python-opencv pip install python-opencv 出現以下報錯信息 Collecting pyth

原创 [Thinking in Java] - No.11 Java控制檯進度條

java實現控制檯的進度條,其實就是將之前每一行打印的進度條,反覆的打印在同一行上,實現視覺上的進度條增長的效果。 package com.ccd.ym.util; import java.text.DecimalFormat; pu