亚洲中文字幕乱码亚洲-蜜桃成熟视频在线观看-免费中文字幕视频在线-中国五十路熟妇洗澡视频-亚洲av伊人啪啪c-国产精品成人一区二区-国产自拍视频一区在线观看-成人一区不卡二区三区四区-亚洲情精品中文字幕99在线

網(wǎng)易首頁(yè) > 網(wǎng)易號(hào) > 正文 申請(qǐng)入駐

尼日利亞程序員花3天測(cè)網(wǎng)速,發(fā)現(xiàn)運(yùn)營(yíng)商數(shù)據(jù)全是「辦公室傳說(shuō)」

0
分享至

尼日利亞拉各斯的程序員阿德昆勒(Adkunle)打開筆記本電腦時(shí),國(guó)內(nèi)四大運(yùn)營(yíng)商MTN、Airtel、Glo、9mobile的用戶正在互相勸退——"Airtel在萊基快""Glo便宜但卡""9mobile我同事說(shuō)穩(wěn)定"。他查了查公開數(shù)據(jù),發(fā)現(xiàn)這些判斷全是口耳相傳,沒人知道伊凱賈(Ikeja)和拉各斯島(Lagos Island)的真實(shí)網(wǎng)速差距。于是他啟動(dòng)了一個(gè)15天DevOps挑戰(zhàn):從零搭建NaijaSpeed,一個(gè)能自動(dòng)識(shí)別運(yùn)營(yíng)商的測(cè)速工具。

3天后,他的GitHub倉(cāng)庫(kù)里躺著的不是優(yōu)雅代碼,而是一串WSL陷阱、CORS報(bào)錯(cuò)和加密貨幣支付限額的翻車記錄。

Day 1:Next.js初始化即翻車,WSL把新手村變成地獄模式

阿德昆勒的棧選型看起來(lái)標(biāo)準(zhǔn)到無(wú)聊:Next.js 14做前端,Vercel托管,Tailwind CSS畫界面,Speedtest庫(kù)測(cè)延遲。他甚至在Notion里畫好了數(shù)據(jù)流圖——用戶點(diǎn)擊按鈕→獲取IP→匹配運(yùn)營(yíng)商→跑測(cè)速→存結(jié)果。直到他運(yùn)行npx create-next-app@latest naija-speedtest,終端彈出一行紅色報(bào)錯(cuò)。

問(wèn)題出在Windows Subsystem for Linux(WSL,Windows的Linux子系統(tǒng))。他的Node版本管理器(nvm)在WSL里指向了Windows路徑,導(dǎo)致全局安裝的包全部失蹤。修復(fù)花了4小時(shí):卸載WSL2、重裝Ubuntu 22.04、重新同步SSH密鑰。他在日志里寫:"我以為DevOps是寫YAML,結(jié)果是先當(dāng)系統(tǒng)管理員。"

更隱蔽的坑是文件系統(tǒng)性能。WSL2的跨文件系統(tǒng)訪問(wèn)(/mnt/c/)讓Next.js的熱重載(Hot Reload)延遲到8秒以上,他一度以為是自己電腦老了。切換到WSL原生目錄(~/projects)后,編譯速度從8秒降到800毫秒——一個(gè)路徑選擇,十倍性能差。

Day 2:CORS把本地調(diào)試變成打地鼠,運(yùn)營(yíng)商API根本沒有公開接口

前端跑通后,阿德昆勒開始解決核心功能:自動(dòng)識(shí)別用戶運(yùn)營(yíng)商。他找到ipinfo.io的免費(fèi)API,本地測(cè)試完美返回"MTN Nigeria"。部署到Vercel后,瀏覽器控制臺(tái)炸出一片紅色:CORS(跨域資源共享)策略阻止了請(qǐng)求。

瀏覽器的安全機(jī)制要求:前端直接調(diào)用的API必須在響應(yīng)頭里聲明允許該域名。ipinfo.io的免費(fèi)套餐不支持自定義CORS頭,Vercel的Serverless Function(無(wú)服務(wù)器函數(shù))又有時(shí)延限制。他試過(guò)三種繞法:Vercel Edge Middleware代理請(qǐng)求(超出免費(fèi)額度)、Next.js API Route轉(zhuǎn)發(fā)(增加200ms延遲)、直接在前端暴露Token(安全風(fēng)險(xiǎn))。

