日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

00后程序员,2023年终总结

發布時間:2023/12/29 windows 46 coder
生活随笔 收集整理的這篇文章主要介紹了 00后程序员,2023年终总结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

00后程序員,2023年終總結

作為一個00后程序員,我回顧了過去三年的工作經歷。我來自湖南衡陽,雖然互聯網上常常開玩笑說我們00后炒主管、炒老板,但實際上我們也在不斷努力變得更強。最近兩年我沒有寫博客,不是因為懶,而是我榮升為了一位爸爸,肩上的責任更重了,工作上也需要積極主動承擔自己的職責,順便開發一個練手的物聯網項目。

工作的三年

2020年中旬,我還在深圳的一家公司從事機房環境動力監控的工作。當時我在翻看手機時偶然看見了深圳房價,這讓我望而卻步,經過長時間的思考和斟酌,最后還是決定回長沙買房定居。長沙之前需要有兩年的社保繳納才有資格進行購房,在2023年9月之后政策放寬了(而且現在首付只需用20%,無需社保就可以進行購房)。在深圳的這幾年中我也感受到了城市帶來的熱血和快節奏的生活,工資相對來說也比較高(但我記得自己當時在深圳實習時的工資也只有3.5k),經過一次跳槽,我的工資漲到了以w為單位。我第一時間給媽媽打電話,顛覆了她對我的認知。

開始打工
剛開始工作時,我經常瀏覽博客園,渴望獲取知識。我盲目地追求技術,經常看到大佬們在群里討論某個技術,我就立即去學習,但只是學會了如何使用,對技術原理一無所知。我像一只無頭蒼蠅一樣,剛剛畢業時看到別人在討論微服務網關(Ocelot),就參考別人的博客寫了一個Demo,覺得自己可以了。現在回想起來,我當時有點幼稚。實習半年后,我意識到高大上的東西并不實用,工作中更需要關注業務理解和編碼基礎。于是我在B站學習了C#的基礎知識,才發現學校沒有教過的特性、反射、攔截器、委托、表達式目錄樹等等。實習后半年,我一直在加強基礎知識,每學會一個知識點,都感到非常清爽。原來這才是我渴望的知識。在工作中遇到一些技術難題時,我也能游刃有余。后來,我開始學習C#內置方法和一些優秀的項目的源碼。我將學到的知識點寫成博客,以防忘記,并養成了編寫博客的良好習慣。

我跳槽
在那里實習了一年結束實現期。我還記得技術總監找我談話,說我表現很好,公司對我的能力非常認可,將我的工資從之前的3.2k漲到了6k。但是告訴我實習期結束后會有三個月的試用期,工資只有80%。我對此感到不高興,但沒有說出來,而是去外面面試。在準備簡歷的這幾天里,公司突然提前給我轉正了,但已經晚了,我的簡歷都已經準備好了。于是我出去面試,當時我拿到了4個offer,最低的工資都達到了8k,我還干個毛,上午簽完轉正合同,下午提離職 光速離職進行中,南山西麗報道去。

新公司
在新的公司,我結識了新朋友,至今我們仍保持聯系。我的領導非常好,經常與我保持聯系,幫助我解答困惑。我們使用的技術非常新穎,我第一次接觸到了微服務。我們為XX銀行開發了一套機房環境動力監控系統,學習了很多新技術,如Redis、CAP、Kafka等微服務架構。我們編寫了xshell腳本,實現了一鍵部署,因為我們需要將系統部署到全國各地的XX銀行機房,這樣實施人員只需要拷貝安裝包,執行安裝腳本,就可以下班了。在這里,我學到了很多東西,特別感謝我的領導。說實話,我也不清楚為什么最后離職了。公司在西麗有宿舍,不用支付水電費,基本上只需要自己負責吃飯,基本上沒有什么花銷。領導對我也非常好,現在回想起來還有點迷茫。最后,我只能歸結為我想回長沙買房,本來我計劃買房后回深圳,但現在有了孩子,所以不舍得哈哈。

回長沙打工
回到長沙后,我加入了一家加班很嚴重的公司。基本上每天工作時間都在11個小時左右,整個部門的開發人員都是如此。由于與直接領導 理念不合,我在這家公司工作了8個月后最終選擇離開。實際上,我理解大家都想向上爬,追求更高的收入。我們很多人也知道這種加班的狀態不可持續,但沒有人能夠改變這種環境,最后大家都隨波逐流,被加班文化卷走。

