精選分類

文章列表

# 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...

# 在 ARM64 架構下編寫 Dockerfile 構建 GitLab 鏡像 # 簡介 Oracle Cloud 提供了 ARM 架構的 Always Free 雲端伺服器,性能不錯,最高可以配到 4 個 vCPU 和 24GB 記憶體。這對於架設像 GitLab 這種需要大記憶體的服務非常適合。在 GitLab 的官網也有提到,GitLab 在 Ubuntu 20.04 和 22.04 環境已經支援 ARM64 架構了,並且在安裝 GitLab 時自動使用 ARM64 版本。但是在 Docker Hub 上並沒有提供 ARM 版本的 GitLab 鏡像,所以這個文章的目的就是自己來建置...