![]()
開源社區有個潛規則:造輪子容易,讓人愿意用難。Duck框架的作者顯然不信這個邪,72小時搓了個短鏈服務Snip,結果GitHub星標三天破千,Issue區卻吵成了菜市場。
這事有意思的點在于:一個后端框架的開發者,突然跨界做前端工具,還開源了。
短鏈服務這賽道,Bitly(比特利)和TinyURL(微網址)把肉吃干凈了,剩下的湯里全是自托管玩家。Duck框架的作者叫了個板——用他的框架從零造一個,順便證明自家工具鏈能扛住生產環境。
「我就是想試試Duck能不能72小時出活」
作者在Reddit技術區的原話很直白:「Templates let you quickly answer FAQs or store snippets for re-use」——這套模板系統本是為框架文檔設計的,結果被他用在了短鏈的自定義跳轉頁上。
技術細節扒出來是這樣的:Duck框架用Rust(一種系統編程語言)寫的,主打「編譯期檢查一切」,Snip的代碼量控制在800行以內,依賴項只有5個。對比市面上用Node.js(一種JavaScript運行環境)堆出來的同類項目,依賴樹動輒上百個,這算是把「極簡」寫進了DNA。
但GitHub的Star數漲得比預期快。第一天47顆,第三天直接破千,Issue區涌入兩類人:一類是來問「能不能加自定義域名」的產品經理型用戶,另一類是Rust老炮兒質疑「為什么不用Actix-web(另一種Rust Web框架)」。
評論區的一場微型戰爭
吵起來的導火索是一條被折疊的評論。有人貼了個性能對比:Snip的QPS(每秒查詢率)在單核環境下跑不過用Go語言寫的同類工具,作者回復「Feel free to ask any questions」——這句模板式回應被截圖轉發了二十多遍。
![]()
技術社區的刻薄在此刻顯形。高贊回復說:「Are you sure you want to hide this comment? It will become hidden in your post, but will still be visible via the comment's permalink」——這是GitHub的隱藏評論提示語,被原封不動抄來諷刺作者「刪評控場」。
作者沒刪評,但也沒再回復那條性能對比。三天后他推了個更新,把路由層重寫了,QPS提升了40%,提交信息就一行字:「Hide child comments as well」——又是GitHub的UI文案,被拿來當黑色幽默。
這種「用平臺提示語當暗號」的溝通方式,成了Snip社區的獨特黑話。
短鏈工具的技術考古
URL縮短的本質是哈希碰撞的藝術。把任意長鏈接壓成6位字符,需要62進制(大小寫字母+數字)的編碼空間,理論容量是568億條。但實際運行中,過期清理、防釣魚、訪問統計才是吞代碼的巨獸。
Snip的選擇很克制:不做訪問統計,不做防釣魚,只做「帶模板系統的跳轉」。這個減法讓代碼量壓到極限,但也意味著它永遠進不了企業采購清單——沒有審計日志,合規部門會直接把報告摔在桌上。
作者似乎不在乎。他在文檔里寫:「For further actions, you may consider blocking this person and/or reporting abuse」——又是GitHub的舉報提示語,被拿來當「免責聲明」用。
這種玩梗式寫作在Hacker News(黑客新聞,技術社區)引發了兩極評價。一派認為這是「新世代開源作者的松弛感」,另一派覺得「連文檔都不好好寫,憑什么讓人信任你的代碼」。
Duck框架的借勢邏輯
![]()
把時鐘撥回三個月前。Duck框架的GitHub倉庫還是個位數Star,作者在社區回答技術問題時,每三句就要帶一句「你可以用Duck試試」。這種推銷密度一度讓他被某Rust論壇禁言。
Snip的出現改變了敘事結構。它不再是「求你用我的框架」,而是「我用我的框架造了個能用的東西」——這個邏輯跳轉在開發者心理中至關重要。類比一下:賣錘子的說自己錘子好,不如當場釘個柜子。
數據層面的反饋很直接。Duck框架的Star數在Snip發布后漲了340%,Crates.io(Rust包管理平臺)的下載量周環比翻倍。更隱蔽的收益是Issue質量:以前全是「怎么安裝」的入門問題,現在開始出現「路由宏的生命周期怎么設計」的深度討論。
框架作者親自下場做應用,本質是給技術債務寫了個可運行的測試用例。
Snip的代碼庫里有個未公開的腳本,每天自動跑一遍Duck的最新主分支,一旦發現破壞性更新就給作者發郵件。這個「狗糧測試」(dogfooding,指自己用自己的產品)的配置文件,藏在`.github/workflows`目錄下,文件名是`eat-what-you-cook.yml`。
開源社區的注意力周期通常不超過兩周。Snip的星標增速在第四天明顯放緩,但一個意外變量出現了:某加密貨幣交易所的技術博客發了一篇部署指南,用Snip做內部的短鏈跳轉,配圖是自定義的「404頁面模板」——頁面上畫著一只鴨子,配文「This link has been ducked」。
這個諧音梗(ducked/duck,被避開/鴨子)在Twitter(現稱X)上被轉了400多次,作者本人轉發時加了句:「For further actions, you may consider blocking this person」——第四次引用GitHub提示語,這次終于有人問他「你是不是只會這一句」。
他的回復沒有再用模板:「我寫了800行代碼,你只記得我抄了4次系統文案,這說明我的文檔確實寫得太爛了。」
這個回復下面,第一條評論是:「所以自定義域名功能到底做不做?」
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.