結婚&生子

2022年6月23日和我老婆辦理了結婚手續,2022年11月19日迎接了可愛的女兒的誕生

是的,我是奉子成婚的。實話實說,當我得知自己即將成為父親時,我真的很迷茫。我曾經想過要不要做人流,因為我擔心自己無法承擔起一個家庭的重任。但是,經過深思熟慮,我決定承擔起這份責任,成為一個父親。在2022年11月19號,我迎來了自己的小棉襖。那天,我一直守在老婆的床邊,看著她和孩子睡覺,直到凌晨4點才想起來自己還沒吃晚飯。那一天,我真的很開心,也很激動。

買房&裝修

因為我買的是二手房,裝修我是自己找人裝修的,就結合我自身理解,講一些個人建議。

買房

我一直關注著長沙的房價,平均價格在1w左右,我自己回長沙租住在榮盛的一個小區,三房兩衛一廳一車位每月2330元,居住了一年多對這個小區還是比較滿意的。我在安居客上查看小區均價在8.5k左右,當時我覺得這個價格還算低的,我原本計劃著存30w首付,買一個100平的房子,看到這個價格我就有提前買房的沖動了(首付還沒有存夠)。我聯系了一位中介帶我去看房,我們小區的房子有的人掛8k/8.5k/1w/1.1w,其實這些價格都是他們自己高估值,都可以砍價。開始時我這個房子113平90w,掛了幾個月都沒有成交,后來減少到85w,但是賣家想盡快回款,讓我使用商貸少一萬,就是84w,當時我們就去中介公司談了一下,我覺得這個價格還可以再少一些,我就直接說83w,如果可以就現在簽合同(房子的戶型是我和我老婆很喜歡的),從看房子到簽合同只用了一周時間就成功上車了。

我們小區我經常看法拍房有一次我沒有錢97平 65w被別人一拍拿下了。買二手房需要關注房子是不是滿五唯一,滿五唯一不需要個稅,可以省1w多。
不過現在看來我賣這個房子并沒有優惠多少,買的還是比較急了,現在長沙放開了房產證滿4年就可以交易,我們小區最近120+多套掛牌銷售,之前只有一期的房子滿五年了。買完房之后也聽我老婆說小區有人因為缺錢,把自己裝修好的房子按照購房時候的價格出售了,現在我們小區掛牌價也到了8k左右了,說明小區急賣的多了,賣方著急用錢,就不會對自己的房子抱有一個高估值。可以看看法拍房的估值價格,知道這個小區市場低價是多少,根據自己談判增加金額,我感覺我這個房子當時說80w也可以買到,因為房東缺錢,急需回款。房子成交價格是83w 中介公司收取2%手續費,還想收我金融手續費就是幫忙貸款的費用2%,我當時就不愿意了,我們可以自己找銀行進行貸款,為啥你幫我貸款還要收我1w多,中介一直說防止征信最后貸款下不來,定金就收不回了,我的征信這么好,我發泡反正就是不聽。最后就是我自己在招商銀行進行貸款的,省了1w多,其實中介收取的2%手續費也可以談,我不懂吃了虧,因為這個房子其實在很多中介都掛了,那家給我更低找那家簽就好了,還有就是其實如果可以自己找到一手賣方,就不要走中介公司省掉手續費,如果你足夠勤快,中介其實都不用,中介只是利用信息差賺錢。一開始我自己找了一手賣家相同的戶型110平二期送車位,房產證滿4年,沒有滿5年不能過戶,只需要83.8w,我不敢買,但是最近放開正常房產證滿4年就可以過戶了,不然我自己找的才是最好的選擇。

為什么大家都是買房買房,沒說要裝修呀(裝修花費可以再付一套首付了)
我剛剛買完房子,也是想找裝修公司,裝修但是報價全包都是20W+ ,本來想半包給裝修公司但是一般別人不愿意接半包利潤太少,不愿意做,我就自己就沒日沒夜的在抖音,B站查看清包(自己找裝修工人),周末的時候就和老婆在小區溜達,留意別人裝修工人信息,最后磕磕絆絆的花了17w把房子的事情弄好了。

