原创 golang源碼分析--slice

切片基礎概念: 切片是圍繞動態數組的概念構建的,可以按需自動增長和縮小。(注意:切片傳遞的是指針的拷貝值,所以可以在函數裏面修改指針指向的值,對外有影響) 切片的自動增長是通過append()函數來實現的 切片的底層內存也是在連續

原创 gRPC學習

grpc的概述 grpc可以使用**protocol buffers(簡單應用可以參考上一篇文章)**作爲接口定義語言(IDL)和底層消息交換格式。 優點 使用GRPC,我們可以在A.Pro文件中定義我們的服務,並實現任何GRPC

原创 golang分析--goroutine,進程,線程

概念總覽 概述 定義 通訊方式 進程 一個運行中的程序,資源分配的最小單位 管道、信號、共享內存/信號量/消息隊列 線程 輕量級進程,操作系統調度(cpu調度)執行的最小單位 互斥鎖、條件變量、posix匿名信

原创 操作系統--虛擬內存學習

內存的發展流程: 一.嵌入式實時操作系統 表現:在早期的單片機上,程序運行在物理內存中,也就是說,程序在運行時直接訪問到物理地址,在程序運行開始,將全部程序加載到內存中,所有的數據地址和程序地址就此固定。 在運行多任務系統時,比較

原创 Go語言--opentracing-go

關於opentracing的簡單介紹 什麼是opentracing? OpenTracing的數據模型 opentracing中的跟蹤鏈由span隱性的定義。可別的,跟蹤鏈可以認爲是span的有向無環圖(DAG),spans之間的

原创 Go實現設計模式--策略模式

文章目錄Go語言中的方法和接口方法接口例子策略模式定義介紹代碼示例 Go語言中的方法和接口 go語言中有方法和接口 方法 在函數的func和函數名間增加一個特殊的接收器類型,接收器可以是結構體類型或非結構體類型。接收器可以在方法內

原创 Go實現設計模式--工廠模式

文章目錄定義實例剖析問題1 簡單工廠的學習分析1行動1問題2 真正的工廠模式分析2行動2問題3 抽象工廠模式分析3行動3總結 這一章比較複雜,所以決定在此換一種講述方式,按照Head First書中代碼的道路走,爲了方便運行,給出

原创 Go實現設計模式--命令模式

文章目錄關於命令模式的例子邏輯關係定義 關於命令模式的例子 客戶點單,創造訂單給服務員,服務員將訂單給廚師,廚師烹飪。 用戶使用遙控器,創造命令對象(關電視)給遙控器,遙控對象(電視)關閉。 遙控器代碼的簡單示例: 邏輯關係 實現

原创 Go實現設計模式--裝飾者(器)模式

文章目錄定義介紹代碼示例 定義 動態的將責任附加到對象上。若要拓展功能,裝飾者提供了比繼承更有彈性的替代方案。 介紹 意圖:動態地給一個對象添加一些額外的職責。就增加功能來說,裝飾器模式相比生成子類更爲靈活。 主要解決:一般的,我

原创 mongodb索引初探

文章目錄基礎理論知識索引作用索引的介紹索引的類別單字段索引複合索引查詢分析實際場景分析數據庫獲取數據的過程謹慎掉坑1.執行查詢及排序,索引使用了排序的索引,雖然排序使用了索引,但是由於查找條件沒有匹配上索引,所以導致了全表查詢2.

原创 mongodb可以輕鬆修改舊錶字段的原因

這裏寫自定義目錄標題疑問mongodb的介紹簡介體系結構解答mysql對比mysql在線ddl的流程 疑問 公司有用到mongodb數據庫,最近經常有需求要在原先已經存在大量數據的表中新增字段,所以想探究一下這樣子做的效率如何 m

原创 mongodb複合索引排序

文章目錄簡介mongodb的複合索引複合索引的順序複合索引的前綴索引的排序和非前綴子集複合索引sort 簡介 mongodb中的索引與其他數據庫的索引在使用上沒有本質上的區別,他的底層使用B-tree實現。 mongodb的複合索

原创 redis的zset解析

文章目錄簡介zset的常用命令zset結構分析ziplistdictskiplist 最近工作中使用了redis的zset數據結構,爲了能夠熟練清晰的運用這個數據結構,總結如下。 簡介 zset是一個有序集合,每一個成員有一個分數

原创 mongodb學習--會話模式

初次使用mongodb,對很多的東西都不瞭解,在此做個學習記錄 使用的包是mgo golang連接mongodb會話一致性的三種模式 strong 強一致性模式建立的會話,將始終使用唯一的連接對主服務器進行讀寫,從而使讀寫完全一致

原创 Go實現設計模式--單例模式

文章目錄定義介紹代碼示例 定義 確保一個類只有一個實例並提供一個全局訪問點。 介紹 意圖:再項目中有線程池,緩存,對話框等,這類對象只能有一個,如果創造多個就會有許多問題,所以有了單例模式。 關鍵代碼(僅僅針對golang):在方