去找吧!我把所有資料都藏在那了 - 通向 Section 航道的旅程

2 分鐘閱讀

前言

「我要成為海賊王!」
這句話大家應該不陌生吧。寫程式有時候就像在 偉大航道上尋寶
這次的寶藏不是什麼「One Piece」,而是──把設定檔藏在 ELF Binary 裡的秘密空間

最近剛好遇到一個需求:想把資料包進程式裡,方便部署,但又不想讓人隨便亂改。
就像在跟同學們玩「海上捉迷藏」一樣,所以筆者決定把設定藏進一個 神秘的 section,然後用小工具去 patch。

於是乎本篇就誕生了。

go cgo elf
繼續閱讀 →

從 glibc 到 musl : 靜態編譯上的新選擇

2 分鐘閱讀

前言

在 Go 世界裡,可移植性 一直是它引以為傲的特性。大部分時候,我們只要 go build 就能得到一個幾乎純靜態的二進位,拿去其他機器執行也不太會出問題。然而,這種「幾乎」背後,跟 cgocmd/link 的運作有很大關係。本文將以 cgo 為核心,延伸到 linkmodemusl-gcc 的應用,帶同學們理解 Go 執行檔在靜態與動態鏈結上的差異。

go cgo gcc
繼續閱讀 →

認識 Cgo:Go 與 C 語言的橋樑

2 分鐘閱讀

前言

在撰寫 Go 程式的過程中,有時候我們會遇到這樣的情境:某些功能已經有穩定的 C 函式庫可以使用,若能直接呼叫這些現有資源,就能避免重複造輪子。
Go 語言本身提供了 cgo 這個工具,讓我們能順利地在 Go 程式中嵌入並呼叫 C 程式碼。

本文會帶你從基礎開始認識 cgo,並透過範例說明如何在 Go 專案中使用它。

gcc go cgo
繼續閱讀 →

在 Go 裡直接抓 Docker 容器 IP,連線 PostgreSQL

4 分鐘閱讀

前言

開發環境裡,我們常用 Docker Compose 來啟動資料庫。像是 PostgreSQL 這種服務,我們通常會這樣做:

1ports:
2  - "5432:5432"

這樣就能用 localhost:5432 直接連資料庫,簡單又方便。

最近在思考,如果我們不想把資料庫連接埠對外暴露,想完全在 Docker network 裡面連線。
但容器的 IP 每次重啟都不一樣,我們該怎麼辦?

答案是:別手動 docker inspect,直接在 Go 裡用 Docker API 查 IP 就好。
查完 IP,再用它去連 PostgreSQL,完全自動化,安全又乾淨。

go docker postgresql
繼續閱讀 →

Dockerfile 與 Docker Compose 寫法全攻略

3 分鐘閱讀

前言

各位同學應該常常聽到一句話:「有了 Docker,環境跑起來就不怕!」
但真的要寫 Dockerfile 或 compose.yaml 的時候,十之八九還是會卡在格式,或不小心讓主機資源爆掉。

這篇文章就來整理一下 2025 年的實務寫法:

  1. Dockerfile 怎麼寫。
  2. Compose(compose.yaml)怎麼寫。
  3. 怎麼限制資源,避免主機 GG。
docker docker-compose dockerfile
繼續閱讀 →

OTP — 一次性密碼的原理與實作

2 分鐘閱讀

前言

有時候我們登入服務時,螢幕會跳出一句:「你的驗證碼是 123456」。這串數字只能用一次,過了幾十秒就失效了。這種機制叫做 OTP(One-Time Password,一次性密碼)

它看似簡單,卻是今天大多數二階段驗證(2FA)或多因子驗證(MFA)的基石。這篇文章,就來聊聊 OTP 的運作方式,最後會給一個 Go 的範例程式,讓你自己動手試試。

go otp totp
繼續閱讀 →

OAuth 與授權流程詳解

2 分鐘閱讀

前言

在現代應用程式開發中,使用者身份驗證資源授權已成為必備功能。 傳統帳號密碼模式存在風險,也不利於跨平台整合,因此 OAuth(Open Authorization)被提出,成為最常見的 授權框架(authorization framework)

它的設計目標是:

  • 使用者不需交出帳號密碼
  • 第三方應用能安全存取有限的資源
  • 支援 Web、Mobile、Server、IoT 等不同場景
oauth authentication authorization
繼續閱讀 →

使用 Go 串接 Google reCAPTCHA Enterprise

3 分鐘閱讀

前言

在網站應用中,表單或登入功能常常成為機器人攻擊的目標。 Google reCAPTCHA Enterprise 提供了更安全且彈性的防護方式,能透過 風險評分 (Score) 來判斷使用者行為是否可信。

go google recaptcha
繼續閱讀 →

使用 Gomobile 建立 iOS 函式庫

2 分鐘閱讀

前言

心之所至,隨意亂寫。

這篇就是想隨手記下:如果有個簡單的 greeting 功能想拿到 iOS 用,用 Gomobile 該怎麼做。於是乎這篇就誕生啦。

go gomobile ios
繼續閱讀 →