要使用 HttpClient 下載數百 MB 甚至數 GB 的大檔,若使用一般寫法,檔案下載完成前,程式會陷入無止盡的等待,使用者不知下載進度,程式是不是當掉,沒法後悔中斷,是種糟糕的操作體驗。另一方面,數百 MB 數 GB 的檔案先存進記憶體再寫成檔案,對電腦的記憶體也會造成負擔。 var url...

分享之前寫的小工具。 針對選擇題類型考試,AI 時代新產生一種備考方法,考前把課本、投影片、課網... 丟給 AI 生成題庫,轉成特定 JSON 檔格式做成線上測驗網頁,大量刷題練習。(刷不過癮的話還可以找同學組團,大家交換集個三五百題刷到爽 XD) 歷經多次改良優化,磨出一個我覺得很順手的操作介面...

昨天寫好 黑殼蝦 LINE 機器人,馬上想到有趣實驗 - 我們跟 AI 聊天、上網、看圖、交辦任務,背後是要燒 Token 的,用得很開心,背後花掉多少錢? 大部分的訂閱制 AI 模型都是以 Token 計費,其中輸入送交模型的提示、文字、圖片等上下文是一個價格,模型輸出的內容則是另一種。以我最常用...

故事是這樣的。 一週前我分享了取得上網公開 IP 的程式寫法,留言區不少朋友狂推 WireGuard,說它的連線效能與穩定性都比 OpenVPN 好。 遇到這種一面倒狂推場景,身為沙場老兵,心中響起警鈴,提醒我耳朵別太硬;事出必有原因,讀者的話要聽,即便不用也看過再決定。 於是我實測了在 Linux...

從 TechDays 停辦與新冠疫情後,已不知道多久沒參加過實體研討會,上回出席彷彿都是民國初年的事了。週末滑手機 FB 跳出推廣貼文,發現微軟在 3/10 有場 Microsoft AI Summit Taipei,主題是 AI Agent 跟 Copilot,感覺能看看官方視角的 AI 應用架構...

上週發了篇 OpenVPN 相關文章,留言區一波大推 WireGuard 與 Tailscale。依過去 K6、Gitea 與 uv 的經驗,應當又是一件平生不識 XXX,便稱英雄也枉然的好物,必須一會。 WireGuard 是一套可取代 OpenVPN 的新時代 VPN 協定,標榜程式碼單純(只有...

一次驚心動魄的網站故障排查任務。 接獲呼救訊息,SharePoint 在例行安裝更新後,網站回傳錯誤徹底癱瘓 (打個疫苗人就掛了,這誰能接受啦),回傳訊息只有 HTTP 500,網頁內容、事件檢視器、ULS Log 沒有半點線索,多方搶救數小時仍無起色,徵召射茶包老人馳援。 我對 SharePoin...

在當代網路架構中,電腦主機很少會用公開 IP 連上 Internet,一則 255.255.255.255 的 IPv4 數量有限,不夠分給全世界所有要上網的裝置,二來江湖險惡,把電腦直接推出去面對惡意程式及駭客,實屬下略。故常見做法都會架個路由器或防火牆,電腦設成私有網段 IP (如 10.*、1...

洗衣機脫水時嚴重漏水 Panasonic 單槽洗衣機出問題一陣子,症狀為脫水期間會從底部大量漏水,每回洗衣服會順便洗地板。 初步研判是下方排水軟管破裂,拆開背板想查看規格上網找零件,意外發現是照片(取自 YT 影片)裡藍色由側管(應是脫水期間讓離心力甩到側邊的水可向下流掉)匯集到底部出水口的水管,整...

先說我的需求:我在 IIS 有個 HTML 靜態網頁,任務是載入資料檔 JSON 提供統計資料互動式查詢。當資料有更新,受限於防火牆無法用 SFTP、SCP 或網路資料夾直接更新,需靠 RDP 登入再複製貼上,一來麻煩,二來無法自動化。 近期更新頻率變高,對重複手工操作忍耐度極低的我,就想在 IIS...

[2026-03-05 更新] 感謝 max533 提供情資,經查證:兇手為 3/2 發佈更新的 Git Blame Extension 12.0.0,同時網路上有諸多回報指出該版本會引發 VSCode 多處異常、UI 無回反應 1、2,基於更新時間點與表現症狀與本案例高度吻合,加上實測移除可排除問...

在上篇文章我們以 .NET AIChatWeb 專案為基礎,將其轉為可上傳圖檔詢問任意問題的互動式 AI 聊天網站。 如要進一步擴充能力,我們可加入自訂的 Tool、Agent,甚至 Skill,賦與 LLM 模式自訂的特殊技能。事實上,AIChatWeb 原本具備的 RAG 文件檢索查詢功能,就僅...

前幾天介紹過用 .NET 的 AI 應用程式範本花兩分鐘生出 RAG 文件檢索網站,不少人好奇為什麼文章縮圖是紅色警戒 2 的基地車? 有玩過 RA2 的人 (換言之要年紀夠大的老人,年輕同學想體驗可以試試神人耗時五年復刻的網頁版) 都知道,遊戲開局只有一台基地車,先開到合適地點部署,轉成建造廠後...

程式裡要算陰曆日期、查沖煞、找哪天宜嫁娶好開工,找現成程式庫是最簡便的做法。Github 有上有個開源程式庫作者 - 6tail,一口氣提供了 C#、Flutter、Go、JavaScript、PHP、Python、Swift、TypeScript 等八種無第三方依賴程式庫(完全以該語言實作,不依賴...

過年前,想做一個拖拉檔案上傳,短期暫存方便跨主機交換檔案的小網站,嘗試用 Vibe Coding 方式進行,沒用到 Opus 高級模型,靠 Claude Sonnet 4.5 不到半小時就達到 FB 影片的完成度:自動刪除逾期檔案、檔案異動自動刷新、多瀏覽器間即時狀態同步、刪除時間倒數... 速度及...