了解有關後端 Web 開發的所有內容:Golang、Postgres、Redis、Gin、gRPC、Docker、Kubernetes、AWS、CI/CD
從這 19 小時的課程,你會學到
- 使用 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 非同步處理任務
要求
- 只需要基本的程式設計技能
- 如果你是 Go 新手,我建議先在“Tour of Go”網站上學習它的語法
課程說明
在本課程中,你將逐步學習如何從頭開始設計、開發和部署一個後端 Web 服務。我相信學習程式設計的最好方法是建立一個真實的應用程式。因此,在整個課程中,你將學習如何為一個簡單的銀行建立一個後端Web 服務。它將為前端提供API,以做以下事情。
- 建立和管理銀行賬戶
- 記錄每個帳戶的所有餘額變化
- 在兩個帳戶之間進行資金轉移
我們將使用 Golang 來開發服務的程式語言,但課程不僅僅是關於 Go 程式設計。 你將學習許多有關後端 Web 開發的不同主題。 它們分為 6 個部分:
- 在第 1 部分中,你將深入了解如何設計資料庫、產生程式碼以使用交易以一致且可靠的方式與資料庫通訊、了解資料庫隔離等級以及如何在生產中正確使用它。 除了資料庫之外,你還將學習如何使用 docker 進行本機開發,如何使用 Git 管理程式碼,以及如何使用 GitHub Action 自動執行單元測試。
- 在第二部分中,你將學習如何使用 Gin 建立一組 RESTful HTTP API——Gin 是用於建立 Web 服務的最受歡迎的 Golang 框架之一。 這包括載入應用程式配置、模擬資料庫以進行更強大的單元測試、處理錯誤、驗證使用者身份以及使用 JWT 和 PASETO 存取令牌保護 API 的所有內容。
- 在第三部分中,你將學習如何使用 Docker 建置應用程式並將其部署到 AWS 上的生產 Kubernetes 叢集。 講座非常詳細,並提供逐步指南,從如何建立最小的 docker 映像、設定免費層 AWS 帳戶、建立生產資料庫、儲存和檢索生產機密、使用 EKS 建立 Kubernetes 叢集、使用 GitHub Action 自動建置映像並將其部署到 EKS 叢集、購買網域並將流量路由至服務、使用 HTTPS 保護連線並自動續約 Let’s Encrypt 的 TLS 憑證。
- 在第四部分中,我們將討論幾個高級後端主題,例如管理用戶會話(sessions)、建立 gRPC API、使用 gRPC 網關同時服務 gRPC 和 HTTP 請求、將 Swagger 文件嵌入為後端服務的一部分、部分更新使用可選參數進行記錄,並編寫結構化記錄器 HTTP 中間件和 gRPC 攔截器。
- 然後第五部分將向你介紹 Golang 中使用後台工作者( background workers )和 Redis 作為其訊息佇列的非同步處理。 我們還將學習如何透過 Gmail SMTP 伺服器建立電子郵件並向使用者發送電子郵件。 在此過程中,我們將詳細了解如何為 gRPC 服務編寫單元測試,這可能涉及同時模擬多個相依性。
- 最後第六部分以有關如何提高伺服器的穩定性和安全性的講座結束了本課程。 我們將不斷更新依賴套件到最新版本,使用 Cookies 使刷新令牌( token )更加安全,並學習如何優雅地關閉伺服器以保護處理資源。 由於這部分仍在進行中,我們將在未來繼續製作和上傳有關新主題的新影片。 所以請時不時地回到這裡查看。
本課程設計了許多細節,讓每個人,即使是那些程式設計經驗很少的人也能理解並自己做。 我堅信,完成課程後,你將能夠更有自信和有效地完成你的專案。
目標受眾
- 任何想學習使用 Golang、Postgres、Docker和 Kubernetes 開發後端 Web 服務的人
- 本課程的設計是為了讓具有非常基本的程式設計技能的初學者也能理解
- 但我相信即使是更有經驗的開發者(中級水平)也能學到新的東西
講師簡介
TECH SCHOOL 從新手到專家
在 Tech School,我們相信每個人都應該接受良好且免費的教育。 Tech School 旨在通過提供免費、高品質的教程和程式編寫課程,為每個人提供學習 IT 的機會。 這些主題範圍廣泛,適合多種級別的技術知識:從新手到專業人士。
最重要的是,Tech School 創建的所有內容都是免費的,並且永遠免費。 你可以在我們的 YouTube 頻道上免費訪問它們。
這些課程也發佈在 Udemy 上。 因此,如果你喜歡這些講座,並希望支持我們為社區創造更多有價值的內容,請購買課程,給我們一些評論,並傳播給你的朋友和同事,以便更多的人有機會自由地學習。
字幕:簡中、英文
- 想要了解如何將英文字幕自動翻譯成中文? 請參考這篇 How-To
- Udemy 永久擁有課程 NT310 起特價中(點擊連結看更多)
- ✨年訂閱每月 NT350 🌈 悠遊 Udemy 的 26000+ 門課,最大化學習 ( 原價 NT635/月 )
- Udemy 現在越來越多課程有中文字幕,請參考 Soft & Share 中文線上課程
- 手機上點選優惠連結看到的價格比電腦上看到的貴
- $代表當地貨幣, 如在台灣為 NT
- 點選”報名參加課程”有可能因瀏覽器 cookies 轉久一點或回報錯誤而無法連上,請稍等刷新或重新點選就會出現
報名參加課程

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