Go語言愛好者周刊:第 12 期

2021-02-25 Golang來啦

點擊上方藍色「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 語言中文網"或者掃描二維碼,即可訂閱。

相關焦點

  • Go語言愛好者周刊:第 23 期
    這裡記錄每周值得分享的 Go 語言相關內容,周日發布。本周刊開源(GitHub:),歡迎投稿,推薦或自薦文章/軟體/資源等,請 。)大神是如何學習 Go 語言之淺入淺出接口的原理4)大神是如何學習 Go 語言之寫出優雅的 Go 代碼3、使用多年的 go pprof 檢查內存洩漏的方法居然是錯的?!
  • Go語言愛好者周刊:第 67 期 — Go1.16 相關功能基本完成了
    這裡記錄每周值得分享的 Go 語言相關內容,周日發布。本周刊開源(GitHub:polaris1119/golangweekly[1]),歡迎投稿,推薦或自薦文章/軟體/資源等,請提交 issue[2] 。
  • Go語言愛好者周刊:第 82 期 — 情人節快樂
    這裡記錄每周值得分享的 Go 語言相關內容,周日發布。本周刊開源(GitHub:polaris1119/golangweekly[1]),歡迎投稿,推薦或自薦文章/軟體/資源等,請提交 issue[2] 。
  • Go語言愛好者周刊:第 64 期 — goup 這個工具了解下
    這裡記錄每周值得分享的 Go 語言相關內容,周日發布。本周刊開源(GitHub:polaris1119/golangweekly[1]),歡迎投稿,推薦或自薦文章/軟體/資源等,請提交 issue[2] 。
  • Go語言愛好者周刊:第 77 期 — 這道題目測答對的人不多
    這裡記錄每周值得分享的 Go 語言相關內容,周日發布。本周刊開源(GitHub:polaris1119/golangweekly[1]),歡迎投稿,推薦或自薦文章/軟體/資源等,請提交 issue[2] 。
  • Go語言愛好者周刊:第 80 期 — 認真思考下為什麼?
    這裡記錄每周值得分享的 Go 語言相關內容,周日發布。本周刊開源(GitHub:polaris1119/golangweekly[1]),歡迎投稿,推薦或自薦文章/軟體/資源等,請提交 issue[2] 。
  • 科技愛好者周刊:第 73 期
    這是有史以來第一起因為發生在太空的行為,而導致的法律訴訟。(@starshipsea[4] 投稿)3、猴子稅[5][24](英文)Figma 是一個網頁應用程式,有很多第三方開發者寫的插件。如何才能在網頁安全運行第三方代碼,這是 Figma 團隊面臨的重大問題。本文記錄了他們的探索過程,最後使用的是新提出的 Realm API。8、黃金分割的數據可視化[25](中文)
  • 科技愛好者周刊:第 86 期
    •Instagram[12] 開始隱藏點讚數量,目的是防止無意義的點讚競賽。•Intel 公司[13]因為14納米產能不夠,重啟已經關閉的22納米生產線,恢復生產低端的奔騰 Haswell CPU。•一個以色列愛好者[15]設計出紙飛機控制器,可以把這個裝置安裝在紙飛機上,然後用手機遙控紙飛機。這個裝置在 KickStarter 眾籌,已經有超過1萬名支持者,認捐了100多萬美元。
  • 科技愛好者周刊:第 78 期
    8、一句話消息•國際標準化組織 ISO[10] 將圖形資料庫查詢語言 GQL 通過為國際標準,這是繼 SQL 以後第二種成為國際標準的資料庫查詢語言。•Perl6[11] 改名為 Raku 語言。主要原因是,Perl6 的開發拖得太久,超過10年。而 Perl5 也沒停止升級,結果導致兩者語法不兼容。
  • 科技愛好者周刊:第 85 期
    7、代碼移入資料庫[23](英文)作者說,這些年他一直在改變工作語言,1997年是 Perl,1998年是 PHP,2004年是 Rails,2007年又是 PHP,2012年是 JavaScript。每改一次,有些代碼就要重寫一次。但是,後臺的資料庫從來沒有變過,那麼為什麼不把邏輯寫進資料庫呢?
  • 科技愛好者周刊(第 118 期):高考志願怎麼填
    周刊討論區的帖子《誰在招人?》[2],提供大量就業信息,歡迎訪問或發布工作/實習崗位。封面圖元上都遺址位於內蒙古草原,是元朝定都北京之前的首都,距今約750年的歷史。馬可波羅就在這裡,第一次見到了元世祖忽必烈。(來源:Instagram[3])本周話題:高考志願怎麼填前不久,親戚朋友諮詢我,高考志願的填寫建議。
  • 《安徽青年報》學生周刊 第180期
    《安徽青年報》學生周刊 第180期 2010-12-28 14:54:26   來源:未知
  • 科技愛好者周刊(第 129 期):創業的凸函數和凹函數
    周刊討論區的帖子《誰在招人?》[2],提供大量就業信息,歡迎訪問或發布工作/實習崗位。封面圖荷蘭藝術家 Henk Hofstra 在巴西聖保羅市的作品《大街上的煎蛋》。(via[3])本周話題:創業的凸函數和凹函數著名暢銷書《黑天鵝》[4]的作者納西姆·塔勒布(Nassim Taleb),以前是紐約大學的數學教授,後來從事數理金融和風險管理。
  • 語言戰爭_三聯生活周刊
    語言戰爭 2012-06-14 14:30 作者:薛巍來源:三聯生活周刊 2012年第24期
  • 《三聯生活周刊》 第1000期,2018年8月20日出版
    《三聯生活周刊》 第1000期,2018年8月20日出版 【封面故事】與時代同行
  • 解讀 Go 語言的 2019:Go 語言不行了嗎?
    而 Go 語言正是我們做這類事情時所需要的強大工具。本文是 InfoQ 「解讀 2019 」年終技術盤點系列文章之一。從 TIOBE Index 來看,Go 語言最近在全球的熱度似乎有所下滑。不過,如果看總體排名的話,截止到 2019 年的 12 月,Go 語言依然排在第 15 位,仍處於主流之列。雖然中途存在一些起落,但總體上還是與去年同期持平的。
  • 第 61 期 乾貨滿滿的 Go Modules 和 goproxy.cn
    大家好,我是一隻普通的煎魚,周四晚上很有幸邀請到 goproxy.cn 的作者 @盛傲飛(@aofei) 到 Go 夜讀給我們進行第 61 期
  • 極客閱讀周刊: 第 34 期
    •《人工智慧編程的 LISP 範例》(Paradigms of Artificial Intelligence Programming)[12],一本很好的英文教科書,解釋人工智慧編程原理。): https://ishadeed.com/article/css-vars-101/[10] Python 的 eval() 函數很危險(英文): https://nedbatchelder.com/blog/201206/eval_really_is_dangerous.html[11] Masonry: https://masonry.desandro.com/[12
  • Golang語言情懷-第46期 Go 語言標準庫翻譯 compress/bzip2
    Index ▾Package filesbit_reader.go bzip2.go huffman.go move_to_front.gofunc NewReaderfunc NewReader(r io.Reader) io.ReaderNewReader returns an io.Reader which decompresses bzip2
  • GO語言入門(第一個go程序)
    作為一門具有明確編碼規範的語言,它要求可以採用不同的編譯器如 gc 和 gccgo(第 2.1 節)進行編譯工作,這對語言本身擁有更好的編碼規範起到很大幫助。LALR 是 Go 語言的語法標準,你也可以在 src/cmd/internal/gc/go.y 中查看到,這種語法標準在編譯時不需要符號表來協助解析。