Category: .net

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

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

分享這陣子發現的好東西。 即便當今 LLM 的 Context Window 已可長達百萬 Token 等級,還是未必能一次塞入所有知識,即便可以,這種暴力玩法浪費 Token 又沒效率,還可能因上下文過長導致模型找錯重點出現幻覺,因此,Retrieval Augmented Generation ...

上次用微軟神經網路語音 API 玩文字轉語音 Text-To-Speech (TTS) (延伸閱讀:跟阿基師去河濱公園吊單槓範例)轉眼已是三年多前,當時適逢 ChatGPT 發表前夕。LLM 出現後,電腦合成語音技術也跟著大幅提升,擬真程度逼近真人,甚至還能調整語氣與語速,表達情緒。 OpenAI ...

2025 年,AI 輔助開發(AI-Assisted Coding,其實已經是 AI 代理開發了)領域最大的變革,當屬 Agent 降臨並迅速成為主流。2025 年 2 月,Github Copilot 加入 Agent 模式,AI 從聊天問答及修改補全程式碼的角色,轉為採目標導向,可多步驟自動執行...

最近在一個小系統看到 SQL Server 上有啟用串聯刪除 (Cascading Delete) 的 Foreign Key,我很少採用這種設計,當年學資料庫做完 Lab 便已淡忘,如今有緣看到野生版本,是老天爺的安排,寫篇筆記溫故知新。 關聯式資料庫有所謂 Primary Key (主鍵,簡稱 ...

開發系統時,偶爾需要隨機產生符合複雜度要求(包含大小寫英數字加符號... 等)密碼的需求,例如:新帳號初始密碼、重設密碼... 等,這篇來聊聊這類程式寫法。 以 .NET 為例,.NET Framework 與 .NET 8+ 都內建 API 能直接實現。 .NET Framwork 有 Syste...

早年 .NET Framework SDK 預設是顯示英文訊息,得另外安裝 Language Pack 才會顯示中文。後來的 .NET / Visual Studio / VSCode 版本聰明多了,會依據你的作業系統語系安裝及使用對應的語言,於是乎在中文版 Windows 編譯出錯時顯示的是中文訊...

上週提過將影片每一秒畫面存成照片的技巧,被我拿來找英聽影片例句說明的時間點。 如下圖所示,某個 100 句英聽練習影片有個規律,每個句子無字幕播兩遍,配中文字幕再播兩遍,無字幕播放時畫面都是相似的,中央有大大的 Listen 字樣配上旋轉星空背景,我想靠由這個規律挑出所有例句的字幕畫面。 這個問題...

下面這張圖是我這次要做的事。 把影片每一秒畫面轉成圖檔,可以玩出好玩應用。例如,傳奇作品如甄嬛傳、少林足球、九品芝麻官,幕幕皆經典,幀幀能當梗,抓畫面可以做梗圖,像是甄嬛梗圖機器人背後就有 11,500 張照片作為圖庫。 另外,將影片轉成圖片後,可寫程式做靜態影像處理。甚至反過來,處理完再將圖片...

今天處理了一個 DLL 升級部署問題。 有個專案配合某 NuGet 程式庫的需求,System.Memory 由 4.5.3 升級到 4.5.5,部署時自然就一併更新了 System.Memory.dll。不料這引發了 SQLite 程式報錯: [FileLoadException: 無法載入檔案或...

開始之前,先同步幾點觀念: 系統保存密碼時,應該用雜湊而非加密,雜湊是個單向函數,文字可以轉成雜湊,但無法從雜湊還轉回原始文字。如此可確保任何人(包含系統管理者)都無法解密拿到密碼明碼,但卻又可以判斷輸入文字是否跟密碼一致。 換言之,若有某個系統的「忘記密碼」居然能把上回設定的密碼寄給你,該系統的...

講到網頁即時通訊,解決方案很多,從 setInterval()、Long Polling、Server-Sent Events 到 WebSockets,只需幾行程式就能做個雛形。 但回歸到實務應用,若需求複雜一點,想深一點,一般得考慮程式效率與即時性、連線斷線自動重連機制、群組廣播需求、WebSo...

為了盡可能縮小容器體積,一方面也避免 CLI 工具或程式庫淪為惡意程式或攻擊者的兇器,容器基底映像檔(Image)一般只會滿足運行程式所需的最最最低要求,不包含我們常用的 CLI 指令。 以運行 .NET 程式的基本容器映像檔 mcr.microsoft.com/dotnet/runtime 為例,...