精選分類

文章列表

# 用 GoFiber + GORM + PostgreSQL 實作「IP 白名單(CIDR) 」 管理後台通常只有少量管理者使用,但一旦被暴露在公網,風險極高。 本文將透過一個實際可上線的案例,說明如何使用: GoFiber(HTTP Framework) GORM(ORM) PostgreSQL( cidr + gist index ) 實作一個 「只開白名單、即時生效、不使用快取」 的後台 IP 存取控制。 # 使用情境(案例設定) 假設我們有一個管理後台,需求如下: 管理者來源 IP...

# gRPC 簡介 gRPC 是由 Google 開發的高性能 RPC 框架,基於 HTTP/2 協議,專為微服務設計。它支持多種編程語言,使用 Protocol Buffers 進行強類型接口定義,並提供雙向流通信。這使得 gRPC 成為跨語言、高效通信的理想選擇,特別適合現代化微服務架構。 # 1. 安裝 首先,我們需要安裝 Go 和 gRPC 的相關工具。 # 安裝 Go 從 Go 官方網站下載並安裝 Go。 # 安裝 gRPC 相關工具 在 Windows 平台上,請按照以下步驟進行安裝: 安裝 protoc 編譯器 從 Protocol Buffers Releases 下載適用於...

# 簡介 一個 PowerShell 腳本,用於測試 Oracle Cloud 在不同地區的延遲情況。 # 如何使用 將腳本保存到一個文件中,例如 oci-ping-test.ps1 。 在 PowerShell 中運行該腳本: .\oci-ping-test.ps1 $hostData = @{ "Chuncheon, Korea" = "objectstorage.ap-chuncheon-1.oraclecloud.com" "Hyderabad, India" =...

# 簡介 Viper 是一個強大的 Go 語言設定管理庫,它支援多種格式的設定檔案,如 JSON、YAML、TOML、INI 等,並提供了許多實用的功能,如設定檔自動載入、環境變數識別、命令列參數讀取等。本篇筆記將介紹如何使用 Viper 來管理應用程式的設定。 # 安裝與初始化 首先,我們需要安裝 Viper 套件: go get -u github.com/spf13/viper然後在程式碼中引入 Viper: import "github.com/spf13/viper"接下來,我們初始化 Viper 實例: func init() {...

# 什麼是 Google/Wire? Google/Wire 是 Google 開發的一個依賴注入框架,用於 Go 語言。它提供了一個簡單而強大的方式來管理應用程序中的依賴關係,並確保組件之間的正確組裝。 # 主要特性 依賴注入:Wire 使得在不同組件之間注入依賴變得簡單和明確。開發人員不需要手動創建和管理組件之間的引用。 可擴展性:Wire 支持不同類型的提供者,包括函數、結構體和介面,使得組件的組裝更加靈活。 自動生成:Wire 可以自動生成代碼來管理依賴關係,從而減少了開發人員手動編寫樣板代碼的需求。 編譯時檢查:Wire...

# 簡介 在開發網路應用程式時,我們可能需要取得發起 HTTP 請求介面的 MAC 地址 。本篇筆記將介紹如何透過 Go 語言的標準函式庫取得 HTTP 請求的 MAC 地址。 # 實現步驟 解析 URL, 取得主機地址。 建立 TCP 連線到該主機地址,以取得本地 IP 位址。 使用本地 IP 位址來查找與之相關的網路介面,並取得該介面的 MAC 地址。 以下是具體的 Go 程式碼實現: func getMacAddr(reqURL string) (string, error) { var ( host string parsedURL *url.URL err...

samber/lo 是一個流行的 Go 語言函數式編程庫,提供了許多常見的函數式編程操作,如 Map , Filter , Reduce 等。它可以幫助 Go 開發者更方便地進行函數式編程。 # 安裝 使用 go get 命令安裝 samber/lo : go get -u github.com/samber/lo # 主要功能 Map: 對 slice 或 map 中的每個元素應用一個函數,並返回一個新的 slice 或 map。 numbers := []int{1, 2, 3, 4, 5}squares := lo.Map(numbers,...

# 使用 Office Tool Plus 安裝 Office 365 並通過 Ohook 啟動 近期 Microsoft Activation Scripts (MAS) 的 Windows 啟動工具中有新整合了以 Ohook 永久啟動 Office 的腳本,並支援了 Office 2013-2021/Office 365 等版本,解鎖 Office 除了線上以外的全部功能。 # 下載 Office Tool Plus 官網連結: https://otp.landian.vip/zh-tw/download.html 選擇下載 内含執行階段程式庫 (ZIP 壓縮檔)...

# NVM NodeJS 多版本安裝管理工具 # 簡介 # 安裝 curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bashexport NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s...