System.Text.Json 的初步接觸

在微軟官方網站上檢視.NET 8新功能時,看到一句話:「.NET 8 中的 System.Text.Json 序列化和還原序列化功能進行許多改進。」當下腦袋充滿了各種問號,因為當時的我對Json的認知都還停留在Newtonsoft.Json這套件上,後來上網查了一下才知道:微軟早在.NET Core 3.0開始就內建 System.Text.Json 做為預設Json處理核心,也是為了擺脫對Json.Net的依賴。

在微軟官方網站上檢視.NET 8新功能時,看到一句話:「.NET 8 中的 System.Text.Json 序列化和還原序列化功能進行許多改進。」當下腦袋充滿了各種問號,因為當時的我對Json的認知都還停留在Newtonsoft.Json這套件上,後來上網查了一下才知道:微軟早在.NET Core 3.0開始就內建 System.Text.Json 做為預設Json處理核心,也是為了擺脫對Json.Net的依賴。

在程式開發中, 關聯式陣列 是一種常見的資料結構,特別適用於對應欄位名稱與欄位值。例如,在 PHP 開發中,若要匯出 CSV 檔案,通常會建立關聯式陣列來對應欄位名稱與其對應的值,這樣能提高程式碼的可讀性與維護性。
然而,以訂單資料為例,可能涉及訂單資訊、訂單商品、使用者資訊、折價券等多層級的關聯關係。傳統寫法通常會先輸出標頭,然後根據標頭順序一行行填入對應的資料。但當資料量龐大且結構複雜時,這種方式的可讀性與維護性會大幅降低,導致程式難以理解與修改。

每家公司的網站幾乎首頁都會放一個宣傳性質或廣告性質的輪播(Carousel),用來推廣最新的活動,促銷的產品或是重要消息。這次的主要設計思路有兩個,一個是讓 廣告輪播 的圖片設定分為行動版跟電腦版的,讓廣告在不同的裝置上能夠有最好的呈現效果,所以需要有兩區,讓使用者分別上傳宣傳圖,二是電腦版跟行動版讓使用者可以預先設定多個群組,這樣過了廣告檔期或是使用者想切換不同的廣告時就可以一鍵切換預先設定好的另一組廣告。

近年來PC上的通訊軟體大量崛起,從過去的Skype、RC語音,到現在專為遊戲設計的 Discord ,可以自訂自己的頻道,並在玩遊戲時,邀請朋友一起聊天,成為最受年輕人喜愛的語音通訊軟體,而當中也有許多玩家自行建立了機器人來豐富他的頻道,本篇將分享如何創建一個簡單的Discord訊息機器人。

近年來,生成式AI(Generative Artificial Intelligence, GenAI)的技術發展迅速,特別是大型語言模型(Large Language Model, LLM),不僅能進行自然語言處理,還可以生成文章、回答問題,應用範圍相當廣泛。然而,當面對一些特定領域的問題,或是使用者的提問涉及機密或專業資訊時,LLM的表現有時卻不盡理想,例如可能給出過於籠統的回答、不夠精確,甚至產生錯誤的資訊。