從一個普通程序員的角度,聊聊當前環境下,是否還適合做編程
先做一個簡單的自我介紹:
我是一名(ming)三本畢業(ye)(ye)生,通信(xin)工程專業(ye)(ye),畢業(ye)(ye)后報培訓班學習編程,然后 2016 年至(zhi)今一直在(zai)重(zhong)慶從(cong)事(shi) Java 開發,期間也(ye)短(duan)暫參(can)與(yu)過前端開發,自學過 C 語言和 Go 語言,任職過 5 家公司(si),涉足過醫療、稅務、農業(ye)(ye)、房(fang)地產、人工智能等行業(ye)(ye)。
這段履歷(li)算不上光鮮,卻是大(da)多數普通... ...
C# 棄元模式:從語法糖到性能利器的深度解析
在(zai) C# 的(de)語(yu)法演進中,“棄(qi)元(Discard)” 以一(yi)個簡(jian)單的(de)下劃線 _ 成為了既提升代碼可(ke)讀性,又優化性能的(de) “雙(shuang)料特性”。它并(bing)非單純的(de)語(yu)法簡(jian)化,而(er)是編(bian)譯器層面對 “有意忽(hu)略的(de)值” 的(de)深度(du)優化 —— 通(tong)過(guo)明確(que) “忽(hu)略” 的(de)意圖,不(bu)僅讓代碼更簡(jian)潔,更能減少內存分配、降(jiang)低性能開(kai)銷。本文(wen)將從使用場景、 ...
向量那點事兒
目錄一、向(xiang)量(liang)(liang)坐(zuo)標表示(shi)二、加(jia)減(jian)法向(xiang)量(liang)(liang)加(jia)法應用(yong)示(shi)例向(xiang)量(liang)(liang)減(jian)法應用(yong)示(shi)例三(san)、向(xiang)量(liang)(liang)內(nei)積應用(yong)示(shi)例四、向(xiang)量(liang)(liang)外積應用(yong)示(shi)例五、小試牛刀代(dai)碼(ma)示(shi)例六、小結 一、向(xiang)量(liang)(liang) 這次(ci)我們(men)繼續聊(liao)一下向(xiang)量(liang)(liang)。 向(xiang)量(liang)(liang)可以理解為一個有(you)方(fang)向(xiang)的(de)量(liang)(liang)。 它既有(you)大小(長度(du)),又有(you)方(fang)向(xiang)(指向(xiang)哪(na)里)。 生活(huo)中很多(duo)東西都可以用(yong)向(xiang)量(liang)(liang)描述,比(bi)如: 速度(du)(你開 ...
無意中在應用層瞥見了一個微內核的操作系統調度器
你好呀(ya),我(wo)是(shi)(shi)歪歪。 最近遇(yu)到(dao)一(yi)(yi)個(ge)業務(wu)上的問題,在網上看到(dao)一(yi)(yi)個(ge)對應(ying)場(chang)景下的解(jie)決方案,我(wo)感覺這(zhe)個(ge)場(chang)景還(huan)挺(ting)有通(tong)用(yong)性(xing)的,分享一(yi)(yi)下。 以(yi)后遇(yu)到(dao)類似(si)問題,或者當它以(yi)面試(shi)場(chang)景題出現的時候(hou),你可以(yi)拿去(qu)就用(yong)。 事情是(shi)(shi)這(zhe)樣(yang)的。 程序里面有一(yi)(yi)條“線路”,這(zhe)個(ge)“線路”是(shi)(shi)購買的外(wai)部(bu)服(fu)務(wu),使用(yong)起來是(shi)(shi)要收費的。 為了更好的理(li)解(jie)這(zhe) ...
Runtime Async - 步入高性能異步時代
同(tong)(tong)步(bu)(bu)(bu)代(dai)(dai)碼(ma)和(he)異步(bu)(bu)(bu)代(dai)(dai)碼(ma) 一般(ban)而言,代(dai)(dai)碼(ma)可分(fen)為同(tong)(tong)步(bu)(bu)(bu)與異步(bu)(bu)(bu)兩類。兩者同(tong)(tong)樣(yang)需要(yao)等(deng)待(dai)操(cao)作完(wan)成(cheng):同(tong)(tong)步(bu)(bu)(bu)會阻塞(sai)當前線(xian)程,直至操(cao)作結束后(hou)(hou)再(zai)繼續(xu)(xu)執行后(hou)(hou)續(xu)(xu)邏輯;異步(bu)(bu)(bu)則(ze)不阻塞(sai)當前線(xian)程,而是在發(fa)起操(cao)作時預先注冊完(wan)成(cheng)后(hou)(hou)的處理邏輯,待(dai)操(cao)作完(wan)成(cheng)時由操(cao)作本身(shen)或外(wai)部(bu)機制觸發(fa)該邏輯。 于是這就(jiu)帶來一個問題,那就(jiu)是同(tong)(tong)步(bu)(bu)(bu)代(dai)(dai)碼(ma)和(he)異步(bu)(bu)(bu)代(dai)(dai)碼(ma)的寫法是 ...
手算神經網絡BP傳播算法
雖然說是手算(suan)(suan),但是我(wo)還是會(hui)寫一點(dian) C# 代碼,避(bi)免敲壞了計算(suan)(suan)器。我(wo)和大家保證,整(zheng)個手算(suan)(suan)過程(cheng)(cheng)中(zhong),最(zui)終(zhong)的(de)(de)(de)計算(suan)(suan)結果(guo)只需要(yao)用到初(chu)高中(zhong)知(zhi)識(shi)。推(tui)導過程(cheng)(cheng)會(hui)用到部(bu)分高數的(de)(de)(de)知(zhi)識(shi)。我(wo)盡量將用到的(de)(de)(de)知(zhi)識(shi)點(dian)全列(lie)舉出來,本文對學渣友(you)好,期望能(neng)夠拿出紙筆和 VisualStudio 的(de)(de)(de)伙伴閱讀完(wan)本文能(neng)夠真(zhen)的(de)(de)(de)理解神經(jing)網絡BP傳(chuan)播算(suan)(suan)... ...
本可避免的P1事故:Nginx變更導致網關請求均響應400
問(wen)題背景 項目上使用SpringCloudGateway作為(wei)網關(guan)承接(jie)公網上各個(ge)(ge)業務(wu)(wu)線進(jin)來的(de)請(qing)求流(liu)量,在網關(guan)的(de)前面有兩臺(tai)Nginx反向代理(li)了(le)(le)網關(guan),網關(guan)做了(le)(le)一系列的(de)前置處理(li)后轉發請(qing)求到后面各個(ge)(ge)業務(wu)(wu)線的(de)服務(wu)(wu),簡要的(de)網絡鏈路為(wei): 網關(guan)域(yu)名(wmg.test.com) -> ... -> Nginx ->F5 ...
tomcat為什么假死了.md
現象 我(wo)們(men)生(sheng)產最近有(you)個服(fu)務(wu)偶爾(er)會掛掉(diao),接口報(bao)(bao)錯"connection reset by peer",上服(fu)務(wu)器curl也是同樣報(bao)(bao)錯,意思(si)連接被server拒絕(jue)了(le)。 通過dump以及(ji)日(ri)志分(fen)(fen)析,我(wo)們(men)已(yi)經知道了(le)問題代碼所在,就是使(shi)用easyexcel上傳、解(jie)析文(wen)件,開發(fa)同學沒(mei)有(you)做分(fen)(fen)頁,導致內存溢出(chu)。這點在e ...
換個方式用C#開發微信小程序
前一陣子幫朋友開(kai)發個微信小程(cheng)序(xu)(xu),一開(kai)始使用Wechat Devtools開(kai)發,實在受不了轉(zhuan)用uniapp開(kai)發。后來突發奇想(xiang)能(neng)否將(jiang)C#寫的(de)PixUI編譯成WebAssembly,由(you)微信小程(cheng)序(xu)(xu)加載運行。先上網搜了下小程(cheng)序(xu)(xu)使用blazor的(de)文(wen)章,都是用WebView包了一下blazor應用,沒有(you)參考(kao)價值(zhi), ...
日常問題排查-空閑一段時間再請求就超時
其實這(zhe)個問題筆者一(yi)直遇到(dao),而且解決方(fang)案也一(yi)直有,但從沒有真正的仔細思考過。但最近讀《tcpip路(lu)由技(ji)術》卷(juan)二突然靈(ling)光一(yi)閃(shan),將書中的一(yi)些闡述和這(zhe)個問題莫名(ming)的關(guan)聯想通了其中的關(guan)竅 ...
C#高性能開發之類型系統:從 C# 7.0 到 C# 14 的類型系統演進全景
自C# 7.0以來,C#語言在類型系統(tong)方(fang)面引入了(le)眾多新數據類型、類型構造和(he)語言特性(xing),以提(ti)升性(xing)能、類型安全(quan)性(xing)和(he)開發(fa)效率。本文全(quan)面整理了(le)從C# 7.0到(dao)C# 14.0(截(jie)至2025年4月,C# 14.0為預覽版)類型系統(tong)的新增(zeng)內(nei)容(rong),包括(kuo)值(zhi)元組(zu)、Span<T>、ReadOnlySpan<T>、Memory ...
工良出品 | 長文講解 MCP 和案例實戰
作者(zhe):癡者(zhe)工良 博客地址://www.whuanle.cn/ 示(shi)例(li)項(xiang)目地址://github.com/whuanle/mcpdemo 近期 MCP 協議越(yue)來越(yue)爆火,很多開(kai)發者(zhe)都投身參(can)與 MCP Server/Client 的開(kai)發,各個大廠(chang)也紛紛推出(chu)自己(ji)的 MCP 集成平臺或(huo)開(kai) ...
深感一無所長,準備試著從零開始寫個富文本編輯器
富(fu)文(wen)本編輯(ji)(ji)(ji)器是(shi)允許用戶在輸(shu)入(ru)和(he)編輯(ji)(ji)(ji)文(wen)本內容時(shi),可以應(ying)用不同的(de)格(ge)式(shi)、樣式(shi)等功(gong)(gong)能(neng),例如圖(tu)文(wen)混排等,具有(you)所(suo)(suo)見即所(suo)(suo)得的(de)能(neng)力(li)。與簡單的(de)純文(wen)本編輯(ji)(ji)(ji)組件<input>等不同,富(fu)文(wen)本編輯(ji)(ji)(ji)器提供了更(geng)多(duo)的(de)功(gong)(gong)能(neng)和(he)靈活性,讓(rang)用戶可以創建更(geng)豐富(fu)和(he)結構化的(de)內容。現(xian)代(dai)的(de)富(fu)文(wen)本編輯(ji)(ji)(ji)器也已經不僅(jin)限于文(wen)字和(he)圖(tu)片(pian),還包括視頻(pin)、表格(ge)、代(dai)碼 ...
一文徹底搞懂 MCP:AI 大模型的標準化工具箱
MCP 最近在 AI 領域 引發了 廣泛(fan)關(guan)注,特別是在 海外各(ge)大社區 中,大家(jia)熱(re)(re)烈討論,熱(re)(re)度 相當高。 我打開了 Google Trends,這是一(yi)個專門用于(yu)查看全(quan)球熱(re)(re)點(dian)趨(qu)勢的(de)網站。 輸入關(guan)鍵詞后,可以查看其熱(re)(re)度變(bian)化。 我搜(sou)索(suo)了 “MCP”,它的(de)趨(qu)勢如圖所示,變(bian)化非常(chang)明顯(xian)。 各(ge)位可以參考一(yi)下。 每天(tian) ...
10年+ .NET Coder 心語 ── 繼承的思維:從思維模式到架構設計的深度解析
引言 ? 小(xiao)(xiao)編(bian)(bian)是一名10年+的(de)(de)(de).NET Coder,期(qi)間(jian)也(ye)寫過(guo)(guo)(guo)Java、Python,從中(zhong)(zhong)深(shen)刻的(de)(de)(de)認識到了(le)軟(ruan)件(jian)開發(fa)與(yu)語言的(de)(de)(de)無關性。現在(zai)(zai)小(xiao)(xiao)編(bian)(bian)已(yi)經(jing)脫離了(le)一線開發(fa)崗(gang)位,在(zai)(zai)帶領團隊的(de)(de)(de)過(guo)(guo)(guo)程中(zhong)(zhong),發(fa)現了(le)很(hen)多(duo)的(de)(de)(de)問題,究其原因,更(geng)多(duo)的(de)(de)(de)是開發(fa)思維的(de)(de)(de)問題。所以小(xiao)(xiao)編(bian)(bian)通過(guo)(guo)(guo)總(zong)結自己過(guo)(guo)(guo)去十多(duo)年的(de)(de)(de)軟(ruan)件(jian)開發(fa)經(jing)驗,為年輕一輩的(de)(de)(de)軟(ruan)件(jian)開發(fa)者 ...
記一次.NET內存居高不下排查解決與啟示
前(qian)情 我們有(you)個(ge)海外的項目,一共70個(ge)服(fu)(fu)務(wu),前(qian)前(qian)后后花了(le)(le)超過一年(nian)時間完成了(le)(le)云服(fu)(fu)務(wu)遷移和架(jia)構(gou)(gou)調整(zheng)。主要(yao)是架(jia)構(gou)(gou)調整(zheng)了(le)(le),原(yuan)來的docker swarm托管服(fu)(fu)務(wu),幾臺云服(fu)(fu)務(wu)器(qi)將(jiang)n個(ge)服(fu)(fu)務(wu)堆(dui)在一起,只(zhi)會對(dui)服(fu)(fu)務(wu)器(qi)資(zi)源做整(zheng)體(ti)監控,服(fu)(fu)務(wu)器(qi)沒事沒人管單(dan)個(ge)服(fu)(fu)務(wu)的內存情況。新架(jia)構(gou)(gou)對(dui)單(dan)個(ge)服(fu)(fu)務(wu)改(gai)動(dong)不大,但(dan)外部(bu)相關架(jia)構(gou)(gou)則改(gai)頭換面了(le)(le) ...
開發中對象命名的一點思考
引言 在我所見過的(de)項目中,大多數(shu)團隊都傾向于“功(gong)能堆砌式”開發:需(xu)求來了就加邏輯或函數(shu),卻很少有(you)人愿意花時(shi)(shi)間在設(she)計上,尤(you)其是在對象命(ming)名(ming)(ming)花費時(shi)(shi)間。這看似“快速實現需(xu)求”的(de)方式,通常會對代(dai)碼(ma)的(de)可讀(du)性(xing)產(chan)生壞的(de)影(ying)響,進而影(ying)響可維護性(xing)。 一(yi)個好的(de)對象命(ming)名(ming)(ming)并非只是讓代(dai)碼(ma)表面看起來整潔;它背后關(guan)系到人類(lei)和 AI ...
.NET適配HarmonyOS進展
1. 前(qian)言 目前(qian)國(guo)產化系統浪潮下,適配(pei)(pei)鴻蒙是中國(guo)軟件(jian)大勢所(suo)趨(qu),.NET作為最(zui)適合開發(fa)客戶端語言之一,適配(pei)(pei)鴻蒙系統(HarmonyOS Next)是目前(qian).NET開發(fa)者(zhe)最(zui)關心(xin)的事情。我(wo)目前(qian)業余(yu)時間(jian)正在移植Avalonia到HarmonyOS,去年在.NET Conf CN上分享過,目前(qian)又取得一點進展,所(suo) ...
探秘Transformer系列之(1):注意力機制
探(tan)秘Transformer系(xi)列之(zhi)(1):注意(yi)力機制 0x00 概述 因(yin)為(wei)各(ge)種事情,好久沒有寫博客了,之(zhi)前寫得一些(xie)草稿也沒有時間整(zheng)理(都沒有時間登錄博客和微信,導致最近才發(fa)現好多(duo)未(wei)讀消息和私信,在這里和各(ge)位(wei)朋友說下萬分抱歉)。現在恢復更新,是因(yin)為(wei)最近有些(xie)從非AI領(ling)域轉(zhuan)過來(lai)的新同學來(lai)找我詢問是否(fou)有比較好 ...
C# 深度學習框架 TorchSharp 原生訓練模型和圖像識別-手寫數字識別
目錄開(kai)始(shi)使用 Torch準備下(xia)載(zai)(zai)數(shu)據(ju)(ju)集顯示圖(tu)片(pian)加(jia)載(zai)(zai)數(shu)據(ju)(ju)集定(ding)義(yi)網絡(luo)優(you)化模型參數(shu)訓練模型保存和(he)加(jia)載(zai)(zai)模型使用模型識(shi)別圖(tu)片(pian) 教(jiao)程(cheng)(cheng)名稱:使用 C# 入門(men)深度學(xue)習 作者:癡者工(gong)良 教(jiao)程(cheng)(cheng)地(di)址://torch.whuanle.cn 電子書倉庫://github.com/whuanle/cs_ ...
