推薦文章

[ASP.NET Core] 用 IAsyncEnumerable 處理大型物件,打造低延遲、高吞吐的資料管線

在 ASP.NET Core 接收或回傳約 1MB 以上的大型 JSON 陣列時,若直接用 List<T> 接收,底層陣列只要超過 85,000 bytes 就會直接丟進大型物件堆積(Large Object Heap, LOH)。在高並發下,這會引發頻繁的 Gen2 垃圾回收(Garbage Collection, GC)、記憶體碎片化甚至直接導致 OOM。這裡透過實測排查,示範如何用 ArrayPool<T> 池化與 IAsyncEnumerable<T> 串流解析徹底避開 LOH 與 OOM 壓力。

...繼續閱讀 »
on yc421206

[AI Agent] 程式碼知識圖譜(Code Knowledge Graph) 七款工具評測筆記

傳統 Agent 靠 grep 讀檔做跨檔案重構,面對大型專案常面臨 Context 塞爆、Token 暴增、推理迷路三大痛點。

程式碼知識圖譜,結合語法分析(AST)與向量,將呼叫關係預建為圖,直接提供精準子圖切片。本文以數十萬行的 aspnetcore 等大型 .NET 專案為標的,實測 7 款工具:
• code-review-graph
• gitnexus
• graphify
• Understand-Anything
• CodeGraph
• codebase-memory-mcp
• semble
 

...繼續閱讀 »
on yc421206

[Elasticsearch] 每日一億筆時序資料架構實戰:Data Stream 與 .NET 10 Web API 整合

面對每日一億筆(尖峰每秒破萬筆)的海量時序日誌 (Time Series Logs),傳統依賴關聯式資料庫 (SQL) 或手動按日建立索引(Time-based Index)的做法,往往會面臨寫入吞吐瓶頸、過度分片 (Over-sharding) 以及維運刪除繁瑣等問題。本文將從 SQL 與 Elasticsearch 的概念差異出發,透過 Docker 快速建立測試環境,並深入介紹如何利用 Data Stream 搭配索引生命週期管理 (ILM) 解決每日 Log 的寫入與自動輪轉問題,最後透過 ASP.NET Core 10 Web API 搭配基於 System.Threading.Channels 封裝的記憶體佇列類別 LogQueue 與背景消費者 LogBatchProcessor 實現高效能的非阻塞批次寫入與自動化測試。

...繼續閱讀 »
on yc421206

你重視的合規是否是他所認為的合規?當SaaS滿街跑時,怎麼確定這個SaaS安全合規?

前言:拜 Vibe coding 之賜,市場上出現了一大堆的SaaS,每個都聲稱自己所開發的符合你的需求,當然也有些會打著—別人也 Vibe coding 過,但最後還是回來用我們的—這種聲稱,但是你真的確定你的資料放在別人那裡是安全的嗎?尤其是資料中包含個資 (特種個資更是重要) 時,當對方的 SaaS 發生資安事件導致資料外洩時,要怎麼處理及維護自己的權益?這些會遠比那些聲稱自己 Vibe coding 出來的 SaaS 有多好用要來得重要太多了—不怕一萬,只怕萬一。

...繼續閱讀 »
on regionbbs

[SQL][Backup]SQL Server 備份與還原完整教學:從基礎觀念到 TDE 憑證與主機移轉

本文改寫自筆者 2013 年舊文《SQL 備份指令與觀念相關練習》,原文是為輔導同仁準備微軟 70-462 認證所整理的練習題。十多年過去,除了把當年的觀念重新講清楚之外,這次也補上兩塊實務上常被問到、卻很少有文章完整講的主題:**資料庫加密(TDE)狀況下如何備份憑證**,以及**主機移轉時如何把 SQL 帳號的 SID 與加密密碼轉成 Script

...繼續閱讀 »
on jamesfu

[.NET] SPA 安全整合 SignalR:以 PKCE 三階段換票與 CSP 聯防打造的安全防線

在 SPA 架構下,整合 ASP.NET Core SignalR 常面臨安全挑戰。由於瀏覽器的 WebSocket 握手階段無法自訂 Headers,開發者常被迫將 JWT 放入 Query String 傳遞,使 Token 暴露於 URL 中。此外,一旦 SPA 遭遇 XSS 漏洞,記憶體中的憑證仍有被竊取的風險。
本文將介紹如何以 PKCE (Proof Key for Code Exchange) 三階段換票機制安全換取 30 秒短效 Hub Token,並結合 CSP (Content Security Policy)
聯防作為最後防線,從後端配置一路講到前端原生 JavaScript 整合,為 SignalR Hub 提供全方位的安全防護。

...繼續閱讀 »
on yc421206

[Security] AI Agent 時代的數位鑰匙防護:如何安全管理你的 API 金鑰與授權憑證

隨著 AI Agent 的興起,我們開始授權 AI 代理人存取各種外部服務。但這也帶來了全新的安全隱憂:如果你還習慣把 API 金鑰寫死在程式碼裡,或是隨便丟在 .env 檔,AI Agent 在讀取檔案或執行時,很有可能不小心把金鑰內容外流,等同於將系統的主控權拱手讓人,暴露在外洩的巨大風險中。

...繼續閱讀 »
on yc421206

有關 Taiwanese-Mandarin-Translate-Skill 是怎麼被想出來的?

一次次在看文件或文章時,常會發生 "英文 → 繁體中文" 的「翻譯結果看得懂、但很奇怪」的感覺,尤其是從 LLM 的 Gen AI 盛行之後,更是有這種芥蒂感在看文件或文章時不斷的出現。

因此想了一下有沒有更好的處理方式。

 

不單單只有純粹的把英文翻成中文,而是先定義台灣繁中在不同語境下應該有的語感與判準,這才催生了 Taiwanese-Mandarin-Translate-Skill (台灣華語翻譯 Skill) 這個 Skill :

 

...繼續閱讀 »
on jamestsai

在 8GB VRAM 筆電讓 Claude Code 串接 Gemma 4 E4B:Ollama + LiteLLM 完整踩坑紀錄

最近 Google 釋出了 Gemma 4 系列,其中 gemma4:e4b 是專為本機與一般電腦設計的版本,4.5B 有效參數,理論上筆電可以跑。我想說趁這個機會,把 Claude Code 的推論後端換成地端,省點 API token,結果跑得很累 XDD。最後發現「跑得起來」跟「能正常工作」是兩件完全不同的事。這篇就是把整個踩坑過程記下來,包含架構設計、VRAM 預算計算、為什麼一定要加 LiteLLM、以及 Claude Code 的 token 結構分析。

...繼續閱讀 »
on yc421206

進修課程