Go 用 -ldflags -X 參數在編譯時自動設定程式碼內的字串變數值
為了方便除錯,通常我們會在程式裡留下一些方便除錯的資訊,包含是哪個 commit 或者哪個系統編譯、哪個版本號等等⋯⋯。
你是手動更改這些資訊的嗎?
本文將透過實際範例教導如何自動化帶入這些資訊到 Go 的執行檔中,讓你徹底解脫手動之苦,效率 up up!
Posted on Dec 7, 2023 in Go 程式設計 - 中階 by Amo Chen ‐ 4 min read
為了方便除錯,通常我們會在程式裡留下一些方便除錯的資訊,包含是哪個 commit 或者哪個系統編譯、哪個版本號等等⋯⋯。
你是手動更改這些資訊的嗎?
本文將透過實際範例教導如何自動化帶入這些資訊到 Go 的執行檔中,讓你徹底解脫手動之苦,效率 up up!
Posted on Dec 7, 2023 in Go 程式設計 - 中階 by Amo Chen ‐ 4 min read
如果說前端的工作裡面有 2 件麻煩的事, 1 件大概率會是跨瀏覽器測試,另外 1 件大概就是 email 的 HTML 版面開發與測試。 Email 的 HTML 版面開發與測試之所以麻煩,是因為
Posted on Dec 2, 2023 by Amo Chen ‐ 1 min read
有些程式語言屬於腳本(script)語言,完全不需要經過編譯,所以散佈這些程式時就直接以原本樣貌散佈。舉個最常見的例子,就是網頁上的 JavaScript 程式碼
Posted on Dec 1, 2023 by Amo Chen ‐ 2 min read
之所以說這個題目很經典,是因為現代太多應用都是用 HTTP 協定進行溝通,例如每個人每天都一定會開啟的網頁瀏覽器,背後就是使用 HTTP 協定,所以這個題目可以
Posted on Nov 30, 2023 by Amo Chen ‐ 1 min read
微軟近日又推出 1 門生成式 AI 的初學者課程,用來教育開發者從概念開始到實作 1 個有運用 AI 的產品(還順便置入 Azure & OpenAI XD) 整個課程分為 12 章節,需要搭建
Posted on Nov 29, 2023 by Amo Chen ‐ 1 min read
前陣子提到過跨瀏覽器測試的重要性,在於能夠確保各個功能在各種瀏覽器上都能按照預期正常運作。 會需要跨瀏覽器測試的原因,是每個瀏覽器的實作方式不
Posted on Nov 28, 2023 by Amo Chen ‐ 2 min read
現代開發應用(application)或多或少都會使用到第三方套件,不僅減少自行開發的成本,也加速開發應用的速度,所以各種程式語言都會有所謂的 package manager, 幫助開發者安裝/管理各種第三方套件與套件相依性,例如 npm, yarn, pip, go mod 等等,甚至作業系統也有 package manager 例如著名的 APT(Advanced Packaging Tool), Homebrew 等等。
但是隨著第三方套件越用越多,每次重新編譯(build) Docker 映像檔(image)的時間也會越來越長,因為每次重新 build docker image 都要花費不少時間重新下載並安裝第三方套件⋯⋯。
針對這個問題, Docker 官方文件有提到可以使用 Cache mounts 優化 build 的速度。
一起認識什麼是 Cache mounts 吧!
Posted on Nov 26, 2023 in Docker by Amo Chen ‐ 3 min read
如果你有打算在網頁上放一些影片的話,最好盡可能地壓縮它,除了可以加快載入速度之外,還可以節省流量所帶來的費用,不過很多影片編輯軟體其實不會特
Posted on Nov 26, 2023 by Amo Chen ‐ 1 min read