原创 Go 基礎 Map

Go Map 定義 map底層實現的是是一個hashmap,data會被存儲到一個bucket數組裏,每個bucket最多存8個KV鍵值對。 宣告及創建 var m1 map[string]string // ==> nil

原创 Go基礎 Array

Go Array 數組 type Array struct { Elem *Type // 元素類型 Bound int64 // 元素數量 } 定義方式 Go數組長度固定 var <數組名稱

原创 Go基礎 Slice

Go Slice 切片 定義 Go的slice不單單是切片動作,同時也是一種**數據結構**。Go中的slice依賴於array,它的底層就是數組。 Slice的類型規範是[] T,Slice類型沒有指定的長度 Slice實現

原创 Go基礎-循環語句-For

Go 循環語句 For --- 基礎使用 for i := 0 ; i < 100 ; i++ {     fmt.Println(i) } · go語言的for,條件不需要括號。 · 可以省略初始條件,結束條件,遞增表達式。 · fo

原创 適配器模式(adapter_pattern)

適配器模式(Adapter Pattern) 適配器模式將一個類的接口,轉換成客戶期望的另一個接口。適配器讓原本接口不兼容的類可以合作無間。 看個例子 還記得策略模式裏的鴨子接口嗎?假設這些鴨子類是屬於農場的,農場通過Quac

原创 Beego源碼解析之App(HTTP請求處理)

Beego源碼解析之App http server處理請求和返回repsonse的簡單流程 server端:http server啓動後,根據配置的IP建立Listener,監聽請求; client端:發送請求; 監聽到客戶

原创 Beego源碼解析Router

Beego源碼解析之Router 初始化控制器 func NewControllerRegister() *ControllerRegister { cr := &ControllerRegister{ routers:

原创 Beego源碼解析之Context-Output

Beego源碼解析之Context-Output BeegoOutput 初始化結構體方法 寫入response body的方法:寫入數據類型可以爲[]byte,JSON,JSONP,XML,YAML。 一個根據header中

原创 Go 類型斷言 ( type assertion )

Go 類型斷言 ( type assertion ) Go裏的所有類型都實現了空接口interface{},所以通常將它作爲一個傳參變量或者結構體的字段,以實現對類型的抽象。我們知道,Go的interface變量包含兩個東西,一

原创 簡易工廠模式(Easy Factory Pattern)

簡易工廠模式(Easy Factory Pattern) 簡易工廠模式提供一個創建對象實例的功能,而無需關心其具體實現。被創建實例的類型可以是接口,抽象類,也可以是具體的類。 看個例子 type Api interface {

原创 命令模式(command_pattern)

命令模式(Command Pattern) 命令模式將一個請求封裝爲一個對象,從而是你可用不同的請求對客戶進行參數化,對請求排隊或記錄請求日誌以及支持可撤銷的操作。 看個例子 一個場景:餐廳點餐,出餐 1)點餐:一個芝士漢堡,

原创 kubernetes_PV_PVC

Kubernetes PV & PVC 概念 PV: Persistent Volume,持久化存儲數據卷,Pod想要使用的持久化存儲的屬性,比如存儲的大小、讀寫權限等 PVC: Persistent Volume Claim,

原创 kubernetes_network

Kubernetes Network 前言 ​ 本篇文檔主要介紹kubernetes網絡模型實現原理。 ​ 首先從docker網絡模型入手,介紹同宿主機不同容器如何互通(網橋),接着分析不同宿主機的容器是如何通信的(跨主通信

原创 Linux_I/O模型

I/O模型(I/O Models) 阻塞式I/O(blocking I/O) 非阻塞式I/O(nonblocking I/O) I/O多路複用(I/O multiplexing) 信號驅動I/O(signal driven I

原创 kubernetes_label&selector

Kubernetes Label & Label Selector Label 概念 Label是Kubernetes的核心概念。 Labels其實就一對 key/value ,被關聯到對象上,標籤的使用我們傾向於能夠標示對象的