原创 Cucumber-行爲驅動開發實踐

Cucumber是一種BDD實踐開發工具,屬於敏捷開發的組成部分。 在敏捷開發中,對用戶進行需求分析時,不是像傳統的P&D的開發方式,首先編寫大量的用戶需求分析文檔,而是通過一個個User Story來進行用戶需求的分析。

原创 主流混合雲管理平臺分析

在現在的雲計算髮展過程中,混合雲的需求越來越大,客戶根據業務、或者是其他需求,都需要部署混合雲,在一家公司中,可能會採用多種私有云虛擬化技術,多種不同的第三方雲廠商提供的公有云服務。這樣的需求勢必需要一款能夠支持混合雲管理的軟件。

原创 基於模型的智能測試

在DevOps盛行的今天,大家越來越關注軟件自動化測試。在我的理解裏,自動化測試有兩種。 由人工編寫好各種測試用例,設計各種測試場景,然後通過軟件、腳本去自動執行這樣的測試。如常見的CI普遍採用這種測試方式。 由人工對軟件模型進

原创 並查集- Union-Find

並查集(Union-Find)主要是用於解決連通問題。給定一些數據對,判斷這些集合中連通量有 多少,或者判斷給定兩個點是否是連通的。並查集主要用於判斷是否連通,而不需要輸出具體的路徑。如果需要輸出具體的路徑,可以使用DFS之類的。

原创 NSDI'17-論文閱讀[CherryPick:Adaptively Unearthing the Best Cloud Configurations for Big Data Analytics]

CherryPick是在剛過去的NSDI2017上發表的一篇文章。很欣喜地看到頂會論文作者上出現了阿里的身影。雖然不知道阿里在裏面是什麼角色……不過相對於只能看到微軟或者谷歌的好多了 這兩年,不管是NSDI,還是OSDI,都有

原创 分治&DP

分治的思想就是將大問題轉化爲小問題,通過小問題的求解,最終整合後成爲大問題的解。做分治的題的時候,首先要分析題目,明確這道題是不是能夠有降低規模求解。 如找到一個長度爲len的數組裏面的第K大的數。那就能轉爲在len/2的長度裏

原创 JAVA併發的底層實現

在java的多線程編程中,我們經常會使用一些關鍵字,如volatile,sychronized,atomic原子操作等等。那麼在更加底層的JVM中,這些關鍵字是怎麼實現其對應的效果的呢? volatile volatile在多線程

原创 ZStack(三)-zstack代碼結構簡介

看了一下ZStack更新的官網,發現基本全是產品相關的內容了,關於ZStack本身的程序介紹更少了,相對以前的老網站,只有博客的內容還留下了 本篇主要介紹一下ZStack開源版本的代碼組成,簡單介紹各個目錄代碼的作用。 從最

原创 zstack(二)zstack二次開發

本文檔用於ZStack的開發以及調試方法,本方法僅僅是作爲一個示例,可能也有其他開發調試方法,歡迎留言交流 環境準備 ZStack已安裝成功並在本地或遠程某臺機器上運行 ZStack項目的三個子項目ZStack-dashbo

原创 參加軟件分享會有感

今天去參加了天雲軟件組織的“企業級雲系統玩家的實踐分享“,瞭解了現在這類公司的主要做的是什麼。典型的需求,做Iaas,做CMP,做Pass。我比較關注的是調度層面的事情,所以在茶歇期間,跟天雲的做Iaas的負責人請教了一下。前輩很

原创 OSDI‘16-資源調度論文解讀【Altruistic Scheduling in Multi-Resource Clusters】

OSDI作爲計算機系統類的頂會,其中發表的論文的研究方向基本是計算機研究類的風向標,當前最受關注的。而本屆OSDI中有四篇關於資源調度方面的文獻(Cloud Systems Part),可以看出當前關於資源調度仍然是研究的重點。

原创 Two pointers

雙指針,不是一種數據結構,只是一種解題技巧。主要使用場景爲數組、鏈表。 那麼在遇到題目時,我們怎麼能考慮到使用雙指針技巧呢?這裏簡單對思路進行一個總結,不完善的地方或者錯誤的地方跪求大家交流。 1.首先看數據結構 數據結構若

原创 zstack(一)運行及開發環境搭建及說明

本篇介紹zstack的部署環境,以及二次開發環境 運行環境 講真,ZStack的安裝做的還是不錯的,提供多種安裝模式,如離線安裝、在線安裝、一鍵安裝、分佈式安裝等。安裝的過程其實都很簡單,當然這也是zstack宣傳的亮點之一

原创 zstack(0)前言

前言 隨着ZStack發展越來越好,雲棲大會和阿里雲合作也被更多人所瞭解,很多同學對這個國內開源的lass軟件表現出了很大興趣。 近來發現還是有很多同學在關注ZStack,也有找到我交流關於ZStack的問題。我前面寫ZStack

原创 二分查找Binary Search

二分查找,屬於分治思想大類。基本思想是每次將所需要處理的數據空間進行減少(一般減少一半),以達到快速減少所需處理空間,減少運行時間的效果。時間複雜度一般以O(logN)爲標識。 基本模板 1 public int binaryS