Category: c#

使用 ChatGPT API 時,掌握提問內容 Token 數很重要。 ChatGPT API 處理 Prompt 時不是以字元或字詞為單位,而是會把文字拆解為一個個 Token。Token 不一定從單詞 (Word) 開頭或結尾處分割,並可以包括尾隨空格甚至是子詞 (Sub-Words),Open...

CRC 檢查碼我們每天都在用,Ethernet 乙太網路的每個封包(Frame)後方有個 FCS (Frame Check Sequence),可以用來偵測傳輸過程有沒有 0 變成 1、1 變成 0 的錯誤。其使用的演算法為 Cyclic Redundancy Check 循環冗餘校驗,簡稱 CRC...

看到同事分享的有趣影片: Most Popular Programming Languages 1965 - 2022 影片作者是個專注資料視覺化的博士班研究生,統計了自 1965 年至 2022 年最受歡迎程式語言的演進,時間軸橫跨 58 年,就當一甲子吧。統計資料來自多個國家的調查結果,再加上全...

前幾天分享過好用的 CPU/RAM/Disk 效能監視 CLI 工具,並用它 結合 K6 壓力測試在圖表呈現 CPU 使用率(下圖藍線): 這個做法雖然可行,但操作起來頗麻煩。得在測試前登入目標主機執行 typeperf -cf counters.txt -si 1,測試完成按 Ctrl-C 中斷...

程式寫到一個查詢方法,規格為傳入名稱查詢 Profile 物件,本想寫成 public Profile GetProfile(string name) => Profiles.SingleOrDefault(o => o.Name == name);,但規格要求 name 參數不可為 n...

像我這種明末清初開始寫 ASP 的老人,最早用 VBScript、VB6 寫網站,當進入 .NET 時代都要面臨抉擇:.NET 有 C# 與 VB.NET 兩種語言選項,讓學哪一種? 當時我選了 C# (【閒聊】大家選擇的是C#或VB.NET呢?),寫一陣子便深深愛上它。符號比 VB 簡潔、允許自由...

不少人資系統有個有趣功能:顯示從到職日到今天你的年資已經有幾年幾個月又幾天。 熊熊想到:若是在 C# 這個邏輯要怎麼寫呢? 在 C#,我們將兩個 DateTime 相減可以得到 TimeSpan 結構,其中有 Days、Hours、Minutes、Seconds 可算出幾天幾小時幾秒 (另外有 To...

這也是靠新工作機開啟的桃花源,RAM 夠大 SSD 夠快跑 Android 模擬器終於不再卡頓到氣血攻心,封印解除後我寫了第一支 MAUI App 程式 - QR Code 識別: QR Code 掃瞄是我一直想玩的功能。像有些平台提供行動條碼登入,用手機 App 掃一下,不用敲帳號密碼就能登入,...

【本系列是我的 C# in Depth 第四版讀書筆記,背景故事在這裡】 (2022 年初訂下的目標,趁著最後三天,還是把它完成吧~) 區域方法 - 在方法裡可以寫方法。 static void Main() { int x = 10; PrintAndIncrementX(); ...

專案出現的小需求:想在陣列挑出連續重複出現的項目,例如要從陣列 [A, B, B, C, X, C, C, B, B, D, D, D] 挑出 [B, B]、[C, C]、[B, B]、[D, D, D] 四個群組。 這題目的難易度用來暖身剛好,適合用 yield return 來解。 最後琢磨成品...

【本系列是我的 C# in Depth 第四版讀書筆記,背景故事在這裡】 C# 7 提供三種導入區域變數的新做法:Destruction (解構)、Pattern、Out 變數 解構是指將 Tuple 的元素拆解回獨立變數,C# 7 加入了簡潔寫法,深得我心,例如: var tuple = (10,...

前情 搞定用 ESP32 控制 PWM 風扇轉速後,下一步是建立 PC 與 ESP32 間的傳輸通道,讓 Windows 端程式能傳送溫度資料給 ESP32,依據溫度目標決定風扇轉速高低,將溫度控制在指定範圍。 起初的構想是讓 ESP32 連上 WiFi,跑一個小網站提供目標溫度設定、即時溫度轉速監...

開發時一定會遇到函式傳回結果包含多種資料的情境。舉個例子,假設有個圖檔分析函式,傳入圖檔路徑可得到格式、寬度、高度、色彩深度... 等資訊,單純用字串、整數當成回傳型別一定無法滿足需求。 若傳回資料種類複雜或函式要供外界或其他系統呼叫,那麼設計專屬資料型別當成函式傳回型別是較好選擇,也沒什麼好猶豫。...