幸福時刻

日請求量1億+的物聯網項目

這個已經是已經很成熟的行業了,我只是因為朋友自己的公司不喜歡用別人公司系統,而開發的。2022年正式立項一共開發了兩個版本V1版本,V2版本。從一開始投入100個用戶進行測試,到現在100w用戶,30w+在線用戶,前端&后端都是我一個人編寫,兩年的時間我呼吸過無數個凌晨的空氣,在不同用戶體量級別,我也遇到過多次挑戰。

技術棧(Mysql & ES & Redis & Minio 都是自建服務)

1.前端: Uniapp 編寫H5 Vue3 編寫管理后端
2.后端: .Net 6 .Net 7 Java
3.數據庫: Mysql + FreeSql
4.網關: ApiSix + Nginx
5.緩存: Redis + FreeRedis
6.大數據存儲: Elasticsearch
7.APM:Skywalking
8.消息中間件:Kafka
9.部署環境:Linux + Docker
10.自動發布:Shell 腳本
11.定時任務:Quartz
12.設備交互協議:Mqtt Http
13.文件存儲:Minio

遇到過的問題

Http協議設備通訊5秒一次交互擊潰服務

一開始我們上線的設備是http 協議進行設備信息交互,這個廠家默認心跳是5秒一次,一開始上線10,100,1000個用戶就發現問題,服務假死,Swagger 頁面都打不開。這個問題差點的就擊潰了我的道心,解決方案是控制設備心跳時間設置為3分鐘,但是廠家的程序員有點傻,自己的文檔寫了設置心跳指令,最后自己居然沒有實現,最后使用MemoryCache 緩存針對設備進行限流,3分鐘之內只能通過一個請求,最后這家廠商上線5k設備,我就要商家換廠家了哈哈。換成支持Mqtt協議的廠家

MQTT設備流量服務內存激增

當用戶日活體量到W級別的時候,出現服務器內存報警,我發現32G內存占用99%,我所有服務全部容器化了,使用docker stats命令查看到設備流量服務占用20G內存,我直接重啟了該服務內存占用馬上就下來了,但是過了一個晚上,我再看設備流量服務 內存又到13G了,之前在園子里也經常看,別人定位某個服務假死&內存&CPU飆升案例。
Dockerfile文件 添加安裝 dotnet-dump&dotnet-trace

RUN dotnet tool install -g dotnet-dump \
    && dotnet tool install -g dotnet-trace

進入容器內部docker exec -it {容器Id} /bin/bash
查看容器內部運行進程Id dotnet-dump ps
通過指定的進程id創建dump文件 dotnet-dump collect --type heap --process-id <ProcessId>
我將dump 包放在本地,直接使用VS 打開分析,發現MQTT消息持有了10G占用,也就是說我的內存都是被MQTT 消息吃掉了,查看kibana面板發現設備消息消費出現了延遲了幾個小時。
優化之前的代碼:

          _mqttClient.ApplicationMessageReceivedAsync += arg =>
          {
            // .....消息消費代碼....
          }

單個線程排隊消費消息,那我肯定是加線程呀,直接沖就完了。
優化之后的代碼:

        _mqttClient.ApplicationMessageReceivedAsync += async arg =>
        {
            await semaphore.WaitAsync();
            _ = Task.Run(async () =>
            {
                  // .....消息消費代碼....
            }).ConfigureAwait(false);
            return;
        };

確實在這一段時間內,解決了內存激增的問題了。

學習鏈接:https://www.cnblogs.com/huangxincheng/p/17865096.html

Redis 服務不可用

好景不長,我看商家一天幾千單的賣,日活用戶很快突破10w大關,端午節的一個中午,我收到了系統服務告警通知,設備流量服務掛了,服務心跳接口訪問卡死,kibana面板沒有日志輸出了,我進入docker 容器內部一直提示
【XXX】Next recovery time: 05/20/2023 15:14:41 (Connect to redis-server(XXX) timeout)
【XXX】Next recovery time: 05/20/2023 15:15:06 (Connect to redis-server(XXX) timeout)
【XXX】Next recovery time: 05/20/2023 15:15:31 (Connect to redis-server(XXX) timeout)
【XXX】Next recovery time: 05/20/2023 15:14:56 (Connect to redis-server(XXX) timeout)

