[C#] 讀取 CoinStats Fear & Greed 範例

2025-11-19

如果你正在開發加密貨幣相關的應用,可能常常會想了解市場的恐懼貪婪指數..

在眾多資料來源中,除了上次我們聊的 Alternative.me 有免費的服務今天介紹另一個  CoinStats


[C#] 使用 Alternative.me 快速取得加密貨幣恐懼貪婪指數

2025-11-18

如果你正在開發加密貨幣相關的應用,可能常常會想了解市場的恐懼貪婪指數..

在眾多資料來源中,Alternative.me 的 Crypto Fear & Greed Index 算是最容易取得,也最容易串接的一個

重點是免費...


AI 時代的內容新規則:RAO 寫作入門

2025-11-17

近期一直聽到一個新的名詞 RAO(Retrieval-Augmented Optimization),中文翻譯是 檢索增強優化

這到底是啥東西啊,現在做網站越來越難了,除了之前的 SEO 現在還要考慮 RAO



[C#] TOON vs JSON:在 .NET 實測序列化效能的真實結果

2025-11-14

最近在研究一個有趣的資料交換格式 —— TOON (Token-Oriented Object Notation)

主打「低 Token 消耗」與「高結構可讀性」

由於目前 TOON 也開始有 .NET 的實作版本(例如 ToonNet ToonSharp

我就想測試一下它在實際序列化(Serialize)與反序列化(Deserialize)時的表現如何


[C#] TOON 一個比 JSON 更簡潔的資料格式

最近看到一些臉書上的朋友在分享一個新名詞 TOON ( Token-Oriented Object Notation) ,他以簡潔為優點

TOON 的主要設計目的是減少語言模型在解析資料時的 token 消耗。

看一下他的結構根 JSON 有啥不同


[C#] 還技術債- 抽離序列化工具

2025-11-10

最近要來還一些技術債,要把以前的專案從 Newtonsoft.Json 換成 System.Text.Json

當初真的很偷懶,都是直接在程式裡呼叫 JsonConvert.SerializeObject() 或 DeserializeObject()

整個專案裡散落上百個地方,當然用全部取代也是可以但是還有更聰明的做法..


[C#] 暴力破解一個國中的數學題目

2025-10-29

最近臉書牆上一直出現這分享,就手癢寫了一下,後來順便複習一下國中數學?


winget 出現 InternetOpenUrl() failed:理解來源更新與修復方法

最近使用 winget 安裝一些東西,目前看到許多工具類的東西提供 windows 的安裝都需要透過 安裝一些東西,目前看到許多工具類的東西提供 windows 的安裝都需要透過 

我簡單看一下理解,就像是在 Linux  下面的 apt 大概是一樣的概念,最近在安裝 cloudflare tunnel 

但是遇到 

執行命令時,發生意外的錯誤:

InternetOpenUrl() failed.

0x80072ee2 : unknown error



[C#] 用 switch expression 重構你的判斷邏輯

2025-10-28

自己在寫程式的時候,我是一個很習慣用大量 if 的人,對我個人來說其實可閱讀性比較強,但是這的確不是一個好習慣

於是我想說透過 ChatGPT 看看新的 C# 語法有沒有可以取代我現在的習慣,順便改掉這壞習慣..



讓 localhost 也能被外部呼叫:試用 Visual Studio 2022 的 Developer Tunnels

2025-10-27

上一篇文章介紹了 ngrok ,讓原本的自己本機測試的東西可以變成 global 讓外部的服務去呼叫加速本機的測試可能性

後來同事提醒我其實 Visual Studio 2022 有內建,我就很訝異查了一下關鍵字 "開發人員通道" ( Developer Tunnels )



告別笨重的 Postman!用 Happy Postman 在 Chrome 中快速測 API

2025-10-23

今天介紹一個最近比較常用的工具 Happy postman ,目前大家最常用來測試的就是 Postman 這一套 APP

但是他現在變得非常複雜,所以現在很多時候我都改用 Postwoman HOPPSCOTCH,但最近因為 AWS 有狀況

導致我 HOPPSCOTCH 無法使用,所以我找到一套感覺不錯的 Chrome 延伸套件 Happy Postman



[C#] 本機開發神器 Ngrok:解決 ChatGPT MCP Server 憑證驗證問題的最佳幫手

2025-10-22

最近在測試關於 ChatGPT 的東西,遇到一些問題,比較麻煩的就是當你打造MCP Server ( Model  Protocol Server )的時候

他會驗你的憑證,因為程式還在一直調整,不可能一直佈署到線上環境測試,於是我找一下,發現原來有一個很好用的工具

ngrok


[C#] 透過 httpclient 模擬判斷憑證是不是過期

2025-10-20

最近遇到一些管理的憑證到期,忘記續約,後來決定寫一隻程式來檢查一下,因為很多管理端都不是在我這邊

所以有點麻煩,但是我得幫忙續約 :'( 



點部落黑色主題嵌入 Gist 的一些顯示問題

2025-10-15

很久沒用點部落了,因為原始碼的部分也些我是引用 https://gist.github.com/

但是黑色主題會顯示這樣 


[C#] 使用 Bogus 產生假假真真的資料(包含中文資料)

2025-09-30

有時候在做 POC 或是要放入測試資料,最煩的不是功能,而是資料最常就是 for 1~1000 之類的

之前就知道有一套叫做 Bogus 的 library  可以幫忙生成但是之前記得就是都是英文



[ASP.net] 在 Visual Studio 2022 加入傳統 ASMX Web Service "要求失敗,回應空白" 錯誤與解決方法

2025-09-26

最近在專案中,需要連線到一個舊系統的 ASMX Web Service,網址大概像這樣:

https://xxx.sample.com/service.asmx

結果在 Visual Studio 2022 新增「Web 參考」後,呼叫服務卻一直出現以下錯誤:

要求失敗,回應空白。  

於 System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)  

於 System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)



[C#] .NET 8 vs .NET 9 SIMD 加速實測:一般迴圈是否真的能自動向量化

2025-09-17

最近看到一個名詞 SIMD ( Single Instruction, Multiple Data ) ,簡單一句話就是 讓 CPU 以 "一條指令同時處理多筆資料" 的平行運算技術



[C#] 拆掉複雜邏輯的實用技巧 - Smart Enum

2025-09-11

如果你寫 C# 寫久了,enum 一定是你最早會用、也用最兇的語法之一。

它乾淨、簡單、可讀性好,但只要邏輯稍微複雜一點,

enum 就開始綁手綁腳,大量的 if 或是 switch 又開始了,不利於我們中年工程師..



[C#] 實作姓名遮罩 (MaskName)

2025-09-04

最近在寫一些東西,把之前寫的程式碼整理一下,之後方便自己之後複製貼上。

其中有一段是我覺得蠻實用的小工具:一個可以幫名字打馬賽克的 function。因為現在很多地方要顧慮到 個資法,不太能直接把全名顯示出來,所以這個方法可以幫助我們在顯示時,留下頭尾幾個字,中間用遮罩取代。



[Javascript] Google Sheets 取得目前工作表的名稱

2025-08-21

最近幫朋友解決一個 Google Sheet 上面的小問題,就是他需要取得 資料表的名稱(非檔案名稱)

這不能直接透過內建的函式做到,必須要透過 App Scripts  能夠取得,這邊就筆記一下


[C#] String.Intern() 搞懂字串共用與駐留池

2025-08-20

整理舊專案發現一個很有趣的東西,我們很常製作一個 List<string> 然後放在記憶體中

然後讀取,但是有沒有想過每次加入一個新的對記憶體中都是一個負擔,即使他們長的一樣


[Javascript] 使用 pageshow 事件 ,submit 返回上一頁後取消特效

2025-08-19

寫一個很久的問題但是我一直都沒有去處理的,就是有關於 Holdon.js 

因為我在form post 之前,我都 會呼叫 Holdon.js 來做到 debounce (防止重複 submit )

但是我遇到一個問題,就是如果我在 submit 後,跳轉到下一頁,如果我按下瀏覽器的上一頁

會依然停留在 HoldOn.open() 的畫面..


[C#] 在 ASP.net Webfrom 中實作 SSE (Server-Sent Events) 但..

2025-08-15

雖然在 .Net 上面用上了 SSE (  Server-Sent Events ) ,但是手上還是有一堆舊專案( Webfrom )要改

所以就改了一下程式碼測試,我想說應該很順利,交給 GPT 後發現,原來還是有些限制的..



[C#] SSE 實務技巧:不同使用者接收不同資料的最佳做法

2025-08-14

接續上一篇文章寫到關於  SSE ( Server-Sent Events ) ,在實作上我們很常會遇到,不同的人要給他不同的資訊

今天我們來簡單實做這一點,主要我會用 cookie 實務上也方便讓你可以使用 JWT 來做到身分判斷..



[C#] 用 .NET 實作 SSE:最簡單的即時推播,不用 WebSocket、也不用 SignalR

2025-08-13

有些時候,我們想在前端網頁顯示一些 "會動的資料" 像是

系統狀態更新、線上使用者數、Log 即時推送、客戶通知更新(消息通知)..之類的




[C#] 使用 Count()==0 前想想 Any()

2025-08-12

之前在網路上看到有人說可以用 Any() 取代 Count()==0 ,效能會比較好,畢竟 Count()==0 

平常寫得很習慣,一開始我以為這只是誤差,沒想到背後居然真有明顯的效能差異,於是我動手測一下..



[C#] 從 Singleton 到 AddSingleton

2025-08-11

最近在整理一些老專案的時候,我發現自己以前為了快速方便,常常會直接在程式裡手動寫 Singleton



[C#] .Result、async void、迴圈 await 的真實後果

2025-07-28

在 C# 裡,async/await 大概是大家寫最多,但理解最少的語法。

很多人使用 async,只是因為 "不加就跳警告,所以我加" , 至少我有時候是因為這樣

尤其是在試跑 open soruce 的專案



[Javascript] Safari 15.4 後原生支援 <dialog>:前端不再需要外部 Modal 套件

2025-07-21

之前要在網頁上做到彈跳視窗,我都直覺想到要用一些外掛套件,像是 jQuery Dialog 或是  jQuery Modal 

 然後必須要引入一些 library ,最近有需要看一下,發現故事變了,原來現在已經可以用 dialog 了



[C#] CliWrap 遇到中文亂碼問題

2025-07-14

在一些應用裡,我們常常需要呼叫外部指令,例如執行自己寫的 console程式,或是跑報表等其他命令列工具。

過去的做法通常是使用 System.Diagnostics.Process,雖然可行,但要處理輸入輸出、等待結束、取消執行、讀取結果等細節時,程式碼會變得又長又複雜。

後來我發現有個套件叫 CliWrap,能讓這些操作變得簡潔許多,也更容易維護


[Javascript] 為什麼在 <input type="date"> 中,iOS Safari 需要用 blur 而不是 change?

2025-07-07

最近遇到,iOS 上的 safati 的一個雷,原來在 <input type='date'> 中的 change 上面定義上跟其他瀏覽器有點不同!


[C#] const vs readonly 到底差多少?Stopwatch 實測給你看

2025-06-18

你可能跟我一樣,平常寫 C# 時看到 const 跟 readonly 常常覺得

const , readonly 不是差不多嗎? 甚至常常忘記 const 這關鍵字...



[C#] 重遇 stackalloc 關於效能跟限制的二三事

2025-06-11

最近在看一些 open source 專案的原始碼時,看到某個地方用到了 stackalloc

這關鍵字讓我一點一熟悉看一下文件這不是以前要開 unsafe 的東西

結果一查,才發現這玩意兒原來早在以前就有,只是因為後來有了 Span<T>

現在可以安全地在受控環境裡使用堆疊記憶體,完全不需要 unsafe 了。


[C#] Telegram Bot 開發筆記:如何在 v22.4.4 傳送圖片,設定公告訊息 pin message

2025-03-12

因為最近在開發跟 Telegram 的東西,接下來要筆記兩個項目,一個是如何發送圖片,還有一個就是

如何在 Telegram 中對發出的訊息做 pinned (釘成公告)



[C#] Telegram Bot 開發筆記:群組收不到機器人的訊息

2025-03-10

今天記錄一篇,基於  Telegram Bot 開發筆記:如何在 v22.4.4 正確接收訊息 這篇文章,這裡面有一個問題

就是有朋友問為何在群組中,好像除了  command 也就是 / 開頭的訊息,因為之前沒有遇到這問題,後來查一下

是因為一個參數要打開,筆記一下免得我忘記


[C#] 使用 Telegram.Bot v22.4.4 建立互動式選單,並清除舊訊息

2025-03-07

繼續 Telegram 系列,因為最近幫系統改成 Telegram.Bot v22.4 ,遇到一些問題,剛好也碰到一個需求,就是發出給客戶選項 ( InlineKeyboardMarkup )後

得到答案之後就是要將原本的問題刪除,今天就來筆記一下



[C#] Telegram Bot 開發筆記:如何在 v22.4.4 正確接收訊息

最近又要用到 Telegram,過去我寫過一些 Telegram 的文章,但是我天真了,我今天測試了 Telegram.Bot v22.4.4 發現跟之前又不一樣了..

又不能直接 Copy and Paste ,所以今天就筆記一下 Telegram.Bot v22.4 如何收訊息



[C#] 可程式化的免費圖床方案 - Vgy.me

2025-03-05

去年寫了一系列的 白嫖圖床可程式化的免費圖床方案 ,看一下後台數據還不錯後來有一些朋友提供給我其他可以免費程式化的圖床

今天介紹其中之一 Vgy.me 



[Cloudflare] Rcoket-loader 出現問題 rocket-loader.min.js-cb/cloudflare-static/rocket-loader.min.js net::ERR_ABORTED 404

2025-03-03

最近一些網站碰到 post 資料回去遇到問題,後來一查了一下都是遇到 Cloudflare Rocker Loader , 因為當初開的時候直接順手就開了

這幾天一直出現 GET /cdn-cgi/scripts/rocket-loader.min.js-cb/cloudflare-static/rocket-loader.min.js net::ERR_ABORTED 404 (Not Found)

後來看了幾篇文章..



[C#] 如何查詢 TRC20 的交易風險標記

2025-02-27

在區塊鏈交易中,某些交易可能被標記為高風險 ,特別是在 tronscan 這類區塊瀏覽器中可以查詢到這些資訊。

這篇分享將示範如何使用 C# 並透過 RestSharp 發送 API 請求,來判斷特定交易是否被標記為高風險。

主要也是因為我去看 tronscan 上面發現他們會去呼叫某個 API 去判斷 是不是 risk 的 transaction


[C#] 如何使用 C# 解析 TRC20 交易資料的 raw_data_hex

2025-02-26

在區塊鏈開發中,了解如何解析交易資料是非常重要的一環,尤其是在處理像 TRC20 這樣的合約交易時。TRC20 是 Tron 網絡上的一個代幣標準,它的交易資料通常包含有關發送方、接收方、合約地址以及轉帳金額的資訊。在本篇文章中,我將介紹如何利用 C# 語言來解析 TRC20 交易資料中的重要信息 今天來解析一下 trongrid 常常回應一個參數  raw_data_hex
每筆 TRC20 交易的資料會以原始字串形式存儲在區塊鏈上,稱為 raw_data_hex。這個資料通常會以十六進制(hex)格式存儲,其中包括了合約呼叫、發送地址、接收地址、以及交易金額等詳細資訊。要解讀這些資訊,我們需要將十六進制數據轉換成我們需要的格式,例如 Base58Check 地址格式或者金額數值。

其實透過解析可以在裡面拿到很多資訊 ,其中 基於 TRX 與 USDT 合約轉帳交易解析:如何獲取完整的交易資料 其中的 GetTransactionByTXId 繼續寫下去



[C#] 如何判斷 TRON 錢包是否被標記為可疑?

2025-02-21

在 TRON 區塊鏈的 Tronscan 網站上,有些錢包地址會被標記為 「Risk Warning」,這通常代表該地址可能涉及詐騙、垃圾交易或其他問題。
但如果我們要 自動化檢測,就需要透過 Tronscan API 來判斷某個 TRON 錢包是否被標記為可疑。
就是在網站上會出現 [Risk Warning] This account has been reported to be a phishing account by multiple users. Please be cautious!


[C#] 分頁查詢 TRON 區塊鏈交易,直到找到指定 txid 為止

2025-02-20

上一篇文章 追蹤 TRON 區塊鏈某合約的轉帳記錄 說到如何取得 某合約其中的所有交易

其實主要目的在於我們要去監測 TRC20 某合約在區塊上面的交易 ,但是上篇文章有一個小問題,就是一次只有 20 筆

今天我們繼續改造,我會做給予一個 txid 然後他會一直利用 Response  的 next 繼續找一直找到你指定的 txid 為止



[C#] 追蹤 TRON 區塊鏈某合約的轉帳記錄

2025-02-19

在 TRON 區塊鏈上,如果我們想知道某個智能合約的交易紀錄,可以使用 TRON 提供的 API 來查詢,並解析其中的「轉帳地址」(from ,to , amount)。

為什麼要查詢 TRON 合約交易? 如果你有追塊的需要就會用到,主要也是因為最近遇到一些朋友問我詐騙的問題

只有透過分析走向才有辦法,所以最近都在弄這類的問題..



[C#] 快速實作 Telegram OAuth 登入:從 Bot 設定到 驗證

2025-01-15

LINE 真的不好用,基本上身邊的人都有在用 Telegram 這時候是個好時機將一些系統整合 telegram 登入。

在這篇分享中將介紹如何在 C# + ASP.net 應用 中實現 Telegram OAuth 登入,並包含 如何創建 Telegram Bot 來完成驗證流程


[C#] 如何計算 TRC20 合約交易的 Energy 消耗

2025-01-09


在 TRC20 協議下,進行 USDT(或其他 TRC20 代幣)的轉帳時,需要消耗 Energy 和 Bandwidth

所以我們在交易的時候,需要智能合約的複雜程度,不同 TRC20 合約的執行邏輯可能消耗不同量的 Energy

尤其是很熱門的合約像是 USDT ,基本上應該就這就是比較常用的...



[C#] 詐騙 TRC20 錢包的 API 端特徵解析

2025-01-08

今天來聊一下關於詐騙的 TRC20  錢包在 API 下面的特徵,這邊我們舉例得錢包地址是 https://tronscan.org/#/address/TS64QAQEL5GfbB61C86ZSJjfkVi6kPFmEA

這是詐騙地址,請勿向裡面轉任何代幣,除了官方會有警告以外,我想在 API 中會有啥呈現的不同



[C#] 從詐騙註記詞測試 TronLink 預設錢包的還原機制

2025-01-07

通常現在創建錢包不管是 ETH 或是 TRON 基本上都是基於 BIP39 使用 12 , 24 當作註記詞創建錢包

最近在測試一個詐騙的東西想用程式端去還原錢包,發現 ERC20 和 TRC20 預設的 Path 是不一樣的



當麻許的碎念筆記 2014 | Donma Hsu Design.