慣性聚合 高效追蹤和閱讀你感興趣的部落格、新聞、科技資訊
閱讀原文 在慣性聚合中打開

推薦訂閱源

博客园 - 司徒正美
V
V2EX
T
Tailwind CSS Blog
有赞技术团队
有赞技术团队
aimingoo的专栏
aimingoo的专栏
Apple Machine Learning Research
Apple Machine Learning Research
IT之家
IT之家
Blog — PlanetScale
Blog — PlanetScale
A
About on SuperTechFans
月光博客
月光博客
T
The Blog of Author Tim Ferriss
宝玉的分享
宝玉的分享
Martin Fowler
Martin Fowler
博客园 - 聂微东
The GitHub Blog
The GitHub Blog
V
Visual Studio Blog
WordPress大学
WordPress大学
酷 壳 – CoolShell
酷 壳 – CoolShell
Engineering at Meta
Engineering at Meta
GbyAI
GbyAI

阮一峰的网络日志

科技爱好者周刊(第 396 期):互联网通信的替代方案 科技爱好者周刊(第 396 期):互联网通信的替代方案 - 阮一峰的网络日志 科技爱好者周刊(第 395 期):软件开发的第三种方式 科技爱好者周刊(第 395 期):软件开发的第三种方式 - 阮一峰的网络日志 科技爱好者周刊(第 393 期):脑腐状态 科技爱好者周刊(第 392 期):axios 投毒与好莱坞式骗术 科技爱好者周刊(第 391 期):AI 的贫富分化 科技爱好者周刊(第 390 期):没有语料,大模型就是智障 套壳中国大模型撑起500亿美元估值?扒一扒 Cursor 的"套壳"疑云 科技爱好者周刊(第 389 期):未来如何招聘程序员 科技爱好者周刊(第 388 期):测试是新的护城河 零安装的"云养虾":ArkClaw 使用指南 科技爱好者周刊(第 387 期):你是领先的 科技爱好者周刊(第 386 期):当外卖员接入 AI 字节全家桶 Seed 2.0 + TRAE 玩转 Skill 科技爱好者周刊(第 385 期):马斯克害怕中国车企吗? 智谱旗舰 GLM-5 实测:对比 Opus 4.6 和 GPT-5.3-Codex 科技爱好者周刊(第 384 期):为什么软件股下跌 科技爱好者周刊(第 383 期):你是第几级 AI 编程 Kimi 的一体化,Manus 的分层 科技爱好者周刊(第 382 期):独立软件的黄昏 AI native Workspace 也许是智能体的下一阶段 科技爱好者周刊(第 381 期):中国 AI 大模型领导者在想什么 科技爱好者周刊(第 380 期):为什么人们拥抱"不对称收益" 科技爱好者周刊(第 379 期):《硅谷钢铁侠》摘录 我如何用 AI 处理历史遗留代码:MiniMax M2.1 升级体验 科技爱好者周刊(第 378 期):预测是新的互联网热点 科技爱好者周刊(第 377 期):14万美元的贫困线 科技爱好者周刊(第 376 期):太空数据中心的争议 科技爱好者周刊(第 375 期):一扇门的 Bug 终于有人做了 Subagent,TRAE 国内版 SOLO 模式来了 科技爱好者周刊(第 374 期):6GHz 的问题 VS Code 使用国产大模型 MiniMax M2 教程 科技爱好者周刊(第 373 期):数据模型是新产品的核心 国产大模型接入 Claude Code 教程:以 Doubao-Seed-Code 为例 科技爱好者周刊(第 372 期):软件界面如何设计 大模型比拼:MiniMax M2 vs GLM 4.6 vs Claude Sonnet 4.5 科技爱好者周刊(第 371 期):一个乐观主义者的专访 科技爱好者周刊(第 370 期):正确的代码高亮 错误处理:异常好于状态码 科技爱好者周刊(第 369 期):Tim 与罗永浩的对谈 科技爱好者周刊(第 368 期):不要这样管理软件团队 一天之内,智谱和 Anthropic 都发了最强编程模型 科技爱好者周刊(第 367 期):Nano Banana 的几个妙用 科技爱好者周刊(第 366 期):旧金山疯狂的 AI 广告 科技爱好者周刊(第 365 期):流量变现正在崩塌 科技爱好者周刊(第 364 期):最难还原的魔方 科技爱好者周刊(第 363 期):最好懂的神经网络解释 科技爱好者周刊(第 362 期):GitHub 工程师谈系统设计 科技爱好者周刊(第 361 期):暗网 Tor 安全吗?
科技愛好者週刊(第 292 期):所有代碼都是技術債
阮一峰 · 2024-03-08 · via 阮一峰的网络日志