直接痛苦面具出來了,重啟服務都沒有用,進行了很多測試,一直懷疑是Csredis 的問題,各種連接參數調整,都沒有作用,后面講CsRedis全部換成FreeRedis,還是不行裂開(StackExchange.Redis 也嘗試過),最后刪除Task.Run(()=>{})單線程執行,啟動多個設備流量服務 ,修改設備上送時間為10分鐘一次。這個問題嘗試了半個月的測試,最后定位為線程開啟過多了,最后代碼修改為

        // 開始一個80個線程信號量,控制可以進入多少個線程
        var semaphore = new SemaphoreSlim(80);
        _mqttClient.ApplicationMessageReceivedAsync += async arg =>
        {
            await semaphore.WaitAsync();
            _ = Task.Run(async () =>
            {
                try
                {
                   // 處理代碼
                }
                catch (Exception e)
                {
                  // 處理代碼
                }
                finally
                {
                    // 歸還線程
                    semaphore.Release();
                }
            }).ConfigureAwait(false);
            return;
        };

Csredis Issues
FreeRedis Issues

支付回調失效(查單補償)

我們需要開啟一個定時任務異步查詢微信訂單接口進行補償。V1 版本系統主要依賴微信異步回調請求,接收到支付成功信息。但短板在于,如果微信沒有支付成功的異步回調,訂單就無法正常完成。之前客服反饋過,V1 版本過于依賴微信支付成功主動通知,如果異步回調通知notify_url不可用,支付通知將永遠無法收到。

參考地址

Mysql 數據庫連接耗盡

這個問題也是最開始自建mysql,當體量劇增出現的問題Too many connections mysql 默認最大鏈接數是151,允許的最大連接數是 16384,問題就是當前系統運行需要占用更多的鏈接數,處理這個問題我們只需要調整Mysql 最大鏈接數數量,設置服務鏈接字符串Max pool size

max_connections 設置多少合適?

理想公式:

服務器響應的最大連接數值占服務器上限連接數值的比例值在10%以上,如果在10%以下,說明mysql服務器最大連接上限值設置過高。
查看服務器響應最大連接數
show global status like 'Max_used_connections';

驗證最大連接數值是否合理
Max_used_connections / max_connections = 215/1000 ≈ 21.5%

Mysql 主從模式延遲過高【未解決】

我使用的是binglog 訂閱進行主從同步的,目前這個問題沒有解決,暫時先挖一個坑

Uniapp H5 提示網絡不可用請刷新

當系統用戶越來越多了,就有客服反饋h5出現,如下的錯誤頁面,一般讓客戶刷新頁面就可以正常顯示,但也有客戶死活不行,最后壓力給到我這邊。最后根據官方給出解釋,我將前端協議改成Https 協議就好了

官方解決方案

ApiSix 無法使用Https協議

這個真的很坑人,因為之前的問題,我必須讓前端使用https協議,但是我的網關協議是http,而且走的是9080端口。我按照官方文檔嘗試了很多方法,但都不行。后來我發現ApiSix的9443端口是https協議,我就配置了證書,但是一直不生效,這個問題困擾了我好幾天。最后我在GitHub上提問,有個建議讓我升級到最新版本,這樣就解決好了。
Issues

展望未來工作的第六年

回想工作的這三年,從行業窺探者轉變為行業前行者,從行業小白到行業大白,剛工作時曾經也幻想過,三年后的自己,技術是不是很厲害了,自己有沒有買車,自己有沒有買房,自己有沒有月薪過W,自己有沒有女朋友,自己有沒有一夜暴富。

三年前的自己,看現在的自己,一定會感到自豪吧,從兩袖清風,到褲帶空空也是一種幸福,在這里我想對三年后的自己說,希望能夠一直保持著熱情&積極且主動,保持著一顆學習的心,對于技術保持一顆追求原理精神,自己也需要多學習關于技術以外的知識,自己多抽出一些時間陪伴家人。

三年后的自己立下Flag

  • 報考駕照
  • 買車
  • 看20本書(技術或者軟實力)
  • 自己的技術更有深度
  • 保持運動(目前是每天自行車通勤)
  • 物聯網卡系統能夠盈利

總結

以上是生活随笔為你收集整理的00后程序员,2023年终总结的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。