日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

context存放内容_Go语言爱好者周刊:第 58 期—关于 context

發布時間:2025/3/20 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 context存放内容_Go语言爱好者周刊:第 58 期—关于 context 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

這里記錄每周值得分享的 Go 語言相關內容,周日發布。

本周刊開源(GitHub:polaris1119/golangweekly[1]),歡迎投稿,推薦或自薦文章/軟件/資源等,請提交 issue[2]

鑒于大部分人可能沒法堅持把英文文章看完,因此,周刊中會盡可能推薦優質的中文文章。優秀的英文文章,我們的 GCTT 組織會進行翻譯。

題圖:Go 在谷歌的使用插圖

刊首語

借用 Dave Cheney 的一道測試題作為這次周刊的刊首語。

以下程序打印什么?

package?mainimport?(????"context"????"fmt")func?f(ctx?context.Context)?{????context.WithValue(ctx,?"foo",?-6)}func?main()?{????ctx?:=?context.TODO()????f(ctx)????fmt.Println(ctx.Value("foo"))}

資訊

1、關于 Go 語言泛型設計的最新進展和一些問題的說明

前段時間 Go 官方發布了新的泛型草案,一時間在社區引起了很大的反響,各種關于泛型的文章、討論涌現出來。8 月 21日 Ian Lance Taylor 在 golang-nuts 討論組總結了泛型設計的最新進展和一些問題的說明。

2、Istio 1.5.10 發布[3]

Istio 是一個由谷歌、IBM 與 Lyft 共同開發的開源項目,旨在提供一種統一化的微服務連接、安全保障、管理與監控方式。具體來說,Istio 是一個開源服務網格平臺,它確保微服務在處理故障時以指定的方式相互連接。這是小版本升級。

3、Kubernetes v1.19.0 正式發布[4]

終于,我們迎來了 Kubernetes 1.19 版本,這是 2020 年的第二個版本,也是迄今為止最長的發布周期,總共持續 20 周。它由 33 項增強功能組成。12 個增強功能進入穩定版,18 個增強功能進入測試版,13 個增強功能進入 alpha 版。

4、net 包將導出 ErrClosed 以便程序可以可靠的判斷當前鏈接是否已經關閉[5]

從提交可以看到這點。

文章

1、Go 熱重載工具 air 不好使了:goproxy.cn 的鍋?

大家寫開源項目還是需要注意下。

2、我擦~字符串轉字節切片后,切片的容量竟然千奇百怪

給結論,字符串轉字節切片步驟如下:

1)判斷是否是常量, 如果是常量則轉換為等容量等長的字節切片

2)如果是變量, 先判斷生成的切片是否發生變量逃逸

  • 如果逃逸或者字符串長度>32, 則根據字符串長度可以計算出不同的容量
  • 如果未逃逸且字符串長度<=32, 則字符切片容量為32

3、踩了 Go 1.15 sync.Map的一個坑[6]

使用 1.15 的用戶可以注意下。

4、微服務的戰爭:統一且標準化

“微服務的戰爭” 是一個關于微服務設計思考的系列題材,主要是針對在微服務化后所出現的一些矛盾/沖突點,不涉及具體某一個知識點深入。

5、2021 年最佳的后端編程語言會是誰?

Go、Python 還是 NodeJS 等。

6、Go 每日一庫之 go-bindata — 靜態資源嵌入詳解

本文沒有一開始給出最佳實踐,而是從最簡單的做法開始,展示一點一點改進的過程。長度盡量精簡,希望你看到最后。

7、手把手教你用 ETCD:一篇短文卻包含眾多知識

一句話概括的話:ETCD 是一個基于 RAFT 的分布式 KV 存儲系統。

8、都說 Go 可以開啟成千上萬的 Goroutine,那調度器是怎么處理核上任務分配的?

在 Go 中創建 Goroutine 既方便又快捷,然而 Go 在同一時間內最多在一個核上運行一個 Goroutine,因此需要一種方法來存放其他的 Goroutine,從而確保處理器(processor)負載均衡。

9、容器基礎:Cgroup[7]

Cgroup 是 Control Group 的縮寫,提供對一組進程,及未來子進程的資源限制、控制、統計能力,包括CPU、內存、磁盤、網絡。

10、線上 Go 程序偶爾出現異常怎么辦?這個思路可解決你的煩惱

Go 項目做的比較大(主要說代碼多,參與人多)之后,可能會遇到類似下面這樣的問題:

  • 程序老是半夜崩,崩了以后就重啟了,我也醒不來,現場早就丟了,不知道怎么定位
  • 這壓測開壓之后,隨機出問題,可能兩小時,也可能五小時以后才出問題,這我蹲點蹲出痔瘡都不一定能等到崩潰的那個時間點啊
  • 有些級聯失敗,最后留下現場并不能幫助我們準確地判斷問題的根因,我們需要出問題時第一時間的現場

