原创 Go 1.13 私有代理服務的構建

原文地址:Go 1.13 私有代理服務的構建. 在 Go 1.13 版本的發佈前,設置 GOPROXY 只能指定一個代理服務地址。進入 Go 1.13 版本後,GOPROXY 支持多代理設置,通過,隔開即可。如下: export GOPR

原创 Go 編程: 快速生成自簽名證書與雙向認證(mTLS)

原文鏈接: https://www.gitdig.com/genera... 自簽名證書雙向認證大量用於各類網絡集羣項目中,例如 Kubernetes. 要實現服務間的證書雙向驗證,當然前提是要了解證書雙向驗證原理。相關原理介紹的文章,網

原创 Go 編程:tcpserver & graceful shutdown

轉載請使用原文鏈接: https://www.gitdig.com/go-tcpserver-graceful-shutdown/ 工作需要快速寫了個tcpserver的框架,有效代碼差不多 100 行左右,寫篇文章分享下實現思路, 順便

原创 9102年,再玩一次郵件系統: 安裝篇

原文發佈於個人站點: GitDiG.com, 原文鏈接: 9102年,再玩一次郵件系統: 安裝篇 本文主要原本打算作爲9102年,再玩一次郵件系統系列文章的中篇寫的,卻是最早完成的。本系列文章將包括以下三篇: [ ] 9102年,再玩一

原创 Go 編程:那些隱晦的操作符

原文發佈於個人站點: GitDiG.com, 原文鏈接: Go 編程:那些隱晦的操作符 本篇作爲 Go 編程“邊角料”的最後一篇,主要針對 Go 語言提供的操作符進行一次總結。剛好迴應上篇一位讀者關於表達式是否要加'.'的問題做個回覆。

原创 Go編程:圖解反射

原文發佈在個人站點:GitDiG.com, 原文鏈接:Go 編程:圖解反射 反射三原則太難理解,看一張圖你就懂了。完美解釋兩個關鍵詞 interface value 與 reflection object 是什麼。 1. 圖解反射 在使用

原创 Go 編程: 那些奇怪的註釋

自從上篇總結了一下Go 編程: 交叉編譯 vs 條件編譯之後,覺得有必要對於類似條件編譯標籤等特殊註釋做一次簡單收集。 原文發佈於個人站點: GitDiG.com, 原文鏈接: Go 編程: 那些奇怪的註釋 1. 常規註釋 每種開發語言

原创 Go 編程: 交叉編譯 vs 條件編譯

說起條件編譯,大部分開發人員都會聯想到交叉編譯。但是 條件編譯 和 交叉編譯 完全是兩回事, 解決的問題也是不一樣的。總結區分一下: 交叉編譯,解決的是目標程序問題, 是目的。 條件編譯,解決的是代碼適配問題, 是過程。 交叉編譯

原创 記一次技術調研(二): Android 應用實現 gRPC 調用

問題在手機應用的開發中,通常會將複雜的業務邏輯層實現放在服務端,客戶端僅負責表現層。但是對於某些手機應用而言,業務邏輯的實現位於服務端反而是不安全的或是不合理的,而是需要將其邏輯直接在手機端實現。 目的 面對不同系統的手機客戶端,單獨重複

原创 記一次技術調研(一): iOS 應用實現 gRPC 調用

問題在手機應用的開發中,通常會將複雜的業務邏輯層實現放在服務端,客戶端僅負責表現層。但是對於某些手機應用而言,業務邏輯的實現位於服務端反而是不安全的或是不合理的,而是需要將其邏輯直接在手機端實現。 目的 面對不同系統的手機客戶端,單獨重複

原创 一分鐘系列: Go 編程之用時定義

原文發佈於我的個人網站: GitDiG.com, 原文鏈接: 一分鐘系列: Go 編程之用時定義. 研究 Go 大神的開源庫,常常會有驚喜。以 Dave Cheney 的開源庫github.com/pkg/profile 爲例,其中有一句辣

原创 構建安全可靠、最小化的 Docker 鏡像

容器化部署越來越多的用於企業的生產環境中,如何構建可靠、安全、最小化的 Docker 鏡像也就越來越重要。本文將針對該問題,通過原理加實踐的方式,從頭到腳幫你擼一遍。文章比較長,主要通過五個部分對容器鏡像進行講解。分別是: 鏡像的構建講

原创 一分鐘學會在 Go 程序中實現管道 pipeline 功能

乘着打盹的時間看了一眼前兩天寫的日期轉換的開源工具: ts。發現管道 pipeline 的功能點可以放大一下, 就此記錄一下以備將來只需。 管道是什麼 但凡在類 Unix 系統上敲過命令的人,大多使用過管道功能. 所謂管道,就是將A程序的標

原创 高效SHELL環境 step by step(一): 命令別名

基礎環境 在進行高效的SHELL實踐之前,首先配置一下基礎環境,當然首先是需要一臺MacOS電腦。這裏採用: zsh + oh-my-zsh + zsh-completions + zsh-autosuggestions 。具體安裝步驟如下

原创 如何在 Linux & MacOS 上優雅的發佈 Go 程序

這兩天又寫了一個開源小工具,時間戳轉換與對比工具:ts,主要是在公司運維時使用。程序寫完了發現安裝過程不夠自動化,特別是對於個人使用 MacOS 系統,日常運維是 Linux 操作系統。雖然 Go 語言支持跨平臺編譯,但是拿着個二進制程序拷