2026-02-11

KKTICK TANK T6 手錶影片轉檔教學:466x466 AVI 正確 ffmpeg 參數解析

最近買了一隻 CP 值很高的手錶,這次實驗對象是 KKTICK TANK T6(沒有業配就不上連結了)。

因為有一些小需求,我想把自製影片放進手錶裡播放,但一開始就遇到問題 

他附的內建轉檔軟體竟然一直出錯..

2026-02-04

[C#] record 與 class 的真正差別,其實不在語法

一開始看到 record,其實完全抓不到重點

看起來跟 class 很像,而 class 又早就被拿來跟 struct 比過無數次

現在再多一個 record,第一反應只覺得,是不是又一個學了也不一定會用到的語法糖..


2026-02-03

[C#] 從 try/catch 到 Result Pattern:讓錯誤回到主流程的寫法

最近在整理一段舊系統的商業邏輯時,發現錯誤處理幾乎清一色都是  try/catch + throw

現在其實已經是  21 世紀了,很多時候有更好的方法可以處理 try catch 跟以前學習的方式有點不同

這篇單純記錄我實際套用 Result Pattern 後的想法與最小可行寫法筆記一下..


2026-01-15

[C#] 別再手寫 Select - Facet.Net 扁平化 Model 的優點與實務限制

最近看到一個小眾的套件有點意思,就測試了一下 叫做 Facet.Net ,這套件有一些方便的地方

但是也有一些限制,這邊就簡單介紹一下,我覺得在製作一些 API  的時候會是有用且方便的..


2026-01-14

[C#] 還在手寫 .Select 轉換 ? 改用 Expression 讓你的 LINQ 查詢高效又好維護

聊一下關於好用的 LINQ 很多時候我們從資料庫撈出資料來,並且透過 API 往外吐,這是後我們都會把肥大的資料

拿掉一些或是組合一些欄位,之後再往外面吐,當然這沒什麼問題但...


2026-01-13

[C#] 處理農曆及潤月自由輸入生日的 DateTime 解析

最近遇到一個老專案,他之前設計都讓客戶自由輸入生日,不過幸好 placeholder 提示

至少他的客戶是乖乖輸入 國曆xx年xx月xx日,或是農曆xx年xx月xx日,但是他現在跟我說要算

天干地支跟五行...WT...


2026-01-12

[C#] CancellationToken 一直都有寫,但專案其實從來沒有真的取消過

最近都再釐清一些觀念跟償還技術債,其實只要常常遇到程式要大量改寫成非同步化常常對專案都是

毀滅性的更改,也就是大量翻修,這裡面有一個很常被忽略的東西,處理的好才能夠把非同步化達到最大價值


2026-01-08

[Google 試算表] 指定欄位輸入時自動補日期 (僅限單一 Sheet)

幫一個朋友解決問題,他說他用 AI 嘗試過了,先說一下他的需求 他是在 Google Sheet 中

在 Column D 輸入任意值,如果同一列 ( Row) 的 B 欄位 ( Column) 如果有值就沒事,如果沒有就填入今天的日期

我順手測試一下,其實沒有很難啊,就簡單紀錄一下..


2026-01-07

[C#] Server 與 Client 全程走 MessagePack:一個 .NET 10 Web API 的實作紀錄

很多人聽過 MessagePack,但真正用在 Web API 上的機會其實不多,尤其是完整從 Client 到 Server 都走 binary 傳輸的情境

這篇文章用 .NET 10 示範一個最小可行的案例,實作一個只接受 MessagePack 的 Web API,並搭配一個 Client 呼叫範例

讓整個傳輸流程從頭到尾都清楚可以快速複製貼上了解 


2026-01-06

[C#] 實際測了 MessagePack:10,000 筆資料下,比 JSON.NET 快三倍

MessagePack 其實一直都聽到這名詞,但是因為在這 JSON 當到的現在比較少處理這東西,所導致我聽到很久了

但是也沒有實際去測試他,最近測試一下似乎蠻好用的