iT邦幫忙

鐵人檔案

2023 iThome 鐵人賽
回列表
自我挑戰組

Techschool Goalng Backend Master Class 的學習記錄 系列

我相信學習程式設計的最好方法是構建一個真正的應用程式,所以為了能了解Golang Backend的開發流程與架構,我將跟隨著techschool的Golang Backend課程逐步學習如何從頭開始設計、開發和部署後端Web服務,並將這過程編寫成學習筆記。

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

[Day 21] Load Config in Go with viper

Why file and environment variables ? 當開發和部署後端網頁應用時,我們通常需要為不同的環境使用不同的配置,例如開發、測試、...

2023-10-06 ‧ 由 kcih4518 分享
DAY 22

[Day 22] Mock DB for testing HTTP API in Go and achieve 100% coverage Part 1

Why mock database? 當談到APIs 的測時,有些人可能選擇連接到真實的資料庫,而有些人則認為使用 mocking 較好,原因如下: 首先,...

2023-10-07 ‧ 由 kcih4518 分享
DAY 23

[Day 23] Mock DB for testing HTTP API in Go and achieve 100% coverage Part 2

Generate mock DB 既然我們已經有了 db.Store interface,我們可以使用 gomock 生成 mock interface。...

2023-10-08 ‧ 由 kcih4518 分享
DAY 23

[Day 24] Mock DB for testing HTTP API in Go and achieve 100% coverage Part 3

Write unit test for Get Account API Code Flow: 透過 randomAccount() 函數建立一個隨機的測試...

2023-10-10 ‧ 由 kcih4518 分享
DAY 23

[Day 25] Mock DB for testing HTTP API in Go and achieve 100% coverage Part 4

Achieve 100% coverage 宣告測試案例 使用匿名類別來存放測試數據。 每個測試案例都應該有一個唯一的名稱。 結構定義 每個測試案...

2023-10-12 ‧ 由 kcih4518 分享

[Day 26] Implement transfer money API with a custom params validator in Go

Implement the transfer money API handler api/transfer.go package api import (...

2023-10-16 ‧ 由 kcih4518 分享

[Day 27] Add users table with unique & foreign key constraints in PostgreSQL

Intro 目前,我們已為簡易銀行系統實現了多項功能,包括創建、更新、檢索或轉賬等,然而,還缺少一個非常重要的功能:user authentication 和...

2023-10-16 ‧ 由 kcih4518 分享

[Day 28] How to handle DB errors in Golang correctly

Generate User Creation and Retrieval Code 步驟1: 建立 user.sql 檔案 在db/query資料夾中創建一個...

2023-10-17 ‧ 由 kcih4518 分享

[Day 29] How to securely store passwords?

How to store password Table users as U { username varchar [pk] hashed_passwo...

2023-10-17 ‧ 由 kcih4518 分享

[Day 30] How to write stronger unit tests with a custom go-mock matcher

Object 我們將學習如何撰寫自定義的 gomock matcher,以增強我們Golang單元測試的強度。 Weak Unit Test for User...

2023-10-17 ‧ 由 kcih4518 分享