iT邦幫忙

鐵人檔案

2025 iThome 鐵人賽
回列表
Software Development

Go Clean Architecture API 開發全攻略 系列

本系列文章將帶領讀者從零開始,使用 Go 語言打造一個完整、可維護、可測試的生產級 API 服務。我們將深入探討現代後端開發中的各個環節,從專案的架構設計、核心功能實現,到最終的測試、部署與維運。專案將採用六角形架構(Clean Architecture)思想,並整合 Gin、GORM、Docker、Swagger、golangci-lint 等業界常用工具與技術。

參賽天數 23 天 | 共 23 篇文章 | 2 人訂閱 訂閱系列文 RSS系列文
DAY 1

Go 專案實戰:從零到一打造可維護的 API 服務

歡迎來到《Go Clean Architecture API 開發全攻略》系列的第一篇文章! 近年來,Go 語言以其簡潔的語法、出色的併發性能和高效的編譯速度,...

2025-09-01 ‧ 由 nick_forever 分享
DAY 2

架構選擇:我們為何在 Go 專案中採用六角形架構

在上一篇文章中,我們建立了專案的基礎目錄結構。你可能會想,為什麼要分得這麼細?不能直接在 main.go 裡處理所有事情嗎? 問得好。答案在於我們的目標:打造一...

2025-09-02 ‧ 由 nick_forever 分享
DAY 3

設定管理哲學:使用 Viper 與環境變數打造靈活的 Config

寫在最前面,最重要的先說 .env 檔案放置的都是 資料庫密碼, API 金鑰 等等不應該外洩的內容,務必務必要保證不要被提交到 git 或任何一種版本控制管理...

2025-09-03 ‧ 由 nick_forever 分享
DAY 4

日誌系統設計:整合 slog 實現高效能的結構化日誌

為什麼需要日誌系統? 日誌系統是任何軟體應用程式中不可或缺的一環。它為開發者和維運人員提供了洞察應用程式內部運作的窗口。一個好的日誌系統能幫助我們: 除錯與...

2025-09-04 ‧ 由 nick_forever 分享
DAY 5

目錄結構的藝術:一個清晰的 Go 專案應該長什麼樣子?

在前面的文章中,我們討論了選擇六角形架構的「Why」。 現在,是時候深入探討「What」和「How」了: 一個清晰、可維護的 Go 專案,其內部結構應該是什麼樣...

2025-09-05 ‧ 由 nick_forever 分享
DAY 6

Gin 框架開發實戰(一):路由設計 及 Middleware 應用

建立 Golang Web Server 常見選擇: net/http(標準庫):穩定、無外部依賴,但需撰寫較多樣板碼。 Gin:輕量、速度快,路由設計彈...

2025-09-06 ‧ 由 nick_forever 分享
DAY 7

Gin 框架開發實戰(二):職責切分

在開始實作 Handler 之前,我們先來討論一下程式碼的職責切分。 在軟體設計中,有一個重要的原則叫做「單一職責原則」(Single Responsibili...

2025-09-07 ‧ 由 nick_forever 分享
DAY 8

Usecase 層的職責:編排你的核心業務邏輯

Usecase 層是我們應用程式的核心,它體現了所有的業務流程。它的職責是: 接收來自 Controller 的簡單指令和數據(DTOs)。 調度一個或多個...

2025-09-08 ‧ 由 nick_forever 分享
DAY 9

身份驗證詳解 (一):安全的密碼雜湊 (Hashing) 與處理

如何處理使用者的密碼,是衡量一個後端開發者專業程度和安全意識的試金石。一旦處理不當,導致使用者密碼洩漏,將會對使用者和公司帶來災難性的後果。本篇文章,我們將學習...

2025-09-09 ‧ 由 nick_forever 分享
DAY 10

身份驗證詳解 (二):JWT (JSON Web Token) 的生成與解析

在上一篇我們解決了「如何驗證密碼」的問題,現在要解決下一個問題:「驗證成功後,如何讓使用者保持登入狀態?」答案就是使用 Token。 本文將深入探討現代無狀態...

2025-09-10 ‧ 由 nick_forever 分享