原创 業務應用開發總結

業務開發往往是產品需求都比較急,疊帶比較快。往往是快速排期、快速設計、快速開發,快速上線的一個狀態,這就比較考驗程序員的如何來適應這個快速的節奏和建立自己的開發流程和如何拋開工作之外的自我提升。 那怎麼來應對這樣一個快速的節奏呢? 理解團

原创 glusterfs 存儲節點損壞恢復總結

概述 glusterfs 集羣的存儲節點損壞是不可避免的,但是對於glusterfs 來說,節點損壞包含系統損壞(因爲重做系統需要格式化根目錄)即glusterfs 配glusterfs 配置文件丟失,數據盤損壞即對於gluste

原创 設計模式golang-工廠模式

工廠模式 定義 創建對象的接口,讓其子類自己決定實例化哪個類,工廠模式使其創建過程延遲到子類進行。 角色 1.產品抽象接口 2.工廠創建產品方法 3.產品實例 例子 選銀行借錢的例子,資質方法根據你的收入等其他情況給你選擇銀行。

原创 設計模式golang-適配器模式

適配器模式 定義 將一個接口轉換成客戶期望的另一個接口。適配器讓原本接口不兼容的類可以合作無間。 角色 1.源接口。 2.適配目的接口。 3.適配結構體。 例子 人類能說話,動物也能發聲叫,人類能學動物叫,需要一個轉換器把人類的叫

原创 設計模式golang-命令模式

命令模式 定義 將一個請求封裝爲一個對象,從而使我們可用不同的請求對客戶進行參數化;對請求排隊或者記錄請求日誌,以及支持可撤銷的操作。命令模式是一種對象行爲型模式,其別名爲動作(Action)模式或事務(Transaction)模

原创 設計模式golang-策略模式

策略模式 定義 定義算法族,分別封裝起來,讓他們相互可以替換,此模式讓算法的變化獨立於使用算法的客戶(head first 設計模式書中定義)。在golang 中相當於一個interface 抽象方法類,各個結構體來實現inter

原创 設計模式golang-裝飾者模式

裝飾者模式 定義 動態地將責任附加到對象上。若要擴展功能,裝飾者提供了比繼承更有彈性的替代方案。 角色 1.裝飾抽象接口 2.裝飾者 3.被裝飾者 角色關係:裝飾者和被裝飾者通過裝飾抽象接口關聯。 例子 一個早餐鋪,賣早餐事物包子

原创 設計模式golang-觀察者模式

觀察者模式 定義 一系列對象之間的一對多的關係,當一個對象改變狀態時,它的所有依賴者都會收到通知。原理是觀察者訂閱被觀察者,如果被觀察者狀態變化,通知訂閱的觀察者。 角色 被觀察者 被觀察者訂閱抽象接口 觀察者結構體實現訂閱接口

原创 設計模式golang-外觀模式

定義 提供一個統一的接口,用來訪問子系統中的一羣接口。外觀定義了一個高層接口,讓子系統更容易使用。 角色 1.高層接口 2.子系統接口 例子 小明喝咖啡,咖啡店製作咖啡,製作咖啡又需要咖啡豆和水等,咖啡店對於小明來說就統一了咖啡豆

原创 設計模式golang-單例模式

單例模式 定義 確保一個類只有一個實例,並提供一個全局訪問點。 角色 1.全局訪問點即全局訪問函數。 2.單例結構體。 例子 var m *single var once sync.Once //單例結構體 type sing

原创 glusterfs dht 層lookup 時lookupeverywhere 分析

glusterfs7 多次擴容後出現重複文件分析 背景 最近在做glusterfs7版本擴容操作測試的時候,發現偶爾會出現,文件丟失然後再重新創建文件會出現文件重複的現象。具體操作爲 從一個節點擴容到10個節點,3副本,添加一個節

原创 centos7 glusterfs7.0 源碼編譯安裝

本來是可以參考官網 https://docs.gluster.org/en/latest/Install-Guide/compiling-rpms/ 來進行源碼編譯安裝的,沒想到官網只說明了centos6 的,centos7 沒說

原创 設計模式-單例模式

單例模式 定義 確保一個類只有一個實例,並提供一個全局訪問點。 角色 1.全局訪問點即全局訪問函數。 2.單例結構體。 例子 var m *single var once sync.Once //單例結構體 type sing

原创 設計模式-golang觀察者模式

觀察者模式 定義 一系列對象之間的一對多的關係,當一個對象改變狀態時,它的所有依賴者都會收到通知。原理是觀察者訂閱被觀察者,如果被觀察者狀態變化,通知訂閱的觀察者。 角色 被觀察者 被觀察者訂閱抽象接口 觀察者結構體實現訂閱接口

原创 Go語言開發實踐規範彙總

  統一規範篇 合理規劃目錄 本篇主要描述了公司內部同事都必須遵守的一些開發規矩,如統一開發空間,既使用統一的開發工具來保證代碼最後的格式的統一,開發中對文件和代碼長度的控制,必須經過go語言自帶的檢測機制等。 【原則1.1】合理規劃