原创 go依賴注入的使用(dig和facebook inject)

介紹: https://blog.drewolson.org/dependency-injection-in-go 用法: https://www.dazhuanlan.com/2019/10/01/5d927074b5dd9/

原创 etcd的安裝和使用

點擊這裏

原创 ubuntu更換阿里雲源

點擊這裏

原创 curl操作

點擊這裏

原创 timerfd的使用

點擊這裏

原创 火焰圖和gprof查看程序性能瓶頸

gprof https://fooyou.github.io/document/2015/07/22/performance-tools-for-linux-cplusplus.html https://blog.csdn.net

原创 go中的匿名變量

在結構體B中使用匿名成員A,相當於在B中定義了A的所有變量和函數 type A struct{ dataA int } func (this *A)foo(){ fmt.Print("i am A") } type B s

原创 goroutine原理(C語言表示)

協程: 1、能夠在單一的系統線程中模擬多個任務的併發執行。 2、在一個特定的時間,只有一個任務在運行,即並非真正地並行。 3、被動的任務調度方式,即任務沒有主動搶佔時間片的說法。當一個任務正在執行時,外 部沒有辦法中止它。要進行任

原创 使用go install運行go語言

先設置好GOROOT和GOPATH 比如我的: GOROOT: D:\Go GOPATH: D:\code\go 那麼所有項目都需要放在D:\code\go\src中 假如項目目錄結構如下: D:\code\go\src ├──p

原创 c++中的lower_bound和upper_bound

lower_bound是找到第一個大於等於val的值,沒有就返回end uppder_bound是找到第一個大於val的值,沒有就返回end 前提:數組是有序的 用法 template<class ForwardIterator,

原创 爲什麼go文件服務器中要加入http.StripPrefix

例子: http.Handle("/tmpfiles/", http.StripPrefix("/tmpfiles/", http.FileServer(http.Dir("/tmp")))) 當訪問localhost:xxxx

原创 一個不錯的go專欄

點擊這裏

原创 死鎖的條件和避免

https://www.cnblogs.com/bopo/p/9228834.html 1.互斥 2.請求和保持,請求別的資源,自己的又不放 3.不可搶奪,不能被他人搶奪 4.循環等待 解決: 1.原子操作 2.一次分配所有資源

原创 const char* 和char* const

前者不能改變所指對象,後者不能改變指向