貓魚周刊 vol. 009 Go 1.22 要來啦!
關(guān)于本刊
這是貓魚周刊的第 10 期,本系列每周日更新,主要內(nèi)容為每周收集內(nèi)容的分享,同時發(fā)布在
博客:阿貓的博客-貓魚周刊[1]
RSS:貓魚周刊[2]
郵件訂閱:貓魚周刊[3]
微信公眾號:貓兄的和諧號列車[4]
Discord:貓兄的和諧號高鐵[5]
私信:[email protected][6]
文章
Go 1.22 新特性
原文鏈接 [7]
Go 1.22 預(yù)計(jì)將于 2024 年 2 月份正式發(fā)布。Go 的 for loop 一直有個坑,如果在 for 循環(huán)中使用循環(huán)變量,會出現(xiàn)在多個協(xié)程中引用了同一個變量的 bug,這個是大家都很關(guān)心的特性。
(這個 bug 如下)
// go 1.21
values := []int{1, 2, 3, 4, 5}
for _, val := range values {
go func() {
fmt.Printf("%d ", val)
}()
}
// Result : 5 5 5 5 5
// go 1.22
values := []int{1, 2, 3, 4, 5}
for _, val := range values {
go func() {
fmt.Printf("%d ", val)
}()
}
// Result: 5 3 4 1 2
Go 1.22 新特性前瞻
原文鏈接 [8]
一篇中文的博客,與第一篇英文的側(cè)重點(diǎn)各有不同。
Go 1.22 Release Notes(Draft)
原文鏈接 [9]
官方的 Release Note,應(yīng)該是最全的 1.22 新特性以及變化。
技術(shù)寫作學(xué)習(xí)路線
原文鏈接 [10]
之前就介紹過 roadmap[11]這個網(wǎng)站,上面有一系列常見職業(yè)/崗位的學(xué)習(xí)路線。最近發(fā)現(xiàn)上新了一個技術(shù)寫作的路線。
我們是怎么丟失了 54K star 的
原文鏈接 [12]
HTTPie 項(xiàng)目因?yàn)樽髡卟恍⌒陌褌}庫設(shè)成了 private 導(dǎo)致丟失了所有的 star,這件事情發(fā)生在 2022 年了,當(dāng)時這篇文章也傳得很火。文章里提出了幾個教訓(xùn)來避免這類事情發(fā)生:
- 改進(jìn) UI/UX 設(shè)計(jì)
- 不要使用硬刪除
- 不要太天真地信任 GitHub 與開發(fā)者的關(guān)系
對于 HTTPie 團(tuán)隊(duì),結(jié)局不是特別好,GitHub 的態(tài)度一般,沒有幫他們恢復(fù)(作者認(rèn)為 GitHub 完全是有能力做到的,因?yàn)樗麄兘o自己恢復(fù)過,后來也給別的團(tuán)隊(duì)恢復(fù)過),只發(fā)了一條推文[13]。
這件事情的后續(xù)也比較有意思。首先是這個項(xiàng)目現(xiàn)在(2024 年 1 月)已經(jīng)恢復(fù)到 30K star 了,說明社區(qū)的力量還是很強(qiáng)大的;其次是 GitHub 真的修改了他們的 UI,使得現(xiàn)在刪除前能更好知道自己的操作有什么具體的影響;最后是另外一個被刪除的團(tuán)隊(duì)的 star 得到了 GitHub 的恢復(fù)。
項(xiàng)目
Portkey-AI/gateway
Portkey-AI/gateway - GitHub
一個 AI 網(wǎng)關(guān),類似 one-api,都支持通過 OpenAI 的接口對接到不同 AI 服務(wù)。區(qū)別是支持負(fù)載均衡、回落和自動重試,比起 one-api 要更加穩(wěn)定。
bloomberg/memray
bloomberg/memray - GitHub
一個 Python 的內(nèi)存分析工具,可以分析出火焰圖等等,幫助優(yōu)化內(nèi)存占用。
工具/網(wǎng)站
PHP 沙箱
網(wǎng)站鏈接:PHP Sandbox - Execute PHP code online through your browser[14]
之前一期我提到過一些在線的代碼運(yùn)行網(wǎng)站,最近又找到一個可以“對比多個 PHP 版本間運(yùn)行差異”的,可以勾選多個 PHP 版本,同時運(yùn)行,對比他們的差異。PHP 8 之后等于的判斷與之前的版本有比較大的差別,在這個網(wǎng)站上就能方便地上手試試了。
幾個 PaaS 平臺
- Zeabur - Deploying your service with one click[15]
- Sealos: 專為云原生開發(fā)打造的以 K8s 為內(nèi)核的云操作系統(tǒng)[16]
- Cloud Application Hosting for Developers | Render[17]
幾個對 Hobby 級別開發(fā)者非常友好的 PaaS 平臺(類似 Vercel),都支持多種語言或基于容器部署。他們的部署流程和特性都很類似:
- (Zeabur)根據(jù) Dockerfile 構(gòu)建或從公共倉庫選取鏡像
- 使用鏡像部署
- 提供修改環(huán)境變量、日志查看等功能
- 提供二級域名或自定義域名(使用 CNAME)
- 按照實(shí)際使用 CPU 和內(nèi)存等資源收費(fèi),提供一定免費(fèi)額度
想法
馬太效應(yīng)與先發(fā)優(yōu)勢
馬太效應(yīng)典出《馬太福音》,原文為:
凡有的,還要加給他,叫他有余;凡沒有的,連他所有的也要奪去。
1968 年,美國社會學(xué)家羅伯特·莫頓提出這個術(shù)語用以概括一種社會心理現(xiàn)象:“相對于那些不知名的研究者,聲名顯赫的科學(xué)家通常得到更多的聲望,即使他們的成就是相似的,同樣地,在同一個項(xiàng)目上,聲譽(yù)通常給予那些已經(jīng)出名的研究者,例如,一個獎項(xiàng)幾乎總是授予最資深的研究者,即使所有工作都是一個研究生完成的?!?/p>
在 LLM 領(lǐng)域,OpenAI 的 GPT 不一定是性能最好的,但是卻是最出圈的。由于它的先發(fā)優(yōu)勢,大家談起 LLM 、AI 等等都會先想起 ChatGPT;同時,在別的公司推出自己的 LLM 產(chǎn)品后,由于 OpenAI 的生態(tài)已經(jīng)有完善的 SDK 等,其他公司的產(chǎn)品也或多或少將自己的 API 向 OpenAI 靠近;或就是有開發(fā)者做了兼容其他 LLM,但使用 OpenAI 接口格式的網(wǎng)關(guān)。
參考資料 [1]阿貓的博客-貓魚周刊: https://ameow.xyz/categories/weekly
[2]貓魚周刊: https://ameow.xyz/feed/categories/weekly.xml
[3]貓魚周刊: https://quail.ink/ameow
[4]貓兄的和諧號列車: http://img.ameow.xyz/202401141448662.png
[5]貓兄的和諧號高鐵: https://discord.gg/5G5Nbtuz
[6][email protected]: mailto:[email protected]
[7]原文鏈接: https://medium.com/@yuseferi/new-features-that-you-should-expect-in-go-1-22-91ae3ec0da95
[8]原文鏈接: https://tonybai.com/2023/12/25/go-1-22-foresight/
[9]原文鏈接: https://tip.golang.org/doc/go1.22
[10]原文鏈接: https://roadmap.sh/technical-writer
[11]roadmap: https://roadmap.sh/
[12]原文鏈接: https://httpie.io/blog/stardust
[13]推文: https://twitter.com/github/status/1493329046708670475
[14]PHP Sandbox - Execute PHP code online through your browser: https://onlinephp.io/
[15]Zeabur - Deploying your service with one click: https://zeabur.com?referralCode=LeslieLeung
[16]Sealos: 專為云原生開發(fā)打造的以 K8s 為內(nèi)核的云操作系統(tǒng): https://sealos.run/
[17]Cloud Application Hosting for Developers | Render: https://render.com/
