網路黑手的呢喃 - #63
主題:截稿前 Next.js 出大包、ByteDance 丟出自家的 react-native 競品、AI 崛起的另類創意、TypeScript 移植到 Golang,然後就炎上了 😅
截稿前 Next.js 出大包
流量密碼必須掌握 🤣
推上看到有人貼出 Next.js 的重大安全性議題,只要 x-middleware-subrequest 這個 header 設為 false 就可以跳過後續的中間層的行為,導致後續的驗證行為等同無效。關於這個事件也有許多大大整理的詳細的時間軸、問題核心的程式碼,以及詳細的整理資料可以參考。
Authorization Bypass in Next.js Middleware
也有其他開發者做了一些補充,譬如只有完全依賴 middleware 來驗證這種行為,才會被影響,此外 Vercel 官方也說明代管的服務不會有這個問題,只有 self-hosted 的服務才會受到這個安全性問題的影響。被標上 Critical 當然就代表是非常嚴重的問題,畢竟這漏洞無疑代表所有驗證的行為都失效,可能造成後續私密資料外洩,不過除了不少開發者提到這個誇張的漏洞之外,沒想到還會出現許多意想之外的 drama 😅
首先是 Cloudflare 跟 Vercel 就「安全」這個議題就戰起來了 😅(直接看到兩個 CEO 在推上互酸)
這篇一定要來個截圖,怕之後高機率被刪 😅
然後換不甘寂寞的 Replit 接力上陣,開始砲 Next.js 長期以來給其他使用者帶來的痛苦,說了他們更願意採用(前陣子提過的)OpenNext 這類的開放替代。結果 Vercel CTO 回擊說你們擺明就是爽爽用。
接著就是開發者們的互相表態忠誠度的時間啦~ 😆另外也開啟了 Next.js 許多針對自家平台的特性,以及針對侵蝕 React 開發者取得話語權的問題之類。
ByteDance 丟出自家的 react-native 競品
前幾天就看到一些相關開發者已經開始在鋪埂,果然後來丟出這個酷酷的東西。
這個名為 Lynx 的專案,就是字節自家的 react-native 方案,一樣是針對跨平台的開發框架,不過雖然目的類似,不過實作跟架構都有相當的不同,然後根據他們自家人的說法,目前 ByteDance 旗下許多的 native app 都是透過 Lynx 開發的,這個火力展示就相當猛了。😃
Today, Lynx powers an extremely wide spectrum of surfaces—from the lightweight, high-frequency **Search** panel to full-fledged [**TikTok Studio**](https://support.tiktok.com/en/using-tiktok/creating-videos/tiktok-studio) app; from complex e-commerce storefronts like **Shop** that demand reliability and trust, to highly engaging experiences like **LIVE**, as well as powering high-profile events and cultural moments such as [**Disney100 on TikTok**](https://newsroom.tiktok.com/en-us/disney-100) and [**The Met Gala on TikTok**](https://newsroom.tiktok.com/en-us/tiktok-goes-to-the-met-gala).
對細節有興趣的話,可以直接去啃他們釋出的專案內容跟規格書,裡面有很詳細的資料。特別看到一個有趣的是他們採用了 multithreaded engine 的架構來處理不同的需求(所以如上文提到,他們自己還實作了另一個 js runtime - primjs(從 QuickJS 分支出來)。
雖然也是有看到一些對架構上的疑慮,不過感覺是個已經經過市場驗證的新框架,如果 ByteDance 真的持續開發、維護下去,說不定後續值得期待。👀
AI 崛起的另類創意
伴隨著 AI 崛起,目前除了五花八門的應用之外,Edge AI 這塊好像也漸漸成為各家廠商必爭之地,譬如像剛結束的 GTX,Nvidia 端出的 Spark & Station,考慮到後續 AI 應該會走向多模型混合的使用方式,這類的產品應該會相繼出爐才對。
不過雖然是已經面向一般工作室或小型企業,$3,000 美元的售價有時候也不是每個企業主都能夠接受的價位,所以也會出現更多實惠或是自己動手的方案。譬如下面這個自己設計的四顯卡(他有開源出來有興趣的也可以自己弄一套出來),甚至是原本做模組化筆電的 Framework 都推出了桌上型的工具機。
TypeScript 移植到 Golang,然後就炎上了 😅
記得那天真的是第一時間看到這個影片被丟出來,本來以為是要推出什麼酷酷的新功能來達到增速,沒想到居然原本是自舉的 Typescript 編譯器 tsc 宣布移植到 Golang 了,因為太過震驚所以當下發了這篇廢文。🤣
不過後來的走向變成「為什麼不用 rust」vs「rust 都是一群自嗨的傢伙」這個方向,甚至還有上升到如下這類開始互相攻擊的言論,覺得真的是夠了…。
其實後續有許多說明,大大自己也在訪談中提到,其實重點是因為 RePorting 而不是重寫,所以為了維護兩個語言的工作,採用最貼近的語言(但又可以改善效能問題),綜合這些因為答案就呼之欲出了~(這篇 Github 上面的回覆應該是非常清楚,有興趣可以前去拜讀一下)。
Why Go? · microsoft typescript-go · Discussion #411
另外也看到一位之前 npm 後來跳去 MS 寫 rust 的大大也出來稍微講了這件事,有來詢問以及綜合目標的確是 Golang 為目前最好的選擇。
老實說這種神仙打架輪不到我這種 nobody 來品頭論足什麼,只要工具好用、跑起來更友善、更爽,誰還在乎到底是用什麼寫的,當基本教義派最無聊了(當然身為 rust 粉還是期盼有一條支線是真的打算用 Rust 重寫過,還是期待 voidzero 有沒有機會 🤣
最近是不是該開始試試 bun 了 😅
也是一個無意間看到這篇講述到 Bun 的自幹策略,跟自己一直的感覺蠻契合的,看起來應該是坐實了幾分自己的猜測。對 Bun 有興趣的開發者也可以看看,其實如果有關注應該知道他們推了許多只有自家有的 API,而且他們也沒打算要考慮相容的問題(除了 Node.js/npm 生態,畢竟他們的目標是 drop-in replacement)。
我自己最近的確是也想來試試看 Bun 的成熟度,效率的部分看起來倒是不需要太擔心,畢竟常常看到作者 benchmark 連發,他們應該是非常看重這部分。
這是什麼酷酷的東西 👀
雖然現在看到 AI 的應用已經開始產生反感 😅,不過因為是 Rust 議題追蹤已久的大大,加上看到關鍵字「和 Claude 合作」,所以還是點開來看了一下這個酷酷的東西到底是什麼。
根據作者的描述,他已經算是另一種語言了,應該說更貼近 DSL,自己看了範例稍微玩一下的感覺,有點「整合 AI 開發、目標是網路服務的腳本語言工具 」的形狀。
所以看起來目前有幾個特性:
- 類腳本語言,所以不像爸媽 rust 一樣這麼麻煩,寫起來更像 JS/TS 的感覺,但該有的也是都有:型別、條件式判斷、借鏡爸媽的好物、模組,甚至還有標準函式庫。
- 目標開發網路服務:目前看範例一個簡單的後端應該沒問題了,該有的路由、檢查、資料庫、驗證等功能都支援了。
- 整合 AI 開發:這應該是它的特點之一了,可以直接在程式碼呼叫 AI Prompt、對應的錯誤處理、可以包裝成函式便於重用,以及甚至還支援到 Agent 的功能。
網路是個好東西
好想玩但是沒辦法
不解釋,因為到現在前作都還躺在收藏庫裡面 😭
直接打臉 LeetCode
看到這件事只有覺得爽(不過我是酸葡萄啦,因為我絕對是考不過的 😅),但這種只為面試的畸形產物,消失可能比較好一點。
邦妮子每週都要更好一點 😆
也未免太有心了 😂
用 board game 收服不洗碗的室友,太強!
https://www.instagram.com/reel/DGgHCsPuI7I/
天海女王就是這麼帥
是說演藝界手腳不乾淨的人真的超級多,隨時隨地都在亂來 😡