透過預存 SSH 登入認證免除執行遠端指令還要輸入密碼

要遠端在 Linux 主機上執行指令,可以透過 SSH 來處理,不過每次執行指令都需要做身分認證,這讓操作上變得繁瑣,這裡提供一種方式,使用 ssh-keygen 建立一組身分認證的金鑰,藉此讓 SSH 遠端執行指令時,直接藉此做身分認證,讓操作更順暢。

C# 中 IndexOf 和 Contains 的差別

聲明:此篇文章使用 AI 工具產生,請自行判斷文章內容的正確性。

遷移有使用 ClosedXML 的應用程式到 Linux 容器

在 .NET 開發應用程式中遇到要處理 Excel 檔案的時候,可以使用微軟官方提供的 Open XML SDK,或使用第三方套件的 NPOIEPPlusMiniExcel 或是這篇會使用到的 ClosedXML。當我們需要將應用程式遷移至容器時,使用這些套件的應用程式可能會遇到底層繪圖 GDI+ API 的不支援而造成問題,這篇分享一個實際案例。

Git LFS 使用手冊

聲明:此篇文章使用 AI 工具產生,請自行判斷文章內容的正確性。

關閉 Azure CLI 的 SSL 檢查(非必要別這樣做)

在一些特殊的情境下,要安裝或更新 Azure CLI 擴充套件時,出現 SSL Error 是相當惱人的事情,這時候你可以考慮暫時關閉 Azure CLI 的 SSL 檢查,但是這不是一個好的做法,因為這樣做會讓你的 Azure CLI 變得不安全,所以非必要的情況下,請不要這樣做。

比較使用 Native AOT 與標準方式的差異

Native AOT 是一種令人興奮的發行 .NET 應用程式的方法,相較於標準的 JIT 編譯方式,Native AOT 可以讓應用程式啟動更快、使用更少的記憶體和更小的磁碟大小,但是 Native AOT 究竟能讓啟動變多快、記憶體使用量減少多少、磁碟大小縮小多少呢,數據會說話,就讓我們來看看官方比較使用 Native AOT 與標準方式的差異。

使用 NSG 設定 Azure VM 只允許國內的 IP 訪問

前陣子以為自己玩壞了架在 Azure VM 的 AdGuard Home,經過調查之後發現,原來是被來自境外的黑客進行 DDoS 攻擊,雖然小小的 VM 承受得住每秒百來次的查詢請求,但是硬碟空間撐不住每次查詢所紀錄下的 Query Log,因此造成 VM 極度不穩。在不想額外花錢的情況下,這篇文章提供一種解決方案,讓有需要的人可以參考看看。

在 Azure 上開 Linux VM 架設 AdGuard

最近不小心把之前架設的 AdGuard 玩壞了,由於上次沒有留下筆記,這次把相關的架設筆記留下來,不然未來某天又玩壞了,還要再花點時間找資料。

在 ASP.NET Web API 使用 IAsyncEnumerable 並串流至 JavaScript - PART 2

前陣子在在 ASP.NET Web API 使用 IAsyncEnumerable 並串流至 JavaScript分享到使用 IAsyncEnumerable<T> 來處理串流資料,但是當時的範例的回傳值是 JSON 物件,這造成前端在解析資料時,必須處理 IAsyncEnumerable<T> 被 JSON 序列化後的格式,這讓前端不得不做一些額外處理。這篇將重新思考這段處理方式,在針對「模擬聊天情境,即時的一字字依序輸出在網頁上」這個目標下,重新設計 API 的回傳方式,讓前端可以更容易的處理串流資料。

實現你自己的 Chat Copilot

經歷過 ChatGPT 席捲式的熱潮後,許多企業紛紛開始想要打造自己的 AI 對話功能,可能是直接使用 API 的方式開發聊天機器人,或是直接選用廠商提供的解決方案。在 GitHub 上,也有許多開放原始碼專案可以提供我們快速建立相關的應用,例如 BetterChatGPT 就是按造 ChatGPT 的使用介面所打造。在 Microsoft 官方的版本庫中,也有 Chat Copilot 專案,提供了我們參考的樣板。