思元的開發筆記

關於 web service, unity, blogger 等軟體工程筆記

顯示具有 Golang 標籤的文章。 顯示所有文章

Go Reader Pattern 設計與實作

最近在寫小專案所遇到的設計問題,其中一個目標是從檔案中讀取英文單字 (word),並且將其轉換成英文小寫,因此記錄如何在 Golang 設計此機制,並且不斷改進寫了三個版本,並撰寫額外的測試程式碼 (testing code) 進行驗證。

HTTP TimeoutHandler 所踩到的雷與解決方式,需要額外判斷 Request.Context() 的狀態

最近遇到在 HTTP 伺服器壓力測試時遇到棘手的問題,從 nginx logs 發現伺服器回應許多 HTTP 503 service unavailable 的錯誤,一路追蹤最終發現是程式碼實作錯誤,記錄其筆記提醒自己不要忘記這個雷。

Go build 建置時加入時間 (build time) 與版本號 (git commit id)

因應合作廠商需求,希望我們這邊提供網路服務 (web service) 的執行檔 (executable),能透過某些方法知道其版本號或是建置時間等資訊,以協助其 IT 人員部署 (deployment) 時使用。

Go with Cgo 靜態連結 (static linking) 函式庫建置範例與筆記

延續上一篇 Go with Cgo 動態連結 的文章,由於部署 (deployment) 需求的改變,合作廠商 IT 運維技術人員 (Ops) 對於 Linux 的不熟悉,期望部署不需要管理那些動態連結 (dynamic linking) 函式庫,因而開始研究改用靜態連...

Go with Cgo 動態連結 (dynamic linking) 函式庫建置範例與筆記

在 上一篇文章 中,已經知道如何在 Windows 中,利用 gcc/g++ 建置動態連結函式庫 (dynamic-link library),本篇文章筆記如何在 Go (Golang) 中,利用 cgo 來動態連結函式庫,呼叫使用其函式。

開發 Blog 文字雲工具,統計部落格字詞出現次數

空閒時間開發的小工具,能夠統計部落格 (Blog) 文章字詞數量,然後根據字詞出現頻率,組合畫在一張圖片上的功能。 建議使用桌機電腦 (desktop),以避免繪製文字雲效能的低落 這功能記得從 2017 下半年就想嘗試,然後一直拖拖...

Heroku with Golang,如何部署第一個 WebApp

Heroku 是一套支援多程式個語言的雲平台即服務 (platform as a service, PaaS),只要將程式碼上傳到該服務中,便可上頭自動編譯執行,建造自己的網路應用程式,且該服務提供免費試用方案 (有限制的),又有支援 SSL (https)。

AWS Beanstalk: Go WebApp 部署筆記

記錄前陣子將使用 Go 所寫的網路服務 (Restful API server),部署到 AWS Beanstalk 的筆記記錄,讓未來部署除了官方文件外,還有一個參考筆記。

Golang Iterator Channel Implementation

這是一個關於 Go 的程式研究紀錄筆記,原先設計一個迭代器的操作模式 (Iterator pattern):

由 Golang 程式碼產生 Restful API 文件,使用 Swagger 規範 (OpenAPI 2.0)

Swagger 是一套 RESTful API 描敘語法,近期發展改名成 OpenAPI 規範 ,其生態系統工具也發展相當強大,不僅能從 Swagger 轉換成可互動式的網頁說明文件,產生特定的程式語言的用戶端實作 (client implementation),也可以...