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

polaris · · 1858 次點擊 · 開始瀏覽    置頂
這里記錄每周值得分享的 Go 語言相關內容,周日發布。 本周刊開源(GitHub:[polaris1119/golangweekly](https://github.com/polaris1119/golangweekly)),歡迎投稿,推薦或自薦文章/軟件/資源等,請[提交 issue](https://github.com/polaris1119/golangweekly/issues) 。 鑒于大部分人可能沒法堅持把英文文章看完,因此,周刊中會盡可能推薦優質的中文文章。優秀的英文文章,我們的 GCTT 組織會進行翻譯。 ![](https://raw.githubusercontent.com/polaris1119/golangweekly/master/docs/imgs/issue015/cover.png) 題圖:Games With Go ## 刊首語 技術學累了,來點雞湯補補! > 你能傷害的,都是在乎你的人;你能欺騙的,都是信任你的人。所以,別打著真心實意的幌子,卻把善良的人當傻子;對你好的,一輩子都別忘;欺你善的,一輩子都別交。記得善待每一顆純潔的心,也不辜負每一份慈悲的情! ## 資訊 1、[Go1.13.4 和 1.12.13 兩個小版本發布](http://www.2358f.com/topics/10355) 主要修復 MacOS 的一個問題和 net/http 包的修復。 2、Go1.14 應該很棒! 這個周期有很多 runtime 的工作。主要有: * 異步搶占 (https://github.com/golang/go/issues/24543) * 更快的 defers (http://www.2358f.com/topics/10356) * 可擴展計時器 (https://github.com/golang/go/issues/6239, https://github.com/golang/go/issues/27707) * 新的頁分配器 (https://github.com/golang/proposal/blob/master/design/35112-scaling-the-page-allocator.md) 3、GopherCon 2020 將進入迪士尼世界! GopherCon 將于 2020 年在佛羅里達州奧蘭多的沃爾特·迪斯尼世界海豚度假村舉行。我們只希望地鼠和老鼠相處融洽。 4、[GORP 3.0 發布: 一個 'ORM-ish' Go 庫](https://github.com/go-gorp/gorp/releases/tag/v3.0.0) 相比 GORM 和 XORM,這個庫似乎沒那么流行。在過去的一年中,這個曾經很受歡迎的項目的維護和發布速度有所放緩,但是現在有一個新的基于模塊的版本,支持 Go 1.13。 (GORP 代表 Go Relational Persistence) 5、[Flaggy 1.3.0 發布: Go 慣用的命令行解析庫](https://github.com/integrii/flaggy) 在任何位置都支持子命令,位置值和標志(flag)。 沒有外部依賴。 類似的類庫中,[Kingpin](https://github.com/alecthomas/kingpin) 是另一個受歡迎的選擇。 6、[Zap 1.12 發布: 快速、結構化的 Go 日志庫](https://github.com/uber-go/zap) 剛剛遷移到模塊。支持模塊是大勢所趨! ## 問答 1、[關于 chan 的用法困惑](http://www.2358f.com/topics/10344) 求素數的一個程序。 2、[gorm 關聯查詢如何排除字段?](https://segmentfault.com/q/1010000020887156) 學會查閱文檔很重要。 3、[golang 中怎么一次把 []int 轉為 []int32](https://segmentfault.com/q/1010000020854848) 除了遍歷的方式,你覺得還有其他方式嗎? 4、[golang 中 websocket 讀取消息的問題!](https://segmentfault.com/q/1010000020841936) 其實是 json 解析的問題。 5、[golang Open 函數打開的文件不主動關閉,在程序關閉時會發生什么?](https://segmentfault.com/q/1010000020836375) 進程退出時操作系統會回收給進程的所有資源。 ## 文章 1、[Go 1.13 中值得關注的幾個變化](https://tonybai.com/2019/10/27/some-changes-in-go-1-13/) TonyBai 的值得關注系列,這次來的有點晚。 2、[一文讀懂 Go profiling 和性能優化](https://mp.weixin.qq.com/s/nqOXcetOLQN09IFjOz4PtQ) 本文總結自 [**Profiling and Optimizing Go**](https://www.youtube.com/watch?v=N3PWzBeLX2M),對應的 [**PPT**](https://docs.google.com/presentation/d/1n6bse0JifemG7yve0Bb0ZAC-IWhTQjCNAclblnn2ANY/present?slide=id.g39a91bbe9_0264),有梯子的可以直接看視頻。 3、[給Go程序加入編譯版本時間等信息](https://mp.weixin.qq.com/s/1OpMV3Fk690NUdhRCQepIA) 你可能會需要。 4、[并發陷阱 2: 未完成的工作](https://mp.weixin.qq.com/s/DokDQ_DlodBPOHNoeKA7wA) 介紹一個新的陷阱,這個陷阱叫做未完成的工作。當進程在非主協程的協程結束前終止時,這種陷阱就會發生。根據 Gorotine 的特性,強制關閉它將造成一個嚴重的問題。 5、[創建優化的Go鏡像文件以及踩過的坑](https://mp.weixin.qq.com/s/QpUUyKp2J_9aOckRu5lEiA) 也許對你有用的經驗! 6、[你真的了解跨域嗎?如何解決?為Go程序員準備的跨域教程](https://mp.weixin.qq.com/s/qauMSFTrJNNyB3kXpH4Izw) 本文為 Go 程序員介紹了幾種解決跨域的方法。 7、[如何把應用程序遷移到 K8S?](https://mp.weixin.qq.com/s/65ZDehlzGkY0dT91uusagg) 程序部署環境的容器化已經是大勢所趨,微服務為容器化提供了廣闊的應用舞臺,k8s 已經把 Docker 納入為它的底層支撐容器引擎,一統江湖,成為了容器技術事實上的標準。 8、[Go 編程:記一次函數定義的爭論](https://mp.weixin.qq.com/s/y11wVIbN5AVPYg6u2qkFMA) 將這些“自以為是”的東西寫下來,供讀者參考。 9、[一文詳解微服務架構](https://www.cnblogs.com/skabyy/p/11396571.html) 本文將介紹微服務架構和相關的組件,介紹他們是什么以及為什么要使用微服務架構和這些組件。本文側重于簡明地表達微服務架構的全局圖景,因此不會涉及具體如何使用組件等細節。 10、[使用 git bisect 定位你的 BUG](https://wujunze.com/2019/2019-10-30-git-bisect/) Git 是開發者的好幫手,今天跟大家分享的是用 git bisect 來找到你代碼中的 bad commit 。 ![](https://raw.githubusercontent.com/polaris1119/golangweekly/master/docs/imgs/issue015/git_log.png) 11、[[譯]Golang應付百萬級請求/分鐘](https://juejin.im/post/5db1464b6fb9a0202a261ca9) 簡潔化設計永遠是我所追求的東西。我們可以設計一個復雜的系統用很多的隊列,后臺運行worker,復雜的部署等等,但取而代之我們決定利用Elasticbeanstalk強大的自動伸縮功能以及Go所提供開箱即用的并發特性。 12、[何處安放我們的 Go 代碼](https://liujiacai.net/blog/2019/10/24/go-modules/) 本文大致順序:包管理的歷史;新的包管理方式 module;最后加上一個問題排查,徹底解決如何放置 Go 代碼的問題。 13、[Go 語言出現后,Java 還是最佳選擇嗎?](https://mp.weixin.qq.com/s/K1us6aH-gjHsWGhQ3SulFg) 阿里人寫的文章,你懂的。 ## 開源項目 1、[golang.cafe](https://github.com/golang-cafe/golang.cafe) 一個 Go 實現的開源招聘 web 站點。這是國外人搞的。基于它,你可以構建一個國人的招聘站點。 2、[Kilo](https://github.com/squat/kilo) 一個為 k8s 設計的、基于 wireguard 構建的多云 overlay 網絡插件。 3、[imgcrypt](https://github.com/containerd/imgcrypt) 為容器提供 API 擴展以支持加密的容器映像。 4、[go-gitdir](https://github.com/belak/go-gitdir) 基于一個目錄的 git 托管服務。 5、[snake-go: Go 實現的貪吃蛇終端小游戲](https://github.com/tristangoossens/snake-go) 一款基于文本的“貪吃蛇”游戲,隨心所欲制作。10 年前擁有諾基亞手機或玩過 NIBBLES.BAS 的任何人都會熟悉它。 6、[gazette/core](https://github.com/gazette/core) 構建流處理平臺的基礎設施代碼庫。 7、[hemera](https://github.com/andresoro/hemera) 一個零依賴的 statsd 的Go語言實現。 8、[tson: Go實現的 json 查看器](https://github.com/skanehira/tson) Go語言編寫的 TUI json 編輯器和查看器。 ![](https://raw.githubusercontent.com/polaris1119/golangweekly/master/docs/imgs/issue015/tson.gif) 9、[ktunnel](https://github.com/omrikiei/ktunnel) 將本地資源暴露到 k8s 集群的命令行工具。 10、[goldmark: Go 編寫的 markdown 解析器](https://github.com/yuin/goldmark) 易于擴展,符合標準(CommonMark),結構合理。 11、[go-restful](https://github.com/emicklei/go-restful) 構建 Restful Web Service 的 Go 包。 12、[gitql](https://github.com/cloudson/gitql) git 查詢語言,有點意思! ![](https://raw.githubusercontent.com/polaris1119/golangweekly/master/docs/imgs/issue015/gitql.gif) ## 資源&&工具 1、 [Linux性能調優 by Brendan Gregg on USENIX LISA 2019](https://www.slideshare.net/brendangregg/lisa2019-linux-systems-performance)(英文) 很給力的 Linux 資料,值得收藏查閱。 2、[學習使用 Go 編寫游戲(幾十個免費視頻)](https://gameswithgo.org/)(英文) ![](https://raw.githubusercontent.com/polaris1119/golangweekly/master/docs/imgs/issue015/cover.png) 3、[Ebook: 靜態程序分析](https://cs.au.dk/~amoeller/spa/)(英文) 有功力的可以好好研究研究。 4、[【第 64 期 Go 夜讀】深入淺出 Golang Runtime](https://mp.weixin.qq.com/s/np0jpRNd-IhisEt3XJi4lA) 本次分享將會對 go runtime 的調度,內存分配,gc 做一些細節上的講解,同時也需要參與者對 runtime 有一些初步了解。[文檔完整版](res/gopher-meetup-runtime-yifhao-full.pdf)、[文檔精簡版](res/gopher-meetup-runtime-yifhao-jian.pdf) 5、[Micro 中國站教程](https://github.com/micro-in-cn/tutorials) Micro 中文示例、教程、資料,源碼解讀! ## 訂閱 這個周刊每周日發布,同步更新在[Go語言中文網](http://www.2358f.com/go/weekly)、[微信公眾號](https://weixin.sogou.com/weixin?query=Go%E8%AF%AD%E8%A8%80%E4%B8%AD%E6%96%87%E7%BD%91) 和 [今日頭條](https://www.toutiao.com/c/user/59903081459/#mid=1586087918877709)。 微信搜索"Go語言中文網"或者掃描二維碼,即可訂閱。 ![wechat](https://raw.githubusercontent.com/polaris1119/golangweekly/master/docs/imgs/wechat.png)

入群交流(和以上內容無關):Go中文網 QQ 交流群:729884609 或加微信入微信群:274768166 備注:入群;關注公眾號:Go語言中文網

1858 次點擊  
加入收藏 微博
1 回復  |  直到 2019-11-04 15:47:27
暫無回復
添加一條新回復 (您需要 登錄 后才能回復 沒有賬號 ?)
  • 請盡量讓自己的回復能夠對別人有幫助
  • 支持 Markdown 格式, **粗體**、~~刪除線~~、`單行代碼`
  • 支持 @ 本站用戶;支持表情(輸入 : 提示),見 Emoji cheat sheet
  • 圖片支持拖拽、截圖粘貼等方式上傳