原创 golang之go mod自動下載私有倉庫gitlab中的包

我的環境: golang:  v1.13.5 系統:window10, window7, linux(centos) 環境變量:GOPROXY=https://proxy.cn,direct   假如我在私有倉庫http://gitlab

原创 golang操作mongodb的驅動mongo-go-driver的事務支持和訪問控制

mongodb要支持事務,需要滿足以下條件: 4.0以上版本; 安裝後時以replication set(複本集)模式啓動; storageEngine存儲引擎須是wiredTiger (支持文檔級別的鎖),4.0以上版本已經默

原创 golang1.13環境變量保存路徑 go env -w

go 1.13提供了 go env -w命令來寫環境變量,這是用戶級別的環境變量,像GO111MODULE、GOPROXY之類的可寫的環境肯定是有持久化的,那麼保存路徑在哪兒呢?有一個env文件: windows: 用戶目錄\AppDat

原创 json規則引擎 golang

json格式還是現今web服務最常用的數據交換格式,有時需要對其字段進行篩選過濾和重組。 在github搜索,沒有發現合適的,於是自己寫了一個開源:https://github.com/sdghchj/rules_engine。 實現

原创 nginx 4層udp代理源碼剖析

在建立所有配置端口的監聽後,events模塊會進行accept初始化: // src/event/ngx_event.c static ngx_int_t ngx_event_process_init(ngx_cycle_t *cyc

原创 nginx作反向代理時的主動健康檢查模塊

開源的nginx作反向代理時本身只有被動的健康檢查方式,不知商業版本的健康檢查是什麼樣的。 mark一下: https://github.com/weibocom/nginx-upsync-module 是微博開源的http 7層負載時的

原创 golang操作mongodb的驅動mongo-go-driver的事務支持

mongodb要支持事務,需要滿足以下條件: 4.0以上版本; 安裝後時以replication set(複本集)模式啓動; storageEngine存儲引擎須是wiredTiger (支持文檔級別的鎖),4.0以上版本已經默認是

原创 對lua迭帶器的理解

一般用 “for 變量列表 in 迭帶器" 句型遍歷,即在in後面是迭帶器表達式,包含3個對象:迭帶函數、狀態常量、控制變量,當然狀態常量和控制變量可以不要。 迭帶過程: 1. 將狀態常量、控制變量傳給迭帶函數進行函數調用,將迭帶函數返回

原创 某公司面試總結

      去某有點名氣的互聯網公司面試雲存儲服務器工程師(unix平臺),瞭解到自己的不足,當然可能應聘的崗位與自己的幾年工作經歷方向上不大一致,不過也看出來自己對某些深一點的系統知識並不能準確理解,現把問到的部分問題總結一下,並加上自

原创 C# 讀寫MongoDB

驅動:Official .NET driver for MongoDB版本:2.5.0 mongodb內部是用Bson格式存儲的,與json大致類似但有區別,因此它也原生支持json串語法格式進行操作,在C#版本驅動中就有BsonDucu

原创 使用-fPIC選項編譯出protobuf靜態庫libprotobuf.a

        用的64位Ubuntu系統,開發一個共享庫so使用到了protobuf,如果鏈接libprotobuf.so就需要一起打包帶走,否則可能因protobuf版本較多出現版本不匹配的問題,所以需要它鏈接靜態庫libprotob

原创 C++實現麻將基本聽牌胡牌的算法

#include <iostream> #include <vector> #include <algorithm> #include <chrono> enum MajiangType { emMJType_Wan = 1, //萬

原创 C++帶賴子的麻將聽牌檢測算法實現

#include <iostream> #include <vector> #include <set> #include <algorithm> enum MajiangType:uint8_t { emMJType_Wan = 1

原创 一個C#簡單的異步服務器

沒研究太深,僅僅是接收客戶端連接和讀數據。      服務器,所有異步方法會自動放到後臺線程池去處理,無需我們代碼去創建線程: internal class ClientMessage { public

原创 windows平臺搭帶c++擴展的nodejs環境

公司產品需要使用nodejs作後臺服務器,同時要用C++處理邏輯和數據庫存儲,所以需要nodejs及其node-gyp擴展包環境,這環境在linux上搭建比較方便,在安裝gcc和python2.6或2.7的環境上直接configure、m