Generate mock DB 既然我們已經有了 db.Store interface,我們可以使用 gomock 生成 mock interface。...
這幾天我們都是透過電腦版的Line來做測試,但是如果是使用手機版的話,會發現當我們點擊Google OAuth的URL要進行認證授權的時候,雖然前面的步驟都一切...
Why mock database? 當談到APIs 的測時,有些人可能選擇連接到真實的資料庫,而有些人則認為使用 mocking 較好,原因如下: 首先,...
一、本篇提要 承接前篇泛型 基本泛型概念 泛型應用示範 二、基本泛型 2.1 基本泛型概念: Type Parameter:作為佔位符存在的一個型別,用...
Why file and environment variables ? 當開發和部署後端網頁應用時,我們通常需要為不同的環境使用不同的配置,例如開發、測試、...
在併發程式中,由於連接超時、使用者取消或系統故障,往往需要執行搶佔操作。過去,我們利用 done 通道在程式中取消所有阻塞的並發操作,儘管這方法有其效用,但確實...
在昨天的練習中,當我們使用 GET 請求時,並成功得到網站中的資料,我們都用是終端機查看回傳的資訊,雖然一樣可以達到查看資料的目的,但好像缺少了什麼!!這就不得...
今天一開始我們先來調整一下我們之前對Expiry宣告的類型,昨天仔細看發現oauth官方的Token(oauth2.Token)結構如下: type Token...
一、本篇提要 型別斷言(type assertion) 斷言與switch 二、型別斷言 在 Golang 中,所有型別都實現了 interface{} 這...
最後一天我在使用時居然發生以下錯誤訊息: go: go.mod file not found in current directory or any paren...
開始之前我們調整一下之前在adapter\google\oauth.go的OAuthLoginURL(),把原本寫死的第一個參數”state-token”改...
我們在之前的章節列舉了Pipeline(管道)的各種優點,但有時候,盡管管道沒有準備好,我們的程序依然還是要幹活的,這種處理方式,被稱為“Queue”(隊列)。...
在現代應用程式中,用戶端和伺服器之間的通信是不可或缺的一部分。Go 的強項之一是其在構建網路應用程序方面的表現。今天,我們將深入研究如何使用 Go 語言創建一個...
一、本篇介紹 泛型 generic 型別斷言 type assertion 與 switch 什麼時候該用泛型 ? 二、泛型 generic 其實inter...
Implement get account API 在server.go 的NewServer中加入 getAccount 的router Path...
昨天我們在server.go的地方會發現,要去調用SSM的地方,因為是一個一個參數去查,參數一多看起來就會很混亂,像下面這樣。 如果我們能一次性地去查詢,應該...
在某些情況下,你可能會發現自己想要使用一系列通道的值: <-chan <-chan interface{} 這與將某個通道的數據切片合併到一個通道...
Group routes 路由群組(Group routes)是一種使用相同配置或參數註冊一組路由的方法, 本文參考範例之實作如下: package main...
Implement create account API 在server.go 的NewServer中加入 createAccount 的router s...
一、本篇提要 以介面為參數的函式 以介面為回傳值的函式 判斷要不要使用介面作為傳回值 空介面 二、以介面為參數的函式 本篇會透過 io.Reader 為例,...
我們仔細看昨天的流程會發現,要調用Google Drive之前一定要先拿使用者的token去建立*http.Client然後再交給drive.NewServic...
Go web frameworks and HTTP routers 雖然我們可以使用標準的**net/http**套件來實現這些API,但使用現有的網頁框架會...
有時候你可能想分割來自通道的多個值,以便將它們發送到兩個獨立區域。想像一下:你可能想要在一個通道上接收一系列操作指令,將它們發送給執行者,同時記錄操作日志。與U...
一、本篇提要 Duck Typing Polymorphism 二、值接收器、指標接收器與介面 前面實作 Speaker 及 Stringer 介面時所作,...
今日來研究server的應用,本文採用golang的web framework :GIN 依據官方教學 首先要進行套件的安裝 如果使用VS code 請開啟終端...
今天我們把的範例整理一下,首先先把操作Google Cloud的部分移到adapter 首先,我們在adapter建立資料夾google,並建立oauth....
一、本篇提要 在Go語言中,介面的實作是隱性的(implicit),不會像其他語言要求你明確實作介面,在介面這個主題下會開始介紹,如何宣告介面、實作介面、何謂...
活動紀錄(LOG) 程式的活動記錄(LOG)相當重要!! 透過LOG可紀錄、查詢USER的使用狀況, 日後可用於系統優化、異常查詢......等, Golang...
Setup a workflow for Golang and Postgres 這是一個詳細的步驟說明,教你如何為 Golang 應用程序設定工作流程,特別是...
Github Action Github Actions 是 Github 提供的 CI/CD 服務,CI/CD 代表的是 Continuous Integra...