原创 使用 Go 進行單元測試

簡介 單元測試 性能測試 性能分析 測試覆蓋率 總結 當前部分的代碼 簡介 日常開發中, 測試是不能缺少的. Go 標準庫中有一個叫做 testing 的測試框架, 可以用於單元測試和性能測試.它是和命令 go test 集成使用的.

原创 使用 Go 添加 Nginx 代理

簡介 反向代理 負載均衡 輪詢 加權輪詢 最少連接 iphash 通用 hash 總結 當前部分的代碼 簡介 Nginx 是一個高性能的 HTTP 服務器和反向代理服務器. 最常用的兩個功能是反向代理和負載均衡. 反向代理 反向

原创 使用 Go 添加啓動腳本

簡介 實踐 困惑 總結 當前部分的代碼 簡介 雖然 Makefile 能很好的整合各種命令, 是一個非常方便的工具.但啓動腳本也是必不可少的, Makefile 更多用於開發階段,比如編譯, 單元測試等流程. 啓動腳本的作用是控制程序的

原创 使用 Go 管理版本

簡介 如何實現 實踐 修改 Makefile 總結 當前部分的代碼 簡介 如果你曾經運行過 docker version,就會發現它提供了很多信息: PS C:\Users\tzh> docker version Client: Doc

原创 使用 Go 管理 Makefile

簡介 Makefile 實踐 總結 當前部分的代碼 簡介 很多時候, 我們需要運行多個命令來能完成一件事,又或者某個命令需要指定很多參數. 這個時候, 就需要使用腳本來取代這些複雜的命令,減少輸錯命令的可能, 也可以爲後來者指明常用的操

原创 在 VS Code 中使用容器開發

緣起 遠程開發 安裝 使用 Remote-Containers 在容器中打開項目 修改配置 特定配置 管理擴展 端口轉發 終端 容器設置 在容器環境中使用 Git 共享 Git 憑據 解決換行符問題 配置文件示例 參考 緣起 我

原创 使用 Go 添加 HTTPS

簡介 實踐 生成證書和私鑰 修改配置文件 修改啓動函數 總結 當前部分的代碼 簡介 現在的網站沒有 HTTPS 都不好意思見人了. 超文本傳輸安全協議(英語:HyperText Transfer Protocol Secure

原创 使用 Go 添加 JWT 認證

介紹 jwt 實踐 定義功能 簽發接口 驗證中間件 使用 總結 當前部分的代碼 在典型的業務場景中, 認證與鑑權是十分基礎的. 對於 API 接口, 通常是在第一次驗證之後生成一個帶有時效的 token.接下來的一系列請求都攜帶

原创 使用 Go 處理中間件

簡介 gin 的中間件 創建中間件 總結 當前部分的代碼 簡介 開發 web 應用的時候, 很多地方都需要使用中間件來統一處理一些任務,比如記錄日誌, 登錄校驗等. gin 也提供了中間件功能. gin 的中間件 在項目創建之初, 就已

原创 Python3.8 特性介紹

簡介 海象表達式 := 僅位置參數 / f-strings 說明符 = 啓動異步 REPL unittest 支持異步 簡介 Python3.8 已經發布了, 官方文檔看這裏What’s New In Python 3.8. 介紹一些

原创 使用 Go 完成用戶業務邏輯

簡介 路由總覽 定義 handler 校驗參數 加密密碼和數據庫存儲 其他 handler 獲取用戶列表 更新用戶 總結 當前部分的代碼 簡介 在上一節中, 已經大致學習瞭如何使用 Gin 讀寫請求.這一節就是實踐了,

原创 使用 Go 讀寫請求

簡介 讀取請求參數 path 中的參數 query 中的參數 from 中的參數 模型綁定 返回響應 總結 當前部分的代碼 簡介 使用 web 框架, 最基礎的事情就是讀寫請求了,Gin 支持很多種類的請求參數, 也支持多種格式

原创 使用 Go 定義錯誤碼

簡介 設計錯誤碼 代碼實現 常見的錯誤碼 總結 當前部分的代碼 簡介 不管在什麼系統中, 定義錯誤碼都是必不可少的. 錯誤碼可以幫助定義問題, 通常錯誤碼設計爲某種模式結構,可以判斷出錯誤的級別, 錯誤的模塊和具體錯誤信息. 設計錯誤碼

原创 使用 Go 連接數據庫

簡介 安裝 gorm 啓動數據庫 初始化數據庫連接 服務器啓動時連接數據庫 總結 當前部分的代碼 簡介 在 Go 中連接數據庫的方式有很多, 這裏我們選擇使用 ORM 的方式,也就不用寫原生的 SQL 語句了. Go 的 ORM 庫也有

原创 使用 Go 記錄日誌

簡介 定義配置 讀取日誌相關的配置 總結 當前部分的代碼 簡介 在上一節內容中, 我們使用 viper 讀取了配置文件. 本節將使用 logrus 記錄日誌. logrus 是一個結構化的日誌記錄器, 和標準庫中的 logger 具有完