原创 ElementUI - 自定義上傳文件 & 自定義進度條

上傳文件按鈕 <el-upload class="upload" action="" style="float:left;" multiple :http-request="uploadFile" :show-file-list=

原创 二叉搜索樹 - Java 實現

文章目錄樹定義搜索節點插入節點刪除節點 樹定義 public class BinarySearchTree<T extends Comparable<? super T>> { // 二叉樹節點 private sta

原创 C++ 條件變量

文章目錄條件變量類型condition_variable構造等待喚醒condition_variable_any構造等待喚醒 條件變量類型 類 wait 函數使用的鎖 condition_variable uniqu

原创 紅黑樹 - Java 實現

文章目錄樹定義搜索節點插入節點刪除節點重平衡操作與 AVL 樹的差別 紅黑樹也是一種平衡搜索樹,其具有如下 5 個限定條件: 節點要麼爲紅色,要麼爲黑色; 樹根爲黑色; 外部節點均爲黑色; 紅色節點的孩子爲黑色; 從任一外部節點

原创 散列 - Java 實現

此處使用分離鏈接法來解決衝突,即將散列到同一個桶的所有元素都保存到一個鏈表中。 對象必須實現 hashCode() 方法(計算哈希值)和 equals() 方法(判斷是否已經存在該元素)。 除了鏈表,也可以使用其他的數據結構來解

原创 C++ 原子類型

文章目錄atomic構造賦值訪問特化操作atomic_flag構造操作內存序 原子對象可以保證:從不同的線程訪問其包含的數據不會造成數據競爭。此外,它還能夠同步不同線程對內存的訪問。 atomic 構造 default (1

原创 B 樹 - Java 實現

文章目錄樹定義搜索關鍵碼插入關鍵碼刪除關鍵碼 當數據規模大到內存已不足以容納時, 常規的平衡二叉搜索樹的效率將大打折扣。其原因在於,查找過程對外存的訪問次數過多。 磁盤等外部存儲器的一個特點是: 讀取物理地址連續的一千個字節,與

原创 智能指針 - shared_ptr

文章目錄簡介構造賦值重置解引用交換類型轉換其他操作 簡介 可以獲取一個指針的所有權,且可以共享該所有權。 當最後一個屬主釋放掉指針的所有權時,該屬主將負責指針所指空間的釋放工作。 屬主釋放所有權的方式: 屬主被銷燬(析構); 屬

原创 C++ 異步訪問

文章目錄packaged_task構造賦值shared state 相關操作其他操作promise構造賦值shared state 相關操作其他操作asyncfuture構造賦值獲取值其他操作shared_future構造賦值獲取

原创 智能指針 - unique_ptr

文章目錄簡介構造賦值重置釋放解引用訪問數組交換其他操作 簡介 non-specialized template <class T, class D = default_delete<T>> class unique_ptr;

原创 Ubuntu16.04 部署 keystone 和 swift

文章目錄1. 實驗環境2. 環境配置2.1 更換軟件源2.2 配置網絡2.3 配置 NTP2.4 安裝 OpensStack 包2.5 安裝數據庫2.6 安裝消息隊列2.7 安裝緩存2.8 安裝 Etcd3. 安裝 KeySton

原创 Linux POST 請求

文章目錄curlwget curl 使用 curl 發送 POST 請求並讀取網站的響應: $ curl url -d "key1=value1&key2=value2..." -d:以POST方式提交用戶數據。 字符串參數形式

原创 Paxos協議

用於解決分佈式環境下一致性的問題。 集羣中的節點可分爲proposer和acceptor兩種。其中proposer負責處理客戶端請求,將客戶端的請求發送到集羣中,以便決定這個值是否可以被批准。acceptor則負責處理接收到的提議

原创 C++ tuple 實現原理

文章目錄MyTuple 定義獲取MyTuple的元素測試 MyTuple 定義 // 1. primary 模板(可變模板 - 使用 pack parameter) template <typename... Ts> struct

原创 C++ 完美轉發

完美轉發實現了參數在傳遞過程中保持其值類別的功能,即,若是左值,則傳遞之後仍然是左值,若是右值,則傳遞之後仍然是右值。 forawrd 的函數聲明爲: template< class T > T&& forward( typena