1.為什麼選擇這本書?
因為工作中有一個專案使用了Go進行開發,專案用到了MySQL, Redis,GORM,Rabbitmq,Zap等元件進行開發,沒有使用到Web框架,因為本人是Web開發方向,所以就想了解下Web框架在Go開發中的應用,看看別人是怎麼用的。國外的Go Web框架有:Echo, Gin, Iris, Macaron, Martini, Mux等,國內的Go Web框架有:Beego,GoFrame等。鑑於有書介紹Gin框架,所以就選擇了Gin框架進行學習。
2.這本寫了什麼?
這本書以Gin框架作為切入點,介紹了整個Go Web開發的完整流程及工具:Gin框架的使用(請求、路由解析、響應),資料庫的使用(MongoDB, Redis),前端開發(React),部署(Docker, Nginx),運維(Telegraf,Prometheus,Grafana)。
其中,對於git flow不同分支的用法介紹的比較詳細,對於團隊協作的專案來說,這點必不可少,這是本書的優點。同時,本書缺少了MySQL,ORM, Zap等元件的缺少介紹,稍顯遺憾。畢竟Web開發中,這是無法避免的。也因為Gin框架比較精簡,整個專案並不是傳統的MVC架構。
從2024年10月12日至2024年11月3日期間,期間花了大概17天閱讀完《使用Gin框架構建分散式應用》(原書名是:Building Distributed Applications in Gin)。
3.這本書適合什麼樣的人?
什麼樣的人適合閱讀這本書?書上的介紹是"This book is for Go developers who are comfortable with the Go language and are seeking to learn about REST API design and development with the Gin framework."——掌握了Go語言,想了解 RESTFul API設計,想使用Gin進行開發的人。這本書預設大家對書中所涉及的技術有一定的瞭解,如程式語言、前端技術、資料庫技術、運維技術等。整本書重點是把這些技術給串起來,告訴你怎麼用(how)。整本書算是“practice(實戰)”類的書,但總共只有400多頁,限於篇幅,所以"為什麼這樣用(why)?"就被省略掉了,所介紹的內容也不會太深。
這本書適合於想了解Go開發流程,以及想了解Gin框架的人,假設你現在就已經是一名Go開發人員,那麼這本書就可以跳過了。假設你暫未有實際的開發經驗,那麼這本書可以作為不錯的入門書。
參考資料
(1) Mohamed Labouardy,《Building Distributed Applications in Gin》:https://book.douban.com/subject/35610349
歡迎搜尋及關注:程式設計人(a_codists)