<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Go語(yǔ)言愛(ài)好者周刊:第 70 期 — 一道問(wèn)答題

          共 3924字,需瀏覽 8分鐘

           ·

          2020-11-24 02:33

          這里記錄每周值得分享的 Go 語(yǔ)言相關(guān)內(nèi)容,周日發(fā)布。

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

          鑒于大部分人可能沒(méi)法堅(jiān)持把英文文章看完,因此,周刊中會(huì)盡可能推薦優(yōu)質(zhì)的中文文章。優(yōu)秀的英文文章,我們的 GCTT 組織會(huì)進(jìn)行翻譯。

          由于微信公眾號(hào)不支持外鏈,文中大量鏈接可通過(guò)文末「閱讀原文」查看。

          題圖:golangweekly

          刊首語(yǔ)

          一道問(wèn)答題:以下代碼可能有什么問(wèn)題?如何改進(jìn)?

          type?Stats?struct?{
          ????mutex?sync.Mutex

          ????counters?map[string]int
          }

          func?(s?*Stats)?Snapshot()?map[string]int?{
          ????s.mutex.Lock()
          ????defer?s.mutex.Unlock()

          ????return?s.counters
          }

          func?(s?*Stats)?Add(name?string,?num?int)?{
          ????s.Lock()
          ????defer?s.Unlock()
          ????s.counters[name]?=?num
          }

          歡迎留言討論。

          資訊

          1、Go 標(biāo)準(zhǔn)庫(kù)性能測(cè)試,對(duì)比 Intel 和 蘋(píng)果 M1 處理器[3]

          想知道基于 Apple M1 的筆記本電腦與基于 Intel 的筆記本電腦的 Go 性能如何?這個(gè)測(cè)試可以看看。

          2、GoLand 2020.3 Beta 版發(fā)布[4]

          與“搶先體驗(yàn)計(jì)劃”版本相比,該測(cè)試版非常穩(wěn)定,但是請(qǐng)記住,這里和那里仍然可能存在一些粗糙的地方。

          3、GitHub 向開(kāi)發(fā)著妥協(xié),恢復(fù) youtube-dl 項(xiàng)目[5]

          下載用。

          文章

          1、一起看看 Go1.14 的搶占調(diào)度

          搶占是調(diào)度器的重要部分,基于搶占調(diào)度器可以在各個(gè)協(xié)程中分配運(yùn)行的時(shí)間。

          2、Go 最細(xì)節(jié)篇 — chan 為啥沒(méi)有判斷 close 的接口 ?

          相信大家初學(xué) golang chan 的時(shí)候應(yīng)該都遇到過(guò) "send on closed channel" 的 panic 。

          3、通過(guò)這個(gè) Runtime 統(tǒng)計(jì)信息可視化庫(kù)學(xué)到了什么?

          掌握系統(tǒng)運(yùn)行狀態(tài),知道系統(tǒng)哪些地方可能存在問(wèn)題,方便進(jìn)行優(yōu)化,這是一個(gè)實(shí)際系統(tǒng)必備的。裸奔,對(duì)系統(tǒng)一無(wú)所知,遲早是要出大事的。

          4、C++ 調(diào)用 Go 方法的字符串傳遞問(wèn)題及解決方案[6]

          C++ 調(diào)用 Go 方法時(shí),字符串參數(shù)的內(nèi)存管理需要由 Go 側(cè)進(jìn)行深度值拷貝。

          5、聊聊 Go 和創(chuàng)業(yè)

          PingCAP、七牛、掘金。。。

          6、Go 語(yǔ)言名人:除了 Rob Pike,很多人可能不知道他

          Russ Cox 是 Go Team Leader。

          7、在 Go 中恰到好處的內(nèi)存對(duì)齊

          通過(guò)本文的介紹,可得知是由于不同類型導(dǎo)致需要進(jìn)行字節(jié)對(duì)齊,以此保證內(nèi)存的訪問(wèn)邊界。

          8、Go 基準(zhǔn)測(cè)試還可以這么搞?高級(jí)基準(zhǔn)測(cè)試

          有時(shí)你必須解決不同類型的問(wèn)題。通常來(lái)說(shuō)復(fù)雜的問(wèn)題并不會(huì)只有單一的解決方案,但是解決方案的優(yōu)劣取決于程序在運(yùn)行時(shí)所要解決問(wèn)題的子集。

          9、Go 語(yǔ)言之 pprof 的性能調(diào)優(yōu) “燥起來(lái)”[7]

          在計(jì)算機(jī)性能調(diào)試領(lǐng)域里,profiling 是指對(duì)應(yīng)用程序的畫(huà)像,畫(huà)像就是應(yīng)用程序使用 CPU 和內(nèi)存的情況。Go 語(yǔ)言是一個(gè)對(duì)性能特別看重的語(yǔ)言,因此語(yǔ)言中自帶了 profiling 的庫(kù),這篇文章就要講解怎么在 golang 中做 profiling。

          10、Golang 協(xié)程并發(fā)的流水線模型[8]

          總結(jié)下 golang 協(xié)程并發(fā)常用的流水線模型。

          11、好未來(lái)開(kāi)源框架 go-zero:如何用它進(jìn)行 rest 開(kāi)發(fā)?

          go-zero 是一個(gè)集成了各種工程實(shí)踐的 web 和 rpc 框架,其中 rest 是 web 框架模塊,基于 Go 語(yǔ)言原生的 http 包進(jìn)行構(gòu)建,是一個(gè)輕量的,高性能的,功能完整的,簡(jiǎn)單易用的 web 框架。

          12、為什么 Go 的泛型一拖再拖?

          據(jù)說(shuō) 2022 年 2 月會(huì)有泛型。

          13、Java 微服務(wù)能像 Go 一樣快嗎?

          留言比較有料。

          開(kāi)源項(xiàng)目

          1、gomponents[9]

          Go 中的聲明式視圖組件,可以呈現(xiàn)為 HTML5。

          2、address[10]

          地址處理庫(kù),支持多國(guó)語(yǔ)言。

          3、peer-calls[11]

          為使用 Go 和 TypeScript 編寫(xiě)的進(jìn)行點(diǎn)對(duì)點(diǎn)視頻通話。

          4、ebpf[12]

          eBPF 是一個(gè)純 Go 庫(kù),提供用于加載,編譯和調(diào)試 eBPF[13] 程序的實(shí)用程序。它具有最小的外部依賴性,適合在長(zhǎng)時(shí)間運(yùn)行的進(jìn)程中使用。

          5、h2go[14]

          Apache H2 Go SQL Driver。

          6、statsview[15]

          實(shí)時(shí) Golang 運(yùn)行時(shí)統(tǒng)計(jì)數(shù)據(jù)可視化分析器。

          7、k0s[16]

          最小體積的發(fā)行版 k8s。

          8、gwda[17]

          用 Golang 實(shí)現(xiàn) appium/WebDriverAgent 的客戶端庫(kù),使得 Gopher 也可以編寫(xiě)代碼來(lái)控制 iOS iPadOS 設(shè)備的各種操作。

          資源&&工具

          1、go-getter[18]

          可使用 URL 作為輸入的主要形式從各種來(lái)源下載文件或目錄。

          2、gdriver[19]

          從 Google Drive 下大文件。

          3、油管視頻[20]

          深入 go build cache。

          4、適合 Go 新手學(xué)習(xí)的開(kāi)源項(xiàng)目[21]

          看看有沒(méi)有你需要的。

          5、rf[22]

          Go 重構(gòu)工具,目前還是實(shí)驗(yàn)階段。

          訂閱

          這個(gè)周刊每周日發(fā)布,同步更新在Go 語(yǔ)言中文網(wǎng)[23]微信公眾號(hào)[24]

          微信搜索"Go 語(yǔ)言中文網(wǎng)"或者掃描二維碼,即可訂閱。

          wechat

          上期推薦
          參考資料

          [1]

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

          [2]

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

          [3]

          Go 標(biāo)準(zhǔn)庫(kù)性能測(cè)試,對(duì)比 Intel 和 蘋(píng)果 M1 處理器: https://roland.zone/m1-go-benchmarks/

          [4]

          GoLand 2020.3 Beta 版發(fā)布: https://blog.jetbrains.com/go/2020/11/12/goland-2020-3-goes-beta/

          [5]

          GitHub 向開(kāi)發(fā)著妥協(xié),恢復(fù) youtube-dl 項(xiàng)目: https://github.blog/2020-11-16-standing-up-for-developers-youtube-dl-is-back/

          [6]

          C++ 調(diào)用 Go 方法的字符串傳遞問(wèn)題及解決方案: https://www.cnblogs.com/huaweiyun/p/13998446.html

          [7]

          Go 語(yǔ)言之 pprof 的性能調(diào)優(yōu) “燥起來(lái)”: https://juejin.cn/post/6896453718527442951

          [8]

          Golang 協(xié)程并發(fā)的流水線模型: https://segmentfault.com/a/1190000038212342

          [9]

          gomponents: https://github.com/maragudk/gomponents

          [10]

          address: https://github.com/bojanz/address

          [11]

          peer-calls: https://github.com/peer-calls/peer-calls

          [12]

          ebpf: https://github.com/cilium/ebpf

          [13]

          eBPF: https://ebpf.io/

          [14]

          h2go: https://github.com/jmrobles/h2go

          [15]

          statsview: https://github.com/go-echarts/statsview

          [16]

          k0s: https://github.com/k0sproject/k0s

          [17]

          gwda: https://github.com/electricbubble/gwda

          [18]

          go-getter: https://github.com/hashicorp/go-getter

          [19]

          gdriver: https://github.com/mtojek/gdriver

          [20]

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

          [21]

          適合 Go 新手學(xué)習(xí)的開(kāi)源項(xiàng)目: https://juejin.cn/post/6896255508983283719

          [22]

          rf: https://github.com/rsc/rf

          [23]

          Go 語(yǔ)言中文網(wǎng): https://studygolang.com/go/weekly

          [24]

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


          瀏覽 61
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  日日干夜夜操夜夜爽i | 97大香蕉在线视频 | 激情综合六月 | 国产乱伦日韩 | 夸克看成人片一级A片 |