Contents
這個15小時的課程教學生們關於使用 Go 程式語言,Postgres,Gin,gRPC,Kubernetes,AWS 和 GitHub Actions 的後端 Web 開發。學生們將學習如何從頭開始設計和開發後端 Web 服務,包括建立和管理銀行帳戶,記錄所有餘額變化,以及在帳戶之間轉移資金。只需要基本的程式設計技能。
從這 15 小時的課程,你會學到
- 使用 DBML 設計資料庫模式,並從中自動生成 SQL 程式碼
- 深入瞭解資料庫的隔離級別,事務( transactions )以及如何避免死鎖
- 自動生成 Golang 程式碼來與資料庫互動
- 使用 Gin 框架開發一個 RESTful 後端 Web 服務
- 用使用者認證、JWT和 PASETO 來保證 API 的安全
- 使用介面和 mocking 編寫覆蓋率較高的測試集
- 建立一個最小的Docker 映象用於部署,並使用 Docker-compose 進行開發
- 設定 Github Action 以自動建構和部署應用程式到 AWS Kubernetes 叢集
- 註冊一個域名並配置 Kubernetes ingress,將流量路由到 Web 服務
- 啟用 Let’s Encrypt 為域名自動簽發和更新 TLS 證書。
- 使用 gRPC 和 gRPC 網關將你的 Web 服務提升到一個新的水平
- 運行後台 workers 以與 Redis 和 Asynq 非同步處理任務
要求
- 只需要基本的程式設計技能
課程說明
在本課程中,你將逐步學習如何從頭開始設計、開發和部署一個後端 Web 服務。我相信學習程式設計的最好方法是建立一個真實的應用程式。因此,在整個課程中,你將學習如何為一個簡單的銀行建立一個後端Web 服務。它將為前端提供API,以做以下事情。
- 建立和管理銀行賬戶
- 記錄每個帳戶的所有餘額變化
- 在兩個帳戶之間進行資金轉移
我們用來開發服務的程式語言是Golang,但該課程不僅僅是關於 Go 的編碼。該課程分為4個主要部分。
- 在第一部分,你將深入學習如何設計資料庫,生成程式碼,使用事務( transactions )以一致和可靠的方式與資料庫對話,瞭解資料庫的隔離級別,以及如何在營運中正確使用它。除了資料庫,你還將學習如何使用 docker 進行本地端開發,如何使用 Git 來管理程式碼,以及如何使用 Github Action 來自動執行單元測試
- 在第二部分,你將學習如何使用Gin–最流行的 Golang 框架之一來建構一套 RESTful HTTP APIs,以構建 Web 服務。這包括從載入應用配置、為更強大的單元測試模擬 DB、處理錯誤、驗證使用者以及用JWT 和 PASETO 訪問令牌保護 API 的一切
- 在第三部分,你將學習如何用 Docker 建構你的應用程式,並將其部署到 AWS 的營運型 Kubernetes 叢集。講課內容非常詳細,有分步指導,從如何建立一個最小的docker映象,建立一個免費的AWS帳戶,建立一個營運資料庫,儲存和檢索營運 secret,用 EKS 建立一個 Kubernetes 叢集,使用Github Action自動建立和部署映象到 EKS 叢集,購買一個域名並將流量路由到服務,用 HTTPs 保證連線,從Let’s Encrypt 自動更新 TLS 證書
- 在第四部分中,我們將討論幾個高級後端主題,例如管理用戶會話、建構 gRPC API、使用 gRPC 網關同時為 gRPC 和 HTTP 請求提供服務、將 Swagger 文檔嵌入後端服務的一部分、部分更新 使用可選參數進行記錄,並編寫結構化記錄器 HTTP 中間件和 gRPC 攔截器。
- 然後第五部分將向你介紹 Golang 中使用後台 worker 和 Redis 作為其訊息隊列的非同步處理,以及如何優雅地關閉伺服器以保護你的處理資源。 由於這部分仍在進行中,我們將繼續製作和上傳關於新主題的新視訊,例如:發送電子郵件、優雅地關閉伺服器、CORS、批量插入等。所以不時回來查看他們。
這個課程的設計有很多細節,所以每個人,即使只有很少的程式設計經驗也能理解並自己做。我堅信,學完這門課程後,你將能夠更自信、更有效地進行專案工作。。
目標受眾
- 任何想學習使用 Golang、Postgres、Docker和 Kubernetes 開發後端 Web 服務的人
- 本課程的設計是為了讓具有非常基本的程式設計技能的初學者也能理解
- 但我相信即使是更有經驗的開發者(中級水平)也能學到新的東西
講師簡介
TECH SCHOOL 從新手到專家
在Tech School,我們相信每個人都應該獲得良好的免費教育。技術學校的目的是透過提供免費的、高品質的教程和編碼課程,讓每個人都有機會學習IT。主題範圍廣泛,適合許多不同層次的技術知識:從初學者到專業人員。
英文字幕:有
- 想要了解如何將英文字幕自動翻譯成中文? 請參考這篇 How-To
🙌 如何有效率地管理 ChatGPT 輸出與整理自己的 ChatGPT 提示( prompts )使用情境?LN+ for Web 已經針對 ChatGPT 的整合做最佳化
🙌 讓 Notion AI 成為你線上學習的得力助手,詳細操作請參考 – 使用 Notion AI 功能來為 udemy 的課程做摘要總結
- 點選這個✨優惠連結 課程特價 | Udemy 永久擁有課程 NT370 起( 請登入 Udemy|按過“優惠連結”後到”報名參加課程“連結網頁做更新 )
- Udemy 現在越來越多課程有中文字幕,請參考 Soft & Share 中文線上課程
- 手機上點選優惠連結看到的價格比電腦上看到的貴
- $代表當地貨幣, 如在台灣為 NT
- 點選”報名參加課程”有可能因瀏覽器 cookies 轉久一點或回報錯誤而無法連上,請稍等刷新或重新點選就會出現
報名參加課程

也許你會有興趣
- 網頁應用程式開發學習地圖
- ★英語學習地圖 – 練好英文是最大的學習槓桿
- 如何找工作學習地圖 – 找工作不要靠運氣!
- 軟體開發學習資訊分享 粉絲群
你必須登入才能發表留言。