原创 golang & viper config & zookeeper

golang 語言實現的,基於 viper 配置插件, zookeeper 遠程配置管理。(源碼) 邏輯:

原创 mysql 數據庫創建,刪除,導入,導出數據 shell 腳本

新建立一個項目,經常會涉及到數據庫的頻繁改動,數據處理。 改表,改字段等操作,可以通過修改 sql 腳本,然後重新導入到數據庫。 總結了一些重複性比較高的操作,結合成了腳本。 #!/bin/bash # wfh/2018/09/18 -

原创 tmux 切換到前一個 panel 快捷鍵

tmux 在同一個 session 裏分割了多個 panel , panel 間的切換方法很多種:左右前後,prefix + q 選數字等。 返回前一個窗口的快捷鍵比較難找,tmux 也提供了這個功能,可以參考帖子(How to swit

原创 回憶 C/C++ 源碼統計分析小工具

偶爾整理文件,發現了從業第一家公司,做的培訓結業項目:源碼分析工具。時間飛逝,回首過去,感激良多。現在很少有企業有耐性,培訓一個員工半年才讓上崗了。培訓結業項目,三個人作爲小組,用公司的基本類庫,做了一個源碼分析工具。從需求分析,軟件設計

原创 “黑科技”(ipad + termius + 100 塊藍牙鍵盤)

將研發環境部署在阿里雲,無疑是這一年做得最正確的決定。 在雲端無論你在哪裏,只要啓用終端就可以直接進入工作狀態。 我一直苦惱筆記本電池的續航能力,想不到 ipad(mini2) + termius +100 塊的藍牙鍵盤就可以在圖書館呆一

原创 分佈式集羣系統通信邏輯

概述分佈式和集羣:可以簡單理解爲:一起幹同樣的事叫集羣,分工合作的叫分佈式。引用知乎網友的通俗解析: 小飯店原來只有一個廚師,切菜洗菜備料炒菜全乾。後來客人多了,廚房一個廚師忙不過來,又請了個廚師,兩個廚師都能炒一樣的菜,這兩個廚師

原创 nginx 部署靜態網頁

我想說,這個真的很簡單,可是我以前不會啊。6666 效果: 配置 nginx vim /etc/nginx/nginx.conf

原创 hiredis + libev 異步測試

概述 測試寫命令 set key value,幾個字節的 value,輕鬆 10 萬+ 併發;1024 個字節的 value,1.5 秒左右。 所以 hiredis 的異步使用性能非常給力的,也是同步使用不能比的。而且程序的性能損耗也不高

原创 golang 壓測redis 消息隊列。

用 redis  的 list 數據結構作爲輕量級的消息隊列,對於小系統確實是小而美,可控能力強。 當然與kafka 和 rabbitmq 相比它還有很多缺陷,在服務進行生產和消費的時候,還需要加上部分邏輯進行處理。 自己寫了點 gola

原创 物聯網產品軟件解決方案

    類似物聯網產品 10w 體量的軟件產品解決方案。

原创 mysql 腳本(*.sql)自動代碼(C/C++)工具

使用 protobuf,寫個 *.proto 腳本文件,就能通過工具生成相應的代碼。 這個自動代碼工具太有用了: 1、數據操作面向對象,操作人性化。 2、利於團隊代碼風格統一。 3、直接減少了團隊開發的工作量。 同理,mysql 導出 s

原创 Siege HTTP 壓力測試

1、概述壓力測試是服務開發中十分重要的一環,需要測試服務在高併發的環境下功能的穩定性以及性能的瓶頸,根據測試結果輸出詳細的測試數據,有針對性地對服務進行優化。2、測試機器系統 CentOS release 6.5 (Final) CPU

原创 Nginx+uWSGI+Django Centos 部署

概述:     百度一下,基本就知道部署需要安裝哪些東西了。部署的整個過程其實不復雜,容易搞不明白的是,配置的路徑怎麼填寫。因爲很多帖子寫的都是某某 demo 路徑,非全路徑,按照帖子配置往往跑不起來。 參考帖子: Django在生產環

原创 C++ 日誌宏定義

項目中,無論客戶端還是服務端,日誌都是必不可少的,一般的日誌格式具備下面幾個要素: 時間,日誌等級,源碼文件,源碼行數,日誌字符串格式化內容。 日誌事例代碼: LOG_ERR("check file failed, task id =

原创 VS 工具使用的突破感悟

用了十幾年的 Visual studio,最近重新用來做一些小項目,發現還是有很多收穫的。中間用了一年的 VIM,通過這個思維,回到 VS 上,還是覺得 VS 是偉大的,VIM 簡單,但是沒有 VS 那麼人性化。但是 VIM 的簡潔思