Go 版 ElasticSearch 升級:由之前的 Zinc 改為 ZincSearch
這里記錄每周值得分享的 Go 語言相關(guān)內(nèi)容,周日發(fā)布。本周刊開源(GitHub:polaris1119/golangweekly[1]),歡迎投稿,推薦或自薦文章/軟件/資源等,請提交 issue[2] 。
鑒于一些人可能沒法堅持把英文文章看完,因此,周刊中會盡可能推薦優(yōu)質(zhì)的中文文章。優(yōu)秀的英文文章,我們的 GCTT 組織會進(jìn)行翻譯。
由于微信公眾號不支持外鏈,文中大量鏈接可通過文末「閱讀原文」查看。

題圖:ZincSearch,Go 版 ElasticSearch
資訊
Go 官方發(fā)布了 Go1.20.1 和 Go1.19.6,這是兩個小版本,主要涉及到安全更新,一共修復(fù)了 4 個 Bug。
2、noti 3.7 發(fā)布[3]
監(jiān)聽進(jìn)程并觸發(fā)通知。
3、ZincSearch 0.4 發(fā)布[4]
全文搜索引擎,可作為 elasticsearch 的替代品,之前叫做 Zinc。
4、imagor v1.4.0 發(fā)布[5]
用 Go 和 libvips 編寫的高性能圖像處理服務(wù)器。
5、tinygo 0.27.0 發(fā)布[6]
這是一個基于 LLVM 的、用于一些特定小場景的 Go 編譯器,比如 WebAssembly、Microcontrollers 和 命令行工具等。
6、Watermill v1.2 發(fā)布[7]
事件驅(qū)動應(yīng)用開發(fā)框架。
7、istio 1.17發(fā)布[8]
服務(wù)網(wǎng)格領(lǐng)頭羊。
文章
一篇 Protobuf 的基礎(chǔ)教程,以及一篇 通信模式 的文章。
在涉及到 Accept/Read/Write 之類的操作時,Go net 庫默認(rèn)使用了非阻塞的方式去實現(xiàn),這樣提高了性能,但給編程增加了額外的復(fù)雜度。
3、使用 Go 和 Sqlite 建立一個短網(wǎng)址服務(wù)[9]
一篇介紹性文章。
4、DDD 在 Go 中的落地 | 如何在業(yè)務(wù)中使用領(lǐng)域事件?
在實際的建模中,一般會通過事件風(fēng)暴的形式,來發(fā)現(xiàn)、提取領(lǐng)域事件。
開源項目
1、purego[10]
非 CGO 方式調(diào)用 C 函數(shù)。
2、sonnet[11]
另一款以速度見長的 JSON 解析器。
3、entrefine[12]
Entgo 的擴(kuò)展,用于生成帶有 CRUD 操作的簡化管理儀表板,所有這些都基于你的模式定義。
資源&&工具
1、go-pretty[13]
在終端上漂亮地打印表格、列表和文本。
2、gofumpt[14]
更嚴(yán)格的 gofmt。
3、q[15]
一個微型命令行 DNS 客戶端,支持 UDP、TCP、DoT、DoH、DoQ 和 ODoH。
4、tinyglobo[16]
一個小氣球飄進(jìn)了偉大的大世界,拖著一個用 TinyGo 編程的 RP2040。
5、algia[17]
nostr 協(xié)議的 CLI 客戶端。
6、gofs[18]
一個開箱即用的基于 Go 的跨平臺文件同步工具。
訂閱
這個周刊每周日發(fā)布,同步更新在Go語言中文網(wǎng)[19]和微信公眾號[20]。
微信搜索"Go語言中文網(wǎng)"或者掃描二維碼,即可訂閱。
參考資料
polaris1119/golangweekly: https://github.com/polaris1119/golangweekly
[2]提交 issue: https://github.com/polaris1119/golangweekly/issues
[3]noti 3.7 發(fā)布: https://github.com/variadico/noti
[4]ZincSearch 0.4 發(fā)布: https://github.com/prabhatsharma/zinc
[5]imagor v1.4.0 發(fā)布: https://github.com/cshum/imagor
[6]tinygo 0.27.0 發(fā)布: https://github.com/tinygo-org/tinygo
[7]Watermill v1.2 發(fā)布: https://threedots.tech/post/watermill-1-2/
[8]istio 1.17發(fā)布: https://istio.io/latest/news/releases/1.17.x/announcing-1.17/
[9]使用 Go 和 Sqlite 建立一個短網(wǎng)址服務(wù): https://blog.pratimbhosale.com/building-a-url-shortener-using-go-and-sqlite
[10]purego: https://github.com/ebitengine/purego
[11]sonnet: https://github.com/sugawarayuuta/sonnet
[12]entrefine: https://github.com/diazoxide/entrefine
[13]go-pretty: https://github.com/jedib0t/go-pretty
[14]gofumpt: https://github.com/mvdan/gofumpt
[15]q: https://github.com/natesales/q
[16]tinyglobo: https://github.com/hybridgroup/tinyglobo
[17]algia: https://github.com/mattn/algia
[18]gofs: https://github.com/no-src/gofs
[19]Go語言中文網(wǎng): https://studygolang.com/go/weekly
[20]微信公眾號: https://weixin.sogou.com/weixin?query=Go%E8%AF%AD%E8%A8%80%E4%B8%AD%E6%96%87%E7%BD%91
