點擊上方藍色「Go語言中文網」關注我們,設個星標,每天學習 Go 語言
這裡記錄每周值得分享的 Go 語言相關內容,周日發布。
本周刊開源(GitHub:),歡迎投稿,推薦或自薦文章/軟體/資源等,請 。
由於微信不允許外鏈,文中連結可以通過文末引用找到,或「閱讀原文」查看。
鑑於大部分人可能沒法堅持把英文文章看完,因此,周刊中會儘可能推薦優質的中文文章。優秀的英文文章,我們的 GCTT 組織會進行翻譯。
題圖:來源 golangweekly.com
刊首語Go 有語言公認的一個很好的工具是 gofmt,它讓不同人的代碼寫出來風格差不多,這也極大的減少了團隊對代碼風格的要求。
最近 Uber 公開的一份 ,受到極大的歡迎。2、3 天時間,star 數 2.4k+,今天(2019-10-13 日),Tony Bai 和 legendtkl(陶大)同時發布了翻譯版本(見下文),推薦大家學習,根據情況用在自己的日常編碼和團隊規範中。
資訊1、
gcs(go config server) 配置管理平臺,此項目基於 gf 框架開發,支持項目管理、配置管理、配置發布、項目對比、配置複製,接口獲取配置等。
2、
Træfɪk 是一個新型的 HTTP 反向代理、負載均衡軟體,能輕易的部署微服務,它支持多種後端 (Docker, Swarm, Mesos/Marathon, Consul, Etcd, Zookeeper, BoltDB, Rest API, file...) ,可以對配置進行自動化、動態的管理。
3、
gout 是 go 寫的 http 客戶端,為提高工作效率而開發。
4、Rancher 2.3 發布,支持 Windows 容器,集成 Istio
據說這是 Rancher Labs 迄今為止最重要的版本更新。Rancher 2.3 是業界首個 GA 支持 Windows 容器的 Kubernetes 管理平臺,並正式集成了 Istio,還引入了創新的「集群模板」功能以增強企業集群的安全性。
5、
Grafana 是一個功能豐富的指標標準儀錶板和圖形編輯器,用於分析和監控 Graphite、Elasticsearch、OpenTSDB、Prometheus 和 InfluxDB。
6、
Excelize 是 Go 語言編寫的一個用來操作 Office Excel 文檔類庫,基於 ECMA-376 OOXML Spec。可以使用它來讀取、寫入 XLSX 文件,相比較其他的開源類庫,Excelize 支持操作帶有數據透視表、切片器、圖表與圖片的 Excel 並支持向 Excel 中插入圖片與創建簡單圖表,可應用於各種報表系統中。Excelize 作為 ,現已成為 Go 語言最受歡迎的 Excel 文檔基礎庫。
7、
TiDB 是國內 PingCAP 團隊開發的一個分布式 SQL 資料庫。其靈感來自於 Google 的 F1 和 Google spanner, TiDB 支持包括傳統 RDBMS 和 NoSQL 的特性。
8、
Harbor 是為企業用戶設計的 Registry server 開源項目,包括了權限管理(RBAC)、LDAP、審計、安全漏洞掃描、鏡像驗真、管理界面、自我註冊、HA 等企業必需的功能,同時針對中國用戶的特點,設計鏡像複製和中文支持等功能。
9、
這是小版本更新。
10、
主要是 bug 修復。
問答1、
歡迎討論。
2、
這個屬於比較基礎的問題。
3、
不包含時區貌似不會成功呢!
4、
模板本身不強大,但可以通過 Go 代碼中進行擴展。
5、
golang 中這兩種方法的如何取捨選擇,之間有什麼區別?比如:func test(&post) error{} 和 func test() (post Post, err error){}。
6、
這個問題新手挺常見的吧,可能將來默認都使用 module,可能就不會有這樣的問題了。
文章1、通過測試學習 Go 語言
從今天起,Go 語言中文網公眾號為大家帶來一個系列:通過測試學習 Go 語言,希望對新手學習有幫助!
2、只因掌握它,便輕鬆使用 Go 構建微服務
本教程提供了 Go 使用 gRPC 的基礎教程
3、Uber Go 語言編程規範
Uber 出品,值得團隊借鑑學習。除了 legendtkl 大神翻譯外,Tony Bai 也進行了翻譯,都在同一天發布。Uber Go 語言編碼規範。原文:https://github.com/uber-go/guide/blob/master/style.md 。
4、通過實例快速掌握 k8s(Kubernetes)核心概念
容器技術是微服務技術的核心技術之一,並隨著微服務的流行而迅速成為主流。Docker 是容器技術的先驅和奠基者,它出現之後迅速佔領市場,幾乎成了容器的代名詞。但它在開始的時候並沒有很好地解決容器的集群問題。
5、Go 中某些語句中的表達式之間的相對估值順序未定義
Go 語言中有很多獨特的設計,也有很多從其它語言借鑑過來的設計。總體上看,Go 和 C 語言的血緣最近。事實上,我們可以將 Go 語言稱為 C+語言。相對於 C 語言,Go 語言的一大特點是儘可能地減少了未定義行為。
6、掌握本文,Go 語言新手也可以寫出高質量代碼:Go 測試高級竅門和技巧
測試的的技巧值得掌握。
7、如何使用 Golang 處理 MySQL 的 binlog?
也許你什麼時候需要用到。
8、Go 高級編程:指針和內存分配詳解
簡化版的指針。
9、Go 有 GC 就不需要掌握內存堆棧知識了嗎?Go 堆棧的理解
什麼是堆棧?在計算機中堆棧的概念分為:數據結構的堆棧和內存分配中堆棧。
10、Go GC 卡頓由秒級降到毫秒級以下:到底做了哪些優化?
Go GC 的優化還是很明顯的。
11、800 字徹底理解 Go 指針
這篇文章是為不熟悉 Go 的指針或指針類型的程式設計師而準備的。Dave Cheney 大神出品。「Golang 來啦」公眾號的 Seekload 翻譯。
12、小米 Go 開發實踐——用 Go 構建高性能資料庫中間件
GopherChina 2019 上的演講整理。
13、
如何改進的?做了哪些改進?
14、
etcd 是一個分布式一致性鍵值存儲。其主要功能有服務註冊與發現、消息發布與訂閱、負載均衡、分布式通知與協調、分布式鎖、分布式隊列、集群監控與 leader 選舉等。
開源項目1、
與 cloc,sloccount 和 tokei 類似的工具。用於計數許多程式語言中的物理代碼行,空行,注釋行和原始碼的物理行。
2、
官方網站:https://nuetzlich.net/gocryptfs
3、
支持使用各種身份驗證提供程序(比如:github 帳號等)登錄 Kubernetes 集群。
4、
支持使用 Google,GitHub 和其他提供商帳號提供身份驗證。
5、
imgproxy 可用於提供一種快速,安全的方式來替換 Web 應用程式的所有圖像大小調整代碼(如調用 ImageMagick 或 GraphicsMagick 或使用庫),同時還能夠快速,輕鬆地實時調整所有內容的大小。在處理大量圖像大小調整時,尤其是當圖像來自遠程來源時,imgproxy 也是必不可少的。
6、
WebAssembly 似乎很火,但實際應用有多少?
7、
這真是個好工具。
8、
號稱速度很快!
9、
DevDash 是一個高度可配置的終端儀錶板,適用於希望在一個地方選擇並顯示所需的最新指標的開發人員。
資源&&工具1、(英文)
PDF,可以下載到本地閱讀。
2、(英文)
好資源大整理。
3、(英文)
Mat 與 Peter Bourgon,KatZień 和 Ben Johnson 一起參加了 Go 的應用程式設計討論。
4、
榜單每周更新一次!
5、(英文)
每周 4-6 次編碼面試問題,包括詳細的解決方案,測試用例和程序分析。
訂閱這個周刊每周日發布,同步更新在、 和 。
微信搜索"Go 語言中文網"或者掃描二維碼,即可訂閱。