這裡記錄每週值得分享的科技內容,週五發佈。

本雜誌開源,歡迎投稿。另有《誰在招人》服務,發佈程序員招聘信息。合作請郵件聯繫[email protected])。

封面圖

意大利佛羅倫薩新機場,宣佈了設計方案。候機樓頂部將有一個7.7公頃的葡萄種植園,用來釀造當地著名的葡萄酒。(via

所有代碼都是技術債

代碼是公司的資產,公司總是鼓勵大家多寫代碼。但是,很多人(尤其是管理層)沒有意識到,代碼也是負債

代碼越多,債越多,這就是程序員常說的"技術債"。

今天我想談談,什麼是"技術債"?為什麼你擁有的代碼太多,不是一件好事。

"技術債"(technical debt)源自著名程序員沃德·坎寧安(Ward Cunningham)的一篇文章。他寫了一句話:"交付代碼就像負債累累。"

你的代碼一旦進入生產環境,就像背上一筆債務,將來需要不斷支付利息,除非代碼不再使用。

這個比喻獲得了共鳴,人們把代碼帶來的負擔,稱為"技術債"

為什麼代碼好比負債累累?這有兩個原因。

第一個原因是,由於各種限制,代碼的實現有問題,包含了 Bug,或者選擇了有問題的組件,後期需要修改或重寫。

第二個原因是,即使代碼是完美的,但由於技術進步,它會逐漸腐化過時,後期需要不斷維護和更新,這通常比原始開發成本更高。

這意味著,無論多麼小心,上線的代碼總是有"技術債"。 可以這樣說,所有的代碼都是技術債

"技術債"的可怕之處,在於你必須按時償還,如果拖著不還,它就會像雪球一樣越滾越多,維護成本越來越高,直到再也無法維護,只能放棄這段代碼。

既然所有代碼都是技術債,程序員寫代碼時,就必須考慮到它的長期成本,儘量減輕自己或別人日後的負擔(利息)。

一個基本的事實是 代碼越少,技術債越小;沒有代碼,就沒有技術債。從這個角度看,軟件開發的正確做法是下面兩點。

(1)冗餘的代碼都要刪除。

(2)只實現那些必須實現的功能,除非絕對必要,不要引入新功能。新功能必然帶來新的代碼,而且新功能一旦添加,就很難廢除,總是會保留下來。

葫蘆 AI

主流的 AI 模型,目前都是收費制。如果同時使用多個模型,每月是一筆不小的費用,而且過程很麻煩。

  • GPT-4:20美元/月
  • 文心一言:49.9元人民幣/月
  • Midjourney:10美元/月
  • DALL-E:每張圖片0.02美元

國內新出的"葫蘆 AI"(HuLu AI),嘗試解決這個問題。它在同一個界面,提供上面四個模型的訪問,相當於"四合一"的國內鏡像。

這個服務剛剛推出,目前處在推廣期,優惠力度很大,只要298元,就可以永久無限量使用,免除逐一訪問 GPT4 / 文心一言 / Midjourney / DALL-E 的麻煩,而且訪問速度快。

葫蘆 AI 希望通過週刊,向國內的開發者介紹自己。推廣期結束後,他們將恢復原價498元。

它有試用點數,只要掃描上方海報的二維碼,就可以免費試用。大家覺得效果滿意,再考慮付費。

如果你對 AI 還不熟悉,葫蘆 AI 還免費贈送學習資料。掃描上方二維碼時,微信添加助理,就可以領取 【Sora 入門手冊】 + 【ChatGPT 提示詞大全】 + 【AI 變現案例實戰手冊】 的 AI 資料包。

科技動態

1、USB 止癢器

市場上出現了一種奇特的 USB 設備,當你被蚊蟲叮咬後,它可以用來止癢。

你把它插入手機的 USB-C 口,然後用 App 可以控制它的發熱。

當它發熱以後,將其貼在被咬處,等同於熱敷,很快就不癢了。

這麼一個小玩意,在亞馬遜的售價居然為30英鎊(270元人民幣)。

2、無音爆的超音速客機

目前,世界上沒有超音速客機,因為超音速飛行會產生音爆,影響城市居民的生活。

美國宇航局正在開發一種沒有音爆的超音速客機,並且已經生產出了一架原型機。

這架飛機長約30米,細長的圓錐形機頭幾乎佔其整架飛機的三分之一。據說這種結構可以消除導致音爆的衝擊波。

由於它的機頭太長,駕駛室幾乎位於整機二分之一的位置。這樣的超音速飛機即使沒有音爆,也載不了多少乘客吧。

3、單葉片風力發電機

傳統的風力發電機有三個葉片。

一家荷蘭公司發明了單葉片的風力發電機。

它裝在浮標上面,水底下是一個大桶,通過鐵鏈固定在海床上。

因為它是浮動的,根據風力和風向的不同,它跟海平面的角度也在隨時發生變化。

它的優點主要是,製造和安裝的成本低。目前處於測試階段,順利的話將會大規模部署。

4、車貸防拖欠專利

汽車貸款逾期不還,怎麼辦?福特汽車申請了一項專利,專門對付不還車貸的人。

在貸款償還期前後,車輛會發出多次付款提醒。如果置之不理,車輛就會開始失去一些功能,比如空調、GPS、車窗控制等等。

每當車主出現在車內時,車輛就發出語音提醒,要你還款。

如果車主還是不還車貸,這個專利還有一個終極大招:車輛會自動開回停車場或者拖車點,讓福特公司拖走回收。

文章

1、OpenAI 回應馬斯克的長文(中文)

馬斯克起訴 OpenAI,稱後者違背開源承諾,成為微軟的盈利性子公司。

這篇是 OpenAI 長篇回應的中文翻譯(英語原文),透露了很多內幕。主要內容是 AI 需要大量算力和資金,所以不得不成立盈利性部門,馬斯克當年對此知情,並表示支持。

2、Perplexity 會是"搜索的未來"嗎?(中文)

英偉達 CEO 黃仁勳向媒體透露,他每天都使用 AI 工具 Perplexity 進行搜索。本文介紹這個對話式搜索引擎。

3、入行 15 年,我還是覺得編程很難(中文)

騰訊技術專家對其15年程序人生的思考,總結了8點經驗看法。

4、100萬級安裝量的開源作品,一年有多少打賞收入?(中文)

作者在自己的開源作品裡面,放了一個讚賞碼,一年帶來330元的收入。(@xxxily 投稿)

5、HTML 的 Switch 控件(英文)

Safari 17.4 引入了一個新的表單控件"滑塊開關"(switch),從而將 iPhone 的這個控件帶入了網頁。

6、為什麼我選擇 Tauri 而不是 Electron(英文)

作者本來使用 Electron 開發跨平臺桌面應用,後來改成了 Tauri。本文講述了原因,以及他的感受。

7、text-wrap 的換行控制(英文)

長文本的自動換行,由 CSS 的 text-wrap 屬性控制。本文討論如何使用這個屬性,讓標題產生更美觀的自動換行。

8、計算機從哪裡獲取時間?(英文)

計算機從 NTP(時間服務器)獲取當前時間,但是 NTP 的時間又從何而來?本文圖文形式地介紹人類如何確定時間。

9、如何在 Windows 上測試 Safari(英文)

蘋果的 Safari 瀏覽器現在沒有 Windows 版,本文教你一種方法,依然可以在 Windows 上測試這個瀏覽器。

工具

1、Ente

一個雲相冊軟件,Google Photos 和 iCloud Photos 的替代品,以前是閉源產品,最近剛剛開源。

它的主要特點是提供端對端加密。其他的雲相冊軟件,還有 ImmichPhotoPrism

2、Earthly

一個開源的 CI/CD 框架,可以在本地架設自動構建服務。

3、Vikunja

一個開源的代辦事項(to-do)App,提供多種視圖,有 Web 版和桌面版,還可以自己架設。

4、日語短文排版小工具

一個在線工具,生成漂亮的日文排版,支持橫豎版式、自動假名標註、深淺兩種主題、字體配置、高亮、下劃線、字體等。(@miusuncle 投稿)

5、Web-Check

開源的網站分析工具, 可以分析網站的 IP 信息、SSL 鏈、DNS 記錄、Cookie、域名信息、服務器位置、網站性能等,查看 Demo。(@WFANG12719 投稿)

6、ImageTools

AI 一鍵摳圖(去除背景)的在線工具。(@handsometong 投稿)

7、zz-plan

甘特圖/橫道圖的在線製作工具。(@lizhichao 投稿)

8、Windows in container

Docker 容器裡運行 Windows 系統,可選擇 Win7,Win10,Win11 等,支持自動激活,還支持遠程桌面連接。(@wrenashe 投稿)

9、Rsdoctor

一個 JS 構建器的分析工具,能夠查看構建產物的模塊關係,並分析構建器對代碼的更改,支持 Rspack 和 Webpack。(@easy1090 投稿)

10、Photo Relay

一個封面圖片製作的在線工具。 Demo。(@zobor 投稿)

11、opfs-tools

瀏覽器私有文件系統 OPFS API 的一個封裝庫,提供更簡單好用的 API。(@hughfenghen 投稿)

12、ast-grep VSCode

一個使用正則表達式進行代碼搜索、替換的 VSCode 插件。(@HerringtonDarkholme 投稿)

掘金動手實驗室

學習新技術,最重要的就是動手實操,但是這樣的機會比較少,你不一定能遇到讓你嘗試的場景。

本週有一個好消息,掘金動手實驗室(JUEJIN Code Lab) 正式推出啦!

它是一個新技術實操為主題的系列活動,致力於理論知識轉化為實際應用,並讓參與者之間進行技術交流。

它由稀土掘金技術社區精心策劃,與眾多領先的工具和平臺廠商攜手合作,將涵蓋多個技術領域,確保每一位參與者都能找到自己感興趣的內容。

第一期活動的主題,就是現在最熱門的 AI,由稀土掘金社區和釦子(coze.cn)共同發起。本次活動通過動手實操的方式,讓你的想法和創意在 AI 的幫助下落地。

活動分為3月16日的北京場和3月30日的深圳場,地點就在北京/深圳的字節工區。

所有線下參與的同學,除了能夠接觸 AI 開發以外,還都有機會獲得掘金的豐富禮包、以及釦子(coze.cn)的官網推薦、API 內測和官方訪談。

歡迎大家點擊鏈接,或者掃碼海報的二維碼,報名參與,進行 AI 開發實操。

資源

1、一譯

用戶可以在該網站搜索或者上傳 arXiv 論文(暫時只支持 HTML 版本的論文),它會自動機器翻譯,提供對照閱讀。(@yiyibooks 投稿)

2、京墨

一個開源的安卓 App,隨身的古詩文、歇後語、成語、繞口令等等的圖書館。(@hefengbao 投稿)

3、OpenMoji

這個項目收集各種開源的 Emoji,開發者和設計師可以提交自己的作品。

4、Docker Compose Examples

這個倉庫收集各種常用的 Docker Compose 配置文件。

5、學習 x86-64 彙編語言

一本英文的彙編語言入門教材,以 Ubuntu 平臺為例。

圖片

1、落葉藝術

一個歐洲藝術家在公園裡,把落葉整理成各種奇怪的形狀,讓公園有了更多的趣味。

2、最後的快車

《最後的快車》(The Last Express)是上個世紀末發行的一款電子遊戲。

它講述了一個美國人在1914年,登上最後一班從巴黎到伊斯坦布爾的"東方快車"的故事。

整個遊戲場景,都發生在車廂內。下面是真實車廂的歷史照片。

遊戲設計師根據這張照片,進行建模,以數字形式還原了當時的場景。

文摘

1、有些人就像 ChatGPT

大家都說 ChatGPT 像人,但是我覺得,還有另一方面,那就是有些人很像 ChatGPT,尤其是在學術界。

ChatGPT 不理解任何材料,但可以利用這些材料,快速找到問題的合理答案。它會綜合和模仿,有時表現得非常令人信服,就像某個知識淵博的人在談論某個主題。

學術界的很多人也是這樣,他們很聰明,吸收了說話和構建理論的方法,並且善於聽起來令人信服。

但是,如果你問一個探索性的問題,就會發現他們的理解很少,一切侃侃而談都是表面的,沒有深度。這都是模仿而不是真正的思想,他們只是故意讓別人覺得似乎有道理。

許多領域的許多人,表現得就像 ChatGPT 的真人版,特別是在那些不做太多實證工作、不涉及對事實或假設進行檢驗的學科。他們製造的文本越多,就越危險。

這種人有很多明顯跡象,比如使用非常籠統的術語,以及聽起來巧妙的表述或行話,內容裡面很少有事實,例子也很少或者很隨意,沒有真實的感受,而且通常也不會足夠清楚地說出他不同意什麼。

我現在意識到,我不理解某人在說什麼,有時很可能是他們不知道自己在說什麼,表現得像 ChatGPT。

我將其稱為"吹泡泡",即沒有實質內容但能讓他人信服的說話能力。這是很多大學領導的重要技能。

現在,ChatGPT 向我們展示了儘管不理解,但將大量材料合成為可信的文本流,是完全可以做到的。也許這是不可避免的,但真是一種非常不健康的惡習----人們應該走出去,觀察事物,清晰說出自己的真實感受。

我明確意識到,自己更願意被那些行為不像機器人的人包圍,更願意傾聽那些有原創思想的人的聲音。

言論

1、

如果你沒有時間集中精力學習新知識,那麼就花時間複習已經學過的內容。

-- Hacker News 讀者

2、

瀏覽器地址欄兼作搜索輸入欄,這一定是史上最值錢的 UI 控件。谷歌為了成為這個控件的默認搜索引擎,每年支付 Firefox 4億美元,Safari 150-200億美元。

-- 《史上最值錢的 UI 控件》

3、

一切都是模糊的,直至你試圖使其精確時,你才會發現,我們日常表達出來的精確與真正的精確相距甚遠。以至於當我們說話時,你無法假設這就是對方真正的意思。

-- 伯特蘭·羅素(Bertrand Russel),英國哲學家

4、

忒修斯之船(Ship of Theseus)是公元一世紀的希臘作家普魯塔克提出的哲學問題:如果雅典國王忒修斯的船的木頭逐漸被替換,直到所有的木頭都不是原來的木頭,那這艘船還是原來的那艘船嗎?

-- 維基百科

5、

每一個最佳實踐的背後都有一個恐怖的經歷。

-- Julia Evans

往年回顧

摩天大樓是反人類的(2023 #245)

你做過不在乎結果的項目嗎?(2022 #195)

大家不出門,經濟怎麼辦?(2021 #145)

遠程辦公暴露冗餘崗位(2020 #95)

(完)