開源項目

1、go-reddit[8]

用于訪問 Reddit API 的庫。

2、modernc/sqlite[9]

一個自包含,無服務器,零配置的事務型 SQL 數據庫引擎的進程內實現。

3、httpmock[10]

Go 輕量級的 http mock 庫,建立在標準庫 httptest 之上。

4、go-nfs[11]

NFSv3 協議的純 Go 實現。

5、csvstruct[12]

CSV 反序列化為結構體對象庫。

6、golf-engine[13]

GoLF 游戲引擎。

7、logr[14]

k8s 之父 Tim Hockin 創建的 go log 接口庫。

8、cassandra web ui[15](yulintsai[16] 投稿)

cassandra-web 是一個以 golang&vue.js 為基礎,以 Web-Base 方式架構在網站主機上的 cassandra 的資料庫管理工具,讓管理者可用 Web 界面管理 cassandra 資料庫。

資源&&工具

1、從頭開始用 Go 處理音頻[17]

有關使用 Go 進行音頻處理的一系列文章。介紹了如何使用自己創建的聲波從頭開始創建波形文件。

2、minify[18]

用于 Web 格式(CSS,HTML,JSON 等)的 Go 實現的壓縮工具。這里有一個在線 Demo:https://go.tacodewolff.nl/minify。

3、maddy[19]

可組合的多合一郵件服務器。可以用作 MTA,通過 SMTP 接收郵件,存儲郵件甚至通過 IMAP 提供對它們的訪問權限。

4、播客第 134 期[20]

context.Context 的用法與誤用。

5、localchat[21]

Go 編寫的局域網聊天工具。

6、script-httpd[22]

將一個命令行腳本轉換為 Web 服務。

7、gitlab[23]

Go 實現的 gitlab 客戶端命令行工具。

8、油管視頻[24]

Russ Cox 講解 go:build 設計草案。

9、mini-blockchain[25]

基于教學目的區塊鏈的 Go 語言參考實現。

10、go-readelf[26]

用 Go 編寫的 elf 二進制解析實用程序。

11、monsoon[27]

用 Go 編寫的快速靈活的 HTTP enumerator。

參考資料

[1]

polaris1119/golangweekly: https://github.com/polaris1119/golangweekly

[2]

提交 issue: https://github.com/polaris1119/golangweekly/issues

[3]

Istio 1.5.10 發布: https://www.oschina.net/news/118181/istio-1-5-10-released

[4]

Kubernetes v1.19.0 正式發布: https://dylanmeeus.github.io/tags/goaudio/

[5]

net 包將導出 ErrClosed 以便程序可以可靠的判斷當前鏈接是否已經關閉: https://github.com/golang/go/commit/e9ad52e46dee4b4f9c73ff44f44e1e234815800f

[6]

踩了 Go 1.15 sync.Map的一個坑: https://purewhite.io/2020/08/24/golang-sync-map-keys-never-delete/

[7]

容器基礎:Cgroup: https://lessisbetter.site/2020/08/27/cgroup-1/

[8]

go-reddit: https://github.com/vartanbeno/go-reddit

[9]

modernc/sqlite: https://gitlab.com/cznic/sqlite

[10]

httpmock: https://github.com/dankinder/httpmock

[11]

go-nfs: https://github.com/willscott/go-nfs

[12]

csvstruct: https://github.com/artyom/csvstruct

[13]

golf-engine: https://github.com/bjatkin/golf-engine

[14]

logr: https://github.com/go-logr/logr

[15]

cassandra web ui: https://github.com/orzhaha/cassandra-web

[16]

yulintsai: https://github.com/yulintsai

[17]

從頭開始用 Go 處理音頻: https://dylanmeeus.github.io/tags/goaudio/

[18]

minify: https://github.com/tdewolff/minify

[19]

maddy: https://github.com/foxcpp/maddy

[20]

播客第 134 期: https://changelog.com/gotime/143

[21]

localchat: https://github.com/fiatjaf/localchat

[22]

script-httpd: https://github.com/beefsack/script-httpd

[23]

gitlab: https://github.com/profclems/glab

[24]

油管視頻: https://www.youtube.com/watch?v=AgR_mdC4Rs4

[25]

mini-blockchain: https://github.com/codingtmd/mini-blockchain

[26]

go-readelf: https://github.com/sad0p/go-readelf

[27]

monsoon: https://github.com/RedTeamPentesting/monsoon

[28]

Go語言中文網: https://studygolang.com/go/weekly

[29]

微信公眾號: https://weixin.sogou.com/weixin?query=Go%E8%AF%AD%E8%A8%80%E4%B8%AD%E6%96%87%E7%BD%91

總結

以上是生活随笔為你收集整理的context存放内容_Go语言爱好者周刊:第 58 期—关于 context的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。