最終方案是妥協(xié):用Next.js API Route做一層轉(zhuǎn)發(fā),緩存結(jié)果5分鐘。但這暴露了更深的問(wèn)題——尼日利亞四大運(yùn)營(yíng)商根本沒有公開的基站覆蓋或?qū)崟r(shí)質(zhì)量數(shù)據(jù)。他翻遍MTN開發(fā)者門戶,找到的只有短信API和企業(yè)賬單接口。Airtel的開發(fā)者頁(yè)面404。Glo和9mobile連頁(yè)面都沒有。

阿德昆勒在日志里吐槽:"我想做'尼日利亞的Speedtest',結(jié)果發(fā)現(xiàn)Speedtest.net能活20年,是因?yàn)檫\(yùn)營(yíng)商愿意給它們數(shù)據(jù)。我沒有這個(gè)選項(xiàng)。"

Day 3:加密貨幣支付限額卡住域名購(gòu)買,他被迫用"土辦法"上線

第三天目標(biāo)是買域名和配置SSL。阿德昆勒沒有國(guó)際信用卡——尼日利亞的銀行外匯管制讓美元支付變得困難。他轉(zhuǎn)向加密貨幣:用幣安(Binance)買USDT,轉(zhuǎn)到Namecheap付款。

Namecheap的加密貨幣通道由BitPay處理,單筆限額100美元。他選的域名+隱私保護(hù)+兩年托管剛好102美元。嘗試拆分訂單失敗,因?yàn)锽itPay要求單筆完整支付。又花了3小時(shí)找朋友代付,對(duì)方PayPal被風(fēng)控拒絕。最終他用尼日利亞本地域名注冊(cè)商(whois.com.ng)完成購(gòu)買,價(jià)格貴40%,但至少接受本地銀行轉(zhuǎn)賬。

SSL證書的配置又遇到WSL陷阱:Certbot的自動(dòng)驗(yàn)證需要80端口開放,WSL的端口轉(zhuǎn)發(fā)在Windows防火墻里隨機(jī)失效。他改用Vercel的自動(dòng)HTTPS,放棄了自己的服務(wù)器方案——一個(gè)技術(shù)決策,被支付基礎(chǔ)設(shè)施倒逼回來(lái)。

三天后的NaijaSpeed:能跑,但數(shù)據(jù)黑洞還在

到Day 3結(jié)束,阿德昆勒的MVP(最小可行產(chǎn)品)上線了:用戶打開網(wǎng)頁(yè),能測(cè)下載/上傳速度,IP識(shí)別勉強(qiáng)工作(準(zhǔn)確率約85%,因?yàn)檫\(yùn)營(yíng)商IP池有重疊),結(jié)果存入Supabase免費(fèi)版。他發(fā)推展示時(shí),評(píng)論區(qū)有人問(wèn):"那拉各斯島和伊凱賈的數(shù)據(jù)對(duì)比呢?"

他回復(fù):「目前樣本量127條,MTN平均下載12Mbps,Airtel 9Mbps,但地理標(biāo)簽精度只有城市級(jí)。我需要用戶手動(dòng)輸入位置,或者等瀏覽器Geolocation API權(quán)限——而后者在尼日利亞安卓機(jī)上默認(rèn)關(guān)閉。」

這個(gè)回復(fù)暴露了項(xiàng)目的核心矛盾:測(cè)速工具的價(jià)值依賴密度足夠高的地理數(shù)據(jù),但獲取精確位置需要用戶信任,而信任需要工具先有價(jià)值。Speedtest.net用了15年積累這個(gè)循環(huán),阿德昆勒有12天。

