代碼復雜度的代價遠比你想象得大
引言:復雜度的代價遠比你想象得大 在 Java 后端系統演進過程中,代碼復雜度是影響可維護性、穩定性和迭代效率的核心因素。然而,復雜度往往被忽視,直到一次“小改動”引發線上事故,才被重新審視。 本文以“復雜度戰爭”為主題,系統性地探討如何識別、評估和治理代碼中的復雜性。本文不會停留在抽象原則,而是結 ...
從一個普通程序員的角度,聊聊當前環境下,是否還適合做編程
先做一個簡單的自我介紹:
我是一名三本畢業生,通信工程專業,畢業后報培訓班學習編程,然后 2016 年至今一直在重慶從事 Java 開發,期間也短暫參與過前端開發,自學過 C 語言和 Go 語言,任職過 5 家公司,涉足過醫療、稅務、農業、房地產、人工智能等行業。
這段履歷算不上光鮮,卻是大多數普通... ...
C# 棄元模式:從語法糖到性能利器的深度解析
在 C# 的語法演進中,“棄元(Discard)” 以一個簡單的下劃線 _ 成為了既提升代碼可讀性,又優化性能的 “雙料特性”。它并非單純的語法簡化,而是編譯器層面對 “有意忽略的值” 的深度優化 —— 通過明確 “忽略” 的意圖,不僅讓代碼更簡潔,更能減少內存分配、降低性能開銷。本文將從使用場景、 ...
無意中在應用層瞥見了一個微內核的操作系統調度器
你好呀,我是歪歪。 最近遇到一個業務上的問題,在網上看到一個對應場景下的解決方案,我感覺這個場景還挺有通用性的,分享一下。 以后遇到類似問題,或者當它以面試場景題出現的時候,你可以拿去就用。 事情是這樣的。 程序里面有一條“線路”,這個“線路”是購買的外部服務,使用起來是要收費的。 為了更好的理解這 ...
Runtime Async - 步入高性能異步時代
同步代碼和異步代碼 一般而言,代碼可分為同步與異步兩類。兩者同樣需要等待操作完成:同步會阻塞當前線程,直至操作結束后再繼續執行后續邏輯;異步則不阻塞當前線程,而是在發起操作時預先注冊完成后的處理邏輯,待操作完成時由操作本身或外部機制觸發該邏輯。 于是這就帶來一個問題,那就是同步代碼和異步代碼的寫法是 ...
手算神經網絡BP傳播算法
雖然說是手算,但是我還是會寫一點 C# 代碼,避免敲壞了計算器。我和大家保證,整個手算過程中,最終的計算結果只需要用到初高中知識。推導過程會用到部分高數的知識。我盡量將用到的知識點全列舉出來,本文對學渣友好,期望能夠拿出紙筆和 VisualStudio 的伙伴閱讀完本文能夠真的理解神經網絡BP傳播算... ...
本可避免的P1事故:Nginx變更導致網關請求均響應400
問題背景 項目上使用SpringCloudGateway作為網關承接公網上各個業務線進來的請求流量,在網關的前面有兩臺Nginx反向代理了網關,網關做了一系列的前置處理后轉發請求到后面各個業務線的服務,簡要的網絡鏈路為: 網關域名(wmg.test.com) -> ... -> Nginx ->F5 ...
tomcat為什么假死了.md
現象 我們生產最近有個服務偶爾會掛掉,接口報錯"connection reset by peer",上服務器curl也是同樣報錯,意思連接被server拒絕了。 通過dump以及日志分析,我們已經知道了問題代碼所在,就是使用easyexcel上傳、解析文件,開發同學沒有做分頁,導致內存溢出。這點在e ...
換個方式用C#開發微信小程序
前一陣子幫朋友開發個微信小程序,一開始使用Wechat Devtools開發,實在受不了轉用uniapp開發。后來突發奇想能否將C#寫的PixUI編譯成WebAssembly,由微信小程序加載運行。先上網搜了下小程序使用blazor的文章,都是用WebView包了一下blazor應用,沒有參考價值, ...
日常問題排查-空閑一段時間再請求就超時
其實這個問題筆者一直遇到,而且解決方案也一直有,但從沒有真正的仔細思考過。但最近讀《tcpip路由技術》卷二突然靈光一閃,將書中的一些闡述和這個問題莫名的關聯想通了其中的關竅 ...
C#高性能開發之類型系統:從 C# 7.0 到 C# 14 的類型系統演進全景
自C# 7.0以來,C#語言在類型系統方面引入了眾多新數據類型、類型構造和語言特性,以提升性能、類型安全性和開發效率。本文全面整理了從C# 7.0到C# 14.0(截至2025年4月,C# 14.0為預覽版)類型系統的新增內容,包括值元組、Span<T>、ReadOnlySpan<T>、Memory ...
工良出品 | 長文講解 MCP 和案例實戰
作者:癡者工良 博客地址:https://www.whuanle.cn/ 示例項目地址:https://github.com/whuanle/mcpdemo 近期 MCP 協議越來越爆火,很多開發者都投身參與 MCP Server/Client 的開發,各個大廠也紛紛推出自己的 MCP 集成平臺或開 ...
深感一無所長,準備試著從零開始寫個富文本編輯器
富文本編輯器是允許用戶在輸入和編輯文本內容時,可以應用不同的格式、樣式等功能,例如圖文混排等,具有所見即所得的能力。與簡單的純文本編輯組件<input>等不同,富文本編輯器提供了更多的功能和靈活性,讓用戶可以創建更豐富和結構化的內容。現代的富文本編輯器也已經不僅限于文字和圖片,還包括視頻、表格、代碼 ...
一文徹底搞懂 MCP:AI 大模型的標準化工具箱
MCP 最近在 AI 領域 引發了 廣泛關注,特別是在 海外各大社區 中,大家熱烈討論,熱度 相當高。 我打開了 Google Trends,這是一個專門用于查看全球熱點趨勢的網站。 輸入關鍵詞后,可以查看其熱度變化。 我搜索了 “MCP”,它的趨勢如圖所示,變化非常明顯。 各位可以參考一下。 每天 ...
10年+ .NET Coder 心語 ── 繼承的思維:從思維模式到架構設計的深度解析
引言 ? 小編是一名10年+的.NET Coder,期間也寫過Java、Python,從中深刻的認識到了軟件開發與語言的無關性。現在小編已經脫離了一線開發崗位,在帶領團隊的過程中,發現了很多的問題,究其原因,更多的是開發思維的問題。所以小編通過總結自己過去十多年的軟件開發經驗,為年輕一輩的軟件開發者 ...
記一次.NET內存居高不下排查解決與啟示
前情 我們有個海外的項目,一共70個服務,前前后后花了超過一年時間完成了云服務遷移和架構調整。主要是架構調整了,原來的docker swarm托管服務,幾臺云服務器將n個服務堆在一起,只會對服務器資源做整體監控,服務器沒事沒人管單個服務的內存情況。新架構對單個服務改動不大,但外部相關架構則改頭換面了 ...
開發中對象命名的一點思考
引言 在我所見過的項目中,大多數團隊都傾向于“功能堆砌式”開發:需求來了就加邏輯或函數,卻很少有人愿意花時間在設計上,尤其是在對象命名花費時間。這看似“快速實現需求”的方式,通常會對代碼的可讀性產生壞的影響,進而影響可維護性。 一個好的對象命名并非只是讓代碼表面看起來整潔;它背后關系到人類和 AI ...
.NET適配HarmonyOS進展
1. 前言 目前國產化系統浪潮下,適配鴻蒙是中國軟件大勢所趨,.NET作為最適合開發客戶端語言之一,適配鴻蒙系統(HarmonyOS Next)是目前.NET開發者最關心的事情。我目前業余時間正在移植Avalonia到HarmonyOS,去年在.NET Conf CN上分享過,目前又取得一點進展,所 ...
探秘Transformer系列之(1):注意力機制
探秘Transformer系列之(1):注意力機制 0x00 概述 因為各種事情,好久沒有寫博客了,之前寫得一些草稿也沒有時間整理(都沒有時間登錄博客和微信,導致最近才發現好多未讀消息和私信,在這里和各位朋友說下萬分抱歉)。現在恢復更新,是因為最近有些從非AI領域轉過來的新同學來找我詢問是否有比較好 ...



