[C#] 還技術債- 抽離序列化工具
最近要來還一些技術債,要把以前的專案從 Newtonsoft.Json 換成 System.Text.Json。
當初真的很偷懶,都是直接在程式裡呼叫 JsonConvert.SerializeObject() 或 DeserializeObject()
整個專案裡散落上百個地方,當然用全部取代也是可以但是還有更聰明的做法..
winget 出現 InternetOpenUrl() failed:理解來源更新與修復方法
[C#] 用 switch expression 重構你的判斷邏輯
自己在寫程式的時候,我是一個很習慣用大量 if 的人,對我個人來說其實可閱讀性比較強,但是這的確不是一個好習慣
於是我想說透過 ChatGPT 看看新的 C# 語法有沒有可以取代我現在的習慣,順便改掉這壞習慣..
讓 localhost 也能被外部呼叫:試用 Visual Studio 2022 的 Developer Tunnels
上一篇文章介紹了 ngrok ,讓原本的自己本機測試的東西可以變成 global 讓外部的服務去呼叫加速本機的測試可能性
後來同事提醒我其實 Visual Studio 2022 有內建,我就很訝異查了一下關鍵字 "開發人員通道" ( Developer Tunnels )
標籤: .Net , Visual Studio , WebAPI , WebTest
告別笨重的 Postman!用 Happy Postman 在 Chrome 中快速測 API
今天介紹一個最近比較常用的工具 Happy postman ,目前大家最常用來測試的就是 Postman 這一套 APP
但是他現在變得非常複雜,所以現在很多時候我都改用 Postwoman HOPPSCOTCH,但最近因為 AWS 有狀況
導致我 HOPPSCOTCH 無法使用,所以我找到一套感覺不錯的 Chrome 延伸套件 Happy Postman
[C#] 本機開發神器 Ngrok:解決 ChatGPT MCP Server 憑證驗證問題的最佳幫手
最近在測試關於 ChatGPT 的東西,遇到一些問題,比較麻煩的就是當你打造MCP Server ( Model Protocol Server )的時候
他會驗你的憑證,因為程式還在一直調整,不可能一直佈署到線上環境測試,於是我找一下,發現原來有一個很好用的工具
[C#] 使用 Bogus 產生假假真真的資料(包含中文資料)
[ASP.net] 在 Visual Studio 2022 加入傳統 ASMX Web Service "要求失敗,回應空白" 錯誤與解決方法
最近在專案中,需要連線到一個舊系統的 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#] 實作姓名遮罩 (MaskName)
最近在寫一些東西,把之前寫的程式碼整理一下,之後方便自己之後複製貼上。
其中有一段是我覺得蠻實用的小工具:一個可以幫名字打馬賽克的 function。因為現在很多地方要顧慮到 個資法,不太能直接把全名顯示出來,所以這個方法可以幫助我們在顯示時,留下頭尾幾個字,中間用遮罩取代。
[Javascript] Google Sheets 取得目前工作表的名稱
最近幫朋友解決一個 Google Sheet 上面的小問題,就是他需要取得 資料表的名稱(非檔案名稱)
這不能直接透過內建的函式做到,必須要透過 App Scripts 能夠取得,這邊就筆記一下

標籤: GOOGLE , Javascript
[Javascript] 使用 pageshow 事件 ,submit 返回上一頁後取消特效
寫一個很久的問題但是我一直都沒有去處理的,就是有關於 Holdon.js
因為我在form post 之前,我都 會呼叫 Holdon.js 來做到 debounce (防止重複 submit )
但是我遇到一個問題,就是如果我在 submit 後,跳轉到下一頁,如果我按下瀏覽器的上一頁
會依然停留在 HoldOn.open() 的畫面..
標籤: ASP.net , HTML , Javascript
[C#] 使用 Count()==0 前想想 Any()
之前在網路上看到有人說可以用 Any() 取代 Count()==0 ,效能會比較好,畢竟 Count()==0
平常寫得很習慣,一開始我以為這只是誤差,沒想到背後居然真有明顯的效能差異,於是我動手測一下..
[C#] 重遇 stackalloc 關於效能跟限制的二三事
最近在看一些 open source 專案的原始碼時,看到某個地方用到了 stackalloc
這關鍵字讓我一點一熟悉看一下文件這不是以前要開 unsafe 的東西
結果一查,才發現這玩意兒原來早在以前就有,只是因為後來有了 Span<T>,
現在可以安全地在受控環境裡使用堆疊記憶體,完全不需要 unsafe 了。
[C#] Telegram Bot 開發筆記:群組收不到機器人的訊息
今天記錄一篇,基於 Telegram Bot 開發筆記:如何在 v22.4.4 正確接收訊息 這篇文章,這裡面有一個問題
就是有朋友問為何在群組中,好像除了 command 也就是 / 開頭的訊息,因為之前沒有遇到這問題,後來查一下
是因為一個參數要打開,筆記一下免得我忘記
[C#] 使用 Telegram.Bot v22.4.4 建立互動式選單,並清除舊訊息
繼續 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 如何收訊息
[Cloudflare] Rcoket-loader 出現問題 rocket-loader.min.js-cb/cloudflare-static/rocket-loader.min.js net::ERR_ABORTED 404
最近一些網站碰到 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)
後來看了幾篇文章..
標籤: ASP.net , Cloudflare
[C#] 如何查詢 TRC20 的交易風險標記
[C#] 如何使用 C# 解析 TRC20 交易資料的 raw_data_hex
在區塊鏈開發中,了解如何解析交易資料是非常重要的一環,尤其是在處理像 TRC20 這樣的合約交易時。TRC20 是 Tron
網絡上的一個代幣標準,它的交易資料通常包含有關發送方、接收方、合約地址以及轉帳金額的資訊。在本篇文章中,我將介紹如何利用 C# 語言來解析 TRC20 交易資料中的重要信息 今天來解析一下 trongrid
常常回應一個參數 raw_data_hex
每筆 TRC20 交易的資料會以原始字串形式存儲在區塊鏈上,稱為 raw_data_hex。這個資料通常會以十六進制(hex)格式存儲,其中包括了合約呼叫、發送地址、接收地址、以及交易金額等詳細資訊。要解讀這些資訊,我們需要將十六進制數據轉換成我們需要的格式,例如 Base58Check 地址格式或者金額數值。
其實透過解析可以在裡面拿到很多資訊 ,其中 基於 TRX 與 USDT 合約轉帳交易解析:如何獲取完整的交易資料 其中的 GetTransactionByTXId 繼續寫下去
[C#] 如何判斷 TRON 錢包是否被標記為可疑?
標籤: .Net , .Net8 , BlockChain , C# , TRC20
[C#] 分頁查詢 TRON 區塊鏈交易,直到找到指定 txid 為止
上一篇文章 追蹤 TRON 區塊鏈某合約的轉帳記錄 說到如何取得 某合約其中的所有交易
其實主要目的在於我們要去監測 TRC20 某合約在區塊上面的交易 ,但是上篇文章有一個小問題,就是一次只有 20 筆
今天我們繼續改造,我會做給予一個 txid 然後他會一直利用 Response 的 next 繼續找一直找到你指定的 txid 為止
[C#] 追蹤 TRON 區塊鏈某合約的轉帳記錄
在 TRON 區塊鏈上,如果我們想知道某個智能合約的交易紀錄,可以使用 TRON 提供的 API 來查詢,並解析其中的「轉帳地址」(from ,to , amount)。
為什麼要查詢 TRON 合約交易? 如果你有追塊的需要就會用到,主要也是因為最近遇到一些朋友問我詐騙的問題
只有透過分析走向才有辦法,所以最近都在弄這類的問題..
標籤: .Net , .Net8 , BlockChain , C# , TRC20
[C#] 快速實作 Telegram OAuth 登入:從 Bot 設定到 驗證
在這篇分享中將介紹如何在 C# + ASP.net 應用 中實現 Telegram OAuth 登入,並包含 如何創建 Telegram Bot 來完成驗證流程
[C#] 如何計算 TRC20 合約交易的 Energy 消耗
在 TRC20 協議下,進行 USDT(或其他 TRC20 代幣)的轉帳時,需要消耗 Energy 和 Bandwidth
所以我們在交易的時候,需要智能合約的複雜程度,不同 TRC20 合約的執行邏輯可能消耗不同量的 Energy
尤其是很熱門的合約像是 USDT ,基本上應該就這就是比較常用的...
標籤: .Net , .Net8 , BlockChain , C# , TRC20
[C#] 詐騙 TRC20 錢包的 API 端特徵解析
今天來聊一下關於詐騙的 TRC20 錢包在 API 下面的特徵,這邊我們舉例得錢包地址是 https://tronscan.org/#/address/TS64QAQEL5GfbB61C86ZSJjfkVi6kPFmEA
這是詐騙地址,請勿向裡面轉任何代幣,除了官方會有警告以外,我想在 API 中會有啥呈現的不同
[C#] 從詐騙註記詞測試 TronLink 預設錢包的還原機制
通常現在創建錢包不管是 ETH 或是 TRON 基本上都是基於 BIP39 使用 12 , 24 當作註記詞創建錢包
最近在測試一個詐騙的東西想用程式端去還原錢包,發現 ERC20 和 TRC20 預設的 Path 是不一樣的
標籤: BlockChain , C# , Ethereum , TRC20 , TRX