他的DevOps挑戰(zhàn)還剩12天。下一步計(jì)劃是接入尼日利亞通信委員會(huì)(NCC)的季度報(bào)告做交叉驗(yàn)證,以及用Web Workers讓測(cè)速不阻塞主線程。但更大的問(wèn)題沒寫在TODO里:如果運(yùn)營(yíng)商永遠(yuǎn)不開放數(shù)據(jù),一個(gè)獨(dú)立測(cè)速工具能走多遠(yuǎn)?

特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。

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.

相關(guān)推薦
熱點(diǎn)推薦
港媒曝何超蕸真正死因,百億遺產(chǎn)去向成謎,何鴻燊的話,有人信了

港媒曝何超蕸真正死因,百億遺產(chǎn)去向成謎,何鴻燊的話,有人信了

米果說(shuō)識(shí)
2026-04-13 19:38:54
為啥有錢人屋檐難見燕子?老輩人說(shuō):燕子來(lái)家,是在提醒你3件事

為啥有錢人屋檐難見燕子?老輩人說(shuō):燕子來(lái)家,是在提醒你3件事

老特有話說(shuō)
2026-04-13 14:45:52
紀(jì)實(shí):高二男生在課堂上被活生生打死,死前哭求:我錯(cuò)了,我不說(shuō)了

紀(jì)實(shí):高二男生在課堂上被活生生打死,死前哭求:我錯(cuò)了,我不說(shuō)了

紅豆講堂
2024-12-11 13:42:41
拉夫羅夫稱普京將于今年上半年訪華

拉夫羅夫稱普京將于今年上半年訪華

財(cái)聯(lián)社
2026-04-15 13:48:17
16歲德國(guó)中場(chǎng)神童橫空出世,人稱新克羅斯,10大歐洲頂級(jí)豪門瘋搶

16歲德國(guó)中場(chǎng)神童橫空出世,人稱新克羅斯,10大歐洲頂級(jí)豪門瘋搶

零度眼看球
2026-04-15 09:34:22
莫氏雞煲?guī)凸すべY曝光,引全網(wǎng)羨慕,老莫透露未來(lái)安排,太通透

莫氏雞煲?guī)凸すべY曝光,引全網(wǎng)羨慕,老莫透露未來(lái)安排,太通透

房產(chǎn)衫哥
2026-04-15 14:12:11
從大陸回來(lái),李鴻源感慨:我們連人家的車尾燈都看不見!

從大陸回來(lái),李鴻源感慨:我們連人家的車尾燈都看不見!

有態(tài)度的何總
2026-04-15 12:18:14
4月15日俄烏最新:西班牙求助東大

4月15日俄烏最新:西班牙求助東大

西樓飲月
2026-04-15 18:35:53
全程眼突鼓腮,看了觀眾對(duì)孫儷的評(píng)價(jià),才知張藝謀這句話的含金量

全程眼突鼓腮,看了觀眾對(duì)孫儷的評(píng)價(jià),才知張藝謀這句話的含金量

陳述影視
2026-04-04 17:53:34
希金斯:我預(yù)測(cè)奧沙利文威廉姆斯和我將在55歲失去競(jìng)爭(zhēng)力!

希金斯:我預(yù)測(cè)奧沙利文威廉姆斯和我將在55歲失去競(jìng)爭(zhēng)力!

世界體壇觀察家
2026-04-15 10:34:05
狂砍41+12!NBA歷史第3!拿邊角料換全明星,5換1交易賺大了

狂砍41+12!NBA歷史第3!拿邊角料換全明星,5換1交易賺大了

毒舌NBA
2026-04-15 19:52:29
倒打一耙!美財(cái)長(zhǎng)污蔑:中國(guó)才不可靠

倒打一耙!美財(cái)長(zhǎng)污蔑:中國(guó)才不可靠

觀察者網(wǎng)
2026-04-15 08:40:09
時(shí)隔多年李詠死因被揭開,妻子哈文道破真相,難怪選擇葬身美國(guó)!

時(shí)隔多年李詠死因被揭開,妻子哈文道破真相,難怪選擇葬身美國(guó)!

秋姐居
2026-04-15 17:03:18
亞洲杯:中國(guó)女足0-2日本,媒體人點(diǎn)名表?yè)P(yáng)兩將

亞洲杯:中國(guó)女足0-2日本,媒體人點(diǎn)名表?yè)P(yáng)兩將

小齊艱難度日
2026-04-15 23:54:18
上海老板夫妻命喪自家店鋪,一張帶血手印的《每周廣播電視報(bào)》,讓警方破獲30年前命案

上海老板夫妻命喪自家店鋪,一張帶血手印的《每周廣播電視報(bào)》,讓警方破獲30年前命案

極目新聞
2026-04-15 17:45:11
廣東一女子從窗戶拋撒大量港幣引爭(zhēng)搶!已查明:因親屬病重情緒波動(dòng),錢幣已歸還

廣東一女子從窗戶拋撒大量港幣引爭(zhēng)搶!已查明:因親屬病重情緒波動(dòng),錢幣已歸還

都市快報(bào)橙柿互動(dòng)
2026-04-14 23:04:50
玩偶姐姐真實(shí)容貌曝光:擊敗劉玥的,從不止口罩

玩偶姐姐真實(shí)容貌曝光:擊敗劉玥的,從不止口罩

孤獨(dú)的獨(dú)角獸影視
2026-04-15 09:50:03
全紅嬋爺爺站屋頂看新房進(jìn)度,嬋寶一個(gè)舉動(dòng)感動(dòng)全網(wǎng),心疼被霸凌

全紅嬋爺爺站屋頂看新房進(jìn)度,嬋寶一個(gè)舉動(dòng)感動(dòng)全網(wǎng),心疼被霸凌

流云隨風(fēng)去遠(yuǎn)方
2026-04-13 14:45:51
99年轉(zhuǎn)業(yè)回家半路幫迷路大爺找到了家,3天后,家門口來(lái)了輛軍車

99年轉(zhuǎn)業(yè)回家半路幫迷路大爺找到了家,3天后,家門口來(lái)了輛軍車

Ck的蜜糖
2026-04-15 19:07:34
歐冠1/4決賽次回合結(jié)束 馬德里競(jìng)技總比分3-2淘汰巴塞羅那

歐冠1/4決賽次回合結(jié)束 馬德里競(jìng)技總比分3-2淘汰巴塞羅那

環(huán)球體壇啄木鳥
2026-04-15 23:36:55
2026-04-16 01:20:49
薛定諤的BUG
薛定諤的BUG
有態(tài)度網(wǎng)友ytd
1419文章數(shù) 35關(guān)注度
往期回顧 全部

科技要聞

ChatGPT十億用戶又怎樣?Anthropic直接貼臉

頭條要聞

美航母及1萬(wàn)多士兵將抵中東 特朗普:戰(zhàn)爭(zhēng)或持續(xù)至11月

頭條要聞

美航母及1萬(wàn)多士兵將抵中東 特朗普:戰(zhàn)爭(zhēng)或持續(xù)至11月

體育要聞

三球準(zhǔn)絕殺戴大金鏈:轟30+10自我救贖

娛樂要聞

謝娜現(xiàn)身環(huán)球影城,牽手女兒溫馨有愛

財(cái)經(jīng)要聞

業(yè)績(jī)失速的Lululemon:"健康"人設(shè)崩塌?

汽車要聞

空間絲毫不用妥協(xié) 小鵬GX首發(fā)評(píng)測(cè)

態(tài)度原創(chuàng)

手機(jī)
時(shí)尚
藝術(shù)
親子
軍事航空

手機(jī)要聞

一加Ace6至尊版再次被確認(rèn):魔改天璣9500+165Hz屏,本月發(fā)布!

赫本愛穿的傘裙,好優(yōu)雅!

藝術(shù)要聞

看!波蘭超模阿里亞納的驚艷寫真,身材讓人心動(dòng)不已!

親子要聞

孕婦200買水果被罵后續(xù):已終止妊娠,男方崩潰砸東西,網(wǎng)友炸鍋

軍事要聞

萬(wàn)斯:對(duì)當(dāng)前美伊局勢(shì)進(jìn)展“感到樂觀”

無(wú)障礙瀏覽 進(jìn)入關(guān)懷版