我前陣子幫客戶開發一個 Windows Forms 應用程式,使用 .NET 8 來開發,不過在案子的最後一刻,客戶要求要加上一個「版本資訊」的功能,這個功能要顯示目前程式的版本號。這個功能實在是不常寫,沒想到還真的有點地雷,因為跟 .NET Framework 有點不太一樣了。這篇文章就來分享一下我在開發過程中遇到的問題,以及解決方法。
... 繼續閱讀 ...
其實我大部分時間都在 Visual Studio Code 裡面做開發,久而久之就生疏了 Visual Studio 2022 裡面的各種選項設定,有很多都是近幾年才有的新功能,而有些「預設值」確實不太好用,只要沒特別去研究,就不知道原來只要微調一下就會變的非常方便。這篇文章我就來整理一下 Visual Studio 2022 在開發 ASP.NET Core 時相關的那些重要設定。
... 繼續閱讀 ...
深度學習模型在自然語言處理 (NLP) 領域中扮演著重要的角色,而調整模型的參數可以影響生成的文字風格和品質。在大語言模型中,Temperature
、Top-P
和 Top-K
是常見的參數,用於控制文字生成過程中的隨機性和創造性。我自己在開發 LLM 應用時,主要也都只會去調整 Temperature
而已,其實 Top-P
與 Top-K
很少去調他,因為每次調整都沒有什麼好結果,之前因為不太理解這兩個參數的真正含意,最後還是回歸預設值處理。這篇文章我打算好好的理一理這幾個參數的真正含意。
... 繼續閱讀 ...
當我在研究 ASP.NET Core 的 Response compression (回應壓縮) middleware 時,發現了 ASP.NET Core 內建支援各種 MIME Types 的相關支援,這篇文章我大致整理一下幾個常見的用法。
... 繼續閱讀 ...
昨晚 OpenAI 的 2024 春季更新發佈會,宣布了最新的 GPT-4o
模型,其中最讓我好奇的地方是,他將 Tokenizer 的詞彙表擴充了兩倍之多,理論上整體的文字處理速度會提升,且呼叫 API 的成本也會大幅降低。我就好奇到底他們增加了哪些詞彙?這篇文章將介紹如何用 Python 取得這個詞彙表的內容。
... 繼續閱讀 ...
我之前有在我的 YouTube 頻道發佈過一部《示範 VS Code 強大的多重游標編輯能力》影片,當時有提到「資料行選取模式」(Column Selection Mode) 的功能,但是沒有特別說明如何正確啟用這個功能。重點是,我自己每次要找這個啟用的設定都要找個老半天,因為 VSCode 會自動同步設定,只要登入就會自動復原,而我上次調整這個設定已經是很多很多年前的事了。我為什麼還要找這個設定呢?因為有上課的學員會來問我,但我每次都找不到!所以我決定寫一篇文章來記錄這個設定。
... 繼續閱讀 ...
這應該算是 .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 不失為一個好選擇。
... 繼續閱讀 ...