最近要來還一些技術債,要把以前的專案從 Newtonsoft.Json 換成 System.Text.Json。
當初真的很偷懶,都是直接在程式裡呼叫 JsonConvert.SerializeObject() 或 DeserializeObject()
整個專案裡散落上百個地方,當然用全部取代也是可以但是還有更聰明的做法..
最近要來還一些技術債,要把以前的專案從 Newtonsoft.Json 換成 System.Text.Json。
當初真的很偷懶,都是直接在程式裡呼叫 JsonConvert.SerializeObject() 或 DeserializeObject()
整個專案裡散落上百個地方,當然用全部取代也是可以但是還有更聰明的做法..
文、意如
文、意如
文、意如
文、意如
工作上習慣使用 OpenLens 操作 cluster
但只要有新的 cluster 要加的時候
每次都會忘記自己上次是怎麼做的
紀錄在這裡方便自己之後搜尋
在前篇這樣的兩個應用程式的撰寫在 Windows 上執行時是可以順利完成所需的要求。
但一旦放到 "非 Windows" 上的環境執行時,卻發生了異狀:
應用程式 A 居然找不到應用程式 B 所建立的 Mutex。
發生了執行 30 次(每次等待 1 秒後再找) 後,直接結束應用程式 A 的情況。

難道???
名詞定義:
Process - 已被載入到記憶體中執行的 Program 。
應用程式 A 需要等待應用程式 B 完成動作 C 之後,才能繼續執行;換句話說,在 B 執行完 C 之前,應用程式 A 必須被 blocked(阻塞)或 paused(暫停)。
這樣的需求,在現代化的作業系統的設計中,有很多種方式可以完成,例如:signal、pipe、mutex、semaphore…等。
在 iThome 舉辦的 iTHelp 2025 鐵人賽當中發表了 "莫名其妙就跟世界等級的 OpenSource 專案攪和了!?" 系列文。
其中展示了:
三種桌面環境中的 .NET 裝置端應用程式,並使用了 GStreamer 的技術來播放多媒體資訊,而其中 Samples 底下共有兩個專案。
一個是純 Console 的專案;一個是使用 Avalonia 的 UI 專案。
本文探討使用 SDD (規格驅動開發) 可能發生的問題與注意事項。
最近使用 winget 安裝一些東西,目前看到許多工具類的東西提供 windows 的安裝都需要透過 winget
我簡單看一下理解,就像是在 Linux 下面的 apt 大概是一樣的概念,最近在安裝 cloudflare tunnel
但是遇到
執行命令時,發生意外的錯誤:
InternetOpenUrl() failed.
0x80072ee2 : unknown error

solve UTF8 Encoding at ASP.NET and Claude Code
FAST REPROT設定A5横式,要改用custom,寬21.7cm*長15cm
自己在寫程式的時候,我是一個很習慣用大量 if 的人,對我個人來說其實可閱讀性比較強,但是這的確不是一個好習慣
於是我想說透過 ChatGPT 看看新的 C# 語法有沒有可以取代我現在的習慣,順便改掉這壞習慣..
上一篇文章介紹了 ngrok ,讓原本的自己本機測試的東西可以變成 global 讓外部的服務去呼叫加速本機的測試可能性
後來同事提醒我其實 Visual Studio 2022 有內建,我就很訝異查了一下關鍵字 "開發人員通道" ( Developer Tunnels )

本文探討 SDD (規格驅動開發) 的原理與實作, 並使用一個 Winform 專案 (使用 C#) 做為範例。
如果在 WSL 中已安裝 Ubuntu - 22.04 的環境,要如何升級到最新 LTS 版本呢?

在 Microsoft Store 的 Ubuntu 的描述當中,看到了這樣的設定:
sudo do-release-upgrade
在 Spec-Driven Development(SDD)逐漸被討論的今天,除了 GitHub 推出的 Spec-Kit,社群也出現了另一個有趣的專案 —— OpenSpec。
它的定位很清楚:用一份規格文件,驅動整個開發流程,並且盡可能保持「開放、可組合、可驗證」。
這篇文章會示範如何安裝與使用 OpenSpec,並分享我在實際操作時的心得。

在 iThome 舉辦的 iTHelp 2025 鐵人賽當中發表了 "莫名其妙就跟世界等級的 OpenSource 專案攪和了!?" 系列文。
其中 "EP 30 - .NET + AvaloniaUI + GStreamer 跨平台" 裡,有展示了透過 WSL 在 Ubuntu 的環境中使用 GStreamerPlayer 的應用程式 (透過 .NET + Avalonia UI + GStreamer 的技術),來透過 GStreamer 的技術播放影片。

今天介紹一個最近比較常用的工具 Happy postman ,目前大家最常用來測試的就是 Postman 這一套 APP 但現在變得非常複雜,現在很多時候我都改用 Postwoman HOPPSCOTCH,但最近因為 AWS 有狀況導致無法使用,所以找到一套感覺不錯的 Chrome 延伸套件 Happy Postman
dotnet 在 macOS 安裝後,要能完全移除其實需要一點 CLI 的知識外,也要多研讀一下 Microsoft Learn:
如何移除 .NET 執行階段和 SDK 的介紹。
或是使用 ".NET 解除安裝工具" 來進行。
但如果不介意統一用 brew 來安裝 dotnet 的時候;再加上一點點小技巧,那其實管理、使用與解除安裝時都會相對方便的。
最近在測試關於 ChatGPT 的東西,遇到一些問題,比較麻煩的就是當你打造MCP Server ( Model Protocol Server )的時候
他會驗你的憑證,因為程式還在一直調整,不可能一直佈署到線上環境測試,於是我找一下,發現原來有一個很好用的工具
在 iThome 舉辦的 iTHelp 2025 鐵人賽當中發表了 "莫名其妙就跟世界等級的 OpenSource 專案攪和了!?" 系列文。
其中 "EP 30 - .NET + AvaloniaUI + GStreamer 跨平台" 裡,有展示了在 macOS 當中使用 GStreamerPlayer 的應用程式 (透過 .NET + Avalonia UI + GStreamer 的技術),來透過 GStreamer 的技術播放影片。

如果不是很能接受 Homebrew (或稱 brew) 只能在 "Terminal (終端機)" 當中透過指令操作 (CLI) 的話,可以試試看 WailBrew 這套軟體。

雖然是一套滿近期才推出的軟體,但實際安裝操作後看起來開發作者是還挺用心的。
值得一用~~~