這應該算是 .NET Core 的歷史包袱吧,任何軟體都一樣,沒有人可以預料未來的需求,所以當初設計的時候,多多少少一定會遇到一些不合理的地方。然而,因為當年 .NET Core 算是有承諾「絕對不會」有破壞性的 API 變更,所以一些早期設計不當的 API 全部都留下來了,也因為這樣,.NET 就需要設計一些新的 API 來取代「包裹」舊的 API,雖然會帶來一些困擾,但是只對老人困擾而已,對新人來說,這些都是「新」的 API,所以不會有任何問題。這篇文章我要來介紹 .NET 7 / 8 通常該如何初始化應用程式,以及跟舊版有什麼不一樣的地方。
... 繼續閱讀 ...
我之前寫過一篇鉅細靡遺的如何透過 FFmpeg 將 SRT 字幕檔寫入到 MP4 影片檔中文章,也寫過一篇如何使用 FFmpeg 進行圖片壓縮與製作家庭影片文章,我覺得已經涵蓋了許多應用情境了。前陣子嘗試用 Gemini API 翻譯國外知名的 Podcast 節目,想說把翻譯好的轉錄稿直接跟 MP3 聲音檔結合,配一張圖片,就可以輸出個含字幕的 MP4 影片了,方便我邊聽、邊看字幕、邊學英文,誰知道 AI 問個老半天都問不出來。最終我還是搞定了這個需求,這篇文章來記錄一下重要的背景知識與觀念。
... 繼續閱讀 ...
我現在幾乎所有的 Side Project 都是在 LINQPad 寫的,因為實在是太方便,不但啟動速度快,而且也很好管理,萬能的 Dump()
方法有好多神奇用法,實在讓人愛不釋手。除此之外,你其實也可以拿 LINQPad 來寫「腳本」(C# Script),使用上雖然不能直接編譯成 *.exe
可執行檔,但是搭配 lprun8
來執行其實也不會很麻煩,對於需要快速 Prototyping 的時候,使用 LINQPad 不失為一個好選擇。
... 繼續閱讀 ...
在 .NET 要呼叫 REST API 時,最常使用的就屬 HttpClient 類別莫屬,但有時候真的想看他到底送出了什麼 HTTP 封包,或是收到了什麼 HTTP 回應 (原始內容),這時候就需要一個方法來攔截並記錄實際 HTTP 傳送的 Request 與 Response 封包內容。其實是有方法的,這篇文章就來介紹如何實作。
... 繼續閱讀 ...
我們公司主要採用 Microsoft 365 (M365
) 為主要的協作平台,背後自然使用的是地表最強大的 Microsoft Entra ID 服務。我們上個月有位同事被 Entra ID 判定有 MFA 異常登入的狀況,導致帳號被鎖定,無法使用 MFA 登入,因此導致他完全無法使用任何 M365
服務。我當時也不知道怎樣處理的,可能是設定讓他重新設定 MFA 之類的,反正他就正常可以登入了。結果過了一個多月,就在前幾天,同一個人,他的帳號又再次被鎖定,這次鎖的更緊了,害我怎樣都解鎖不了,還必須要動用微軟技術支援中心才能解決。這次我還是認真做一下筆記好了,以免日後再有同仁遇到帳號被鎖定的狀況。
... 繼續閱讀 ...
我個人開發過不少 VS Code 擴充套件 (這裡),工作上只要遇到現有功能不方便的地方,或是現有 VS Code 擴充套件不好用的地方,可以說是一言不合就自造輪子。由於都是用 JavaScript/TypeScript 撰寫,再加上微軟的文件與工具都非常齊全,因此開發的難度並不高。今天我想分享一下如何快速上手 Visual Studio Code 擴充套件開發,也期待看到大家的 Visual Studio Code 擴充套件作品。
... 繼續閱讀 ...
不知道大家有沒有這種經驗?就算你裝了 Python 之後還是問題一大堆,沒事的時候就沒事,但只要一出問題就會搞好幾個小時查問題。這篇文章就是要寫給 Python 新手的執行環境安裝手冊。
... 繼續閱讀 ...
我自從寫了 介紹好用工具:Ollama 快速在本地啟動並執行大型語言模型 文章後,就幾乎都在本機用 Ollama 執行各種大語言模型的推論。由於幾天前 TAIDE 團隊發表了一套符合台灣語言和文化特性的大語言模型(TAIDE-LX-7B
),我當下就立刻用 Ollama 跑起來了。這篇文章我將分享幾個簡單的小步驟,幫助大家也可以很順利的在本機將 TAIDE-LX-7B-Chat-4bit
模型跑起來。
... 繼續閱讀 ...
我最近在整理《重編國語辭典修訂本》最新版的資料檔,因為我預計輸出成跟 g0v 的 moedict-data 專案相容的 JSON 格式,而在輸出的時候卻發現這些中文字都被編碼了,但我希望能夠輸出成完整的 Unicode 字元。這才發現即便是 .NET 8 最新版,也無法輸出完整的 Unicode 字元,這篇文章就是記錄我如何解決這個問題的過程。
... 繼續閱讀 ...