原创 go Thrift初體驗(win10+普通網絡)

之前寫過一篇go gRPC初體驗(win10+普通網絡),今天寫個姊妹篇,說一說thrift。 thrift和gprc呢,使用都很廣泛,以我現在的水平還無法評價孰好孰壞,反正實習的時候我看的程序裏,grpc和thrift都有出現,所以說都

原创 go 協程調度

本文不討論通過channel、sync等實現協程調度的具體寫法,只是簡單聊聊協程調度這件事兒。 非搶佔式調度 go語言的協程調度是一種非搶佔式的調度,何爲非搶佔式?我們先說搶佔式。 我們知道操作系統的線程調度,會使用時間片輪轉的方式調度各

原创 go defer需要弄清楚的三個點

本篇主要記錄defer的三個關鍵點。 我們知道defer調用會在函數結束時被執行,但除此之外,我們還應該弄清楚幾個問題: 函數結束前遇到panic,defer調用還會執行嗎? 多個defer的調用順序是怎麼樣的? defer的參數是調用時

原创 go語言入門指導

半年前的秋招,我拿到了一家公司的offer,當時加了mentor的微信,他告訴我公司開發用的是go,當時我還完全不會go,於是想着趁正式實習之前,先自己學學。 自己學的時候,沒有人指導,也沒有制定什麼計劃,就是借了幾本書看,敲了敲書上的代

原创 rancher集羣搭建

最近想學習一下docker容器的管理,本來想直接裝k8s,但是直接裝k8s的話,一大堆命令,按網上的教程執行幾步就會報個錯,最後實在搞不定了,就放棄了。。。 後來看有人推薦rancher,於是我就試了一下。 rancher也可以實現容器的

原创 gin html模板調用js函數

最近想用gin寫個web服務器,發現gin提供了html模板這個功能,感覺賊方便,可以前後端一塊開發了~ 可是,用着用着發現一個問題,就是,不能在html模板裏直接定義js函數。。。 對這個問題,我的理解是,html模板是個靜態的文件,不

原创 linux 根據進程號查看進程打開的所有文件描述符

最近調程序遇到一個問題,就是程序跑起來以後,打開的文件描述符數一直增長,也不知道是哪裏沒有關閉,好在,linux上可以直接查看每個進程打開的所有文件描述符~ 首先,每個進程開啓,linux系統都會爲其創建一個文件夾: /proc/pid

原创 consul的kv使用

官網關於這部分的介紹:https://learn.hashicorp.com/consul/getting-started/kv consul的kv功能可以用來做動態配置,kv的增加修改刪除查詢除了可以通過consul客戶端,還可以通過h

原创 ubuntu安裝consul

官網有詳細的安裝和使用教程:https://learn.hashicorp.com/consul/getting-started/install 具體安裝命令如下,壓縮包解壓之後就是一個文件名爲consul的二進制文件,把這個文件放到任意

原创 C++ 線程同步(順序輸出abcde...)

參考C++ 11 三個線程打印ABC(順序打印) 參考C++多線程:條件變量、unique_lock 使用互斥量和條件變量實現線程同步 //每個線程順序打印字母 #include <thread> #include <iostream>

原创 consul 公網集羣搭建

背景 在網上查了查consul集羣搭建,雖然文章不少,但是講的都是如何在局域網搭一個集羣。 其實這沒什麼不妥,實際生產環境裏,一個集羣一般部署在公司的一個機房裏,確實是局域網環境。 可問題是,我在百度雲,騰訊雲和華爲雲各買了一臺學生優惠服

原创 linux C獲取時間戳(精確到毫秒)

最近有個需求,需要數據庫程序統計一次sql查詢的過程耗時多久,於是乎就需要程序獲取當前時間戳,由於這個時間非常短,因此需要精確的毫秒,話不多說,直接給程序~ #include <stdlib.h> #include <stdio.h>

原创 C++11 多線程

參考《深入應用C++11》 1.線程 1.1線程創建 #include<thread> using namespace std; void func(){//do some work} int main() { thread

原创 C++11 同步阻塞隊列

參考《深入應用C++11》 本文使用的例子,已經應用於實驗室的項目,用於實現接入服務器的接收和處理分離,在處理併發請求時可有效提升接收效率,降低處理耗時,且保證線程安全。 SyncQueue.cpp //同步阻塞隊列 #include

原创 docker基本操作(ubuntu)

本人使用docker,主要是爲了將服務部署在容器裏,需要的時候直接運行容器,這樣就不用每次部署,都要在一個新的系統上從頭開始裝一遍各種庫,配置各種環境變量之類的工作了。 docker簡介 強烈推薦這篇文章10分鐘看懂Docker和K8S,