計算機(jī)科學(xué)與技術(shù)信息技術(shù)軟件開發(fā)實習(xí)報告_第1頁
計算機(jī)科學(xué)與技術(shù)信息技術(shù)軟件開發(fā)實習(xí)報告_第2頁
計算機(jī)科學(xué)與技術(shù)信息技術(shù)軟件開發(fā)實習(xí)報告_第3頁
計算機(jī)科學(xué)與技術(shù)信息技術(shù)軟件開發(fā)實習(xí)報告_第4頁
計算機(jī)科學(xué)與技術(shù)信息技術(shù)軟件開發(fā)實習(xí)報告_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

計算機(jī)科學(xué)與技術(shù)信息技術(shù)軟件開發(fā)實習(xí)報告一、摘要2023年7月1日至2023年8月31日,我在一家軟件公司擔(dān)任軟件開發(fā)實習(xí)生,負(fù)責(zé)參與企業(yè)級管理系統(tǒng)的后端開發(fā)工作。核心工作成果包括完成用戶權(quán)限管理模塊,實現(xiàn)代碼覆蓋率提升至85%,優(yōu)化數(shù)據(jù)庫查詢效率,使平均響應(yīng)時間縮短30毫秒。期間應(yīng)用Java、SpringBoot框架及MySQL數(shù)據(jù)庫,通過設(shè)計模式重構(gòu)了500行遺留代碼,并運用Git進(jìn)行版本控制,累計提交commit記錄127條。提煉出可復(fù)用的敏捷開發(fā)流程,包括自動化測試腳本編寫方法,將單元測試覆蓋率從60%提升至92%,驗證了CI/CD工具在持續(xù)集成中的效能。二、實習(xí)內(nèi)容及過程實習(xí)目的主要是想把課堂上學(xué)到的計算機(jī)理論知識跟實際工作聯(lián)系起來,看看自己在真實開發(fā)環(huán)境里能干啥。實習(xí)單位是做企業(yè)軟件開發(fā)的,主要產(chǎn)品是那種管理用系統(tǒng),客戶群體挺大的,技術(shù)棧用得也挺主流的Java、SpringBoot還有各種數(shù)據(jù)庫。我在那兒被分到了后端開發(fā)組,跟著師傅做項目。實習(xí)內(nèi)容的話,前期主要是熟悉項目代碼庫和開發(fā)流程,用Git拉取代碼的時候還手賤弄丟了點分支,好在他人幫忙找回的。后來就開始接手用戶權(quán)限管理模塊的優(yōu)化工作,這個模塊之前有點亂,權(quán)限控制邏輯嵌套得深。我花了大概兩周時間,先把原有代碼用策略模式重構(gòu)了一遍,把500多行的權(quán)限判斷代碼拆分成十幾個小模塊,這樣讀起來清晰多了。測試的時候發(fā)現(xiàn)之前有些邊緣情況沒考慮到,比如一個角色繼承了另一個角色的權(quán)限但又被單獨取消了某個權(quán)限,這種場景要特別處理。后來又加了幾個測試用例,確保覆蓋得夠全。重構(gòu)后代碼覆蓋率從65%提升到85%,而且線上反饋說某個復(fù)雜權(quán)限校驗的響應(yīng)時間從300毫秒降到了200毫秒。還參與了一個報表生成的功能,需要跟前端聯(lián)調(diào)。前端同學(xué)用ECharts做可視化,數(shù)據(jù)接口我這邊用的是MyBatisPlus,剛開始數(shù)據(jù)傳輸?shù)臅r候字段對不上,搞了半天是前端請求參數(shù)里多了幾個沒在數(shù)據(jù)庫里定義的字段,溝通了好幾次才弄明白。最后生成的報表支持導(dǎo)出為Excel,導(dǎo)出速度有點慢,我用了MyBatis的批量查詢和Java8的StreamAPI優(yōu)化了一下,大概把導(dǎo)出時間從8秒縮短到3秒多。遇到的挑戰(zhàn)主要是第一次接觸那種大型項目的代碼庫,幾千個Java文件看著就頭大,而且有些老舊的設(shè)計模式用得挺奇怪的。還有就是有一次線上環(huán)境出了個bug,是個并發(fā)問題,用戶在操作某個接口的時候偶爾會出現(xiàn)權(quán)限校驗失敗的情況。排查的時候發(fā)現(xiàn)是數(shù)據(jù)庫連接池配置太小,在高并發(fā)下獲取連接超時了,臨時調(diào)大連接數(shù)解決了,但根源還得改代碼。后來我學(xué)了JUC包里的鎖機(jī)制,像是ReentrantLock,感覺以后處理并發(fā)問題有方向了。實習(xí)成果的話,就是那個權(quán)限模塊重構(gòu)完成,測試數(shù)據(jù)能佐證優(yōu)化效果,還有那個報表導(dǎo)出功能也上線了。收獲挺多的,知道了一個完整項目的開發(fā)流程,從需求分析到代碼提交,還有測試和部署這些環(huán)節(jié)。學(xué)會了Git的工作流,比如feature分支怎么用,怎么寫規(guī)范的commitmessage。在解決那個并發(fā)問題時,對數(shù)據(jù)庫連接池和JVM內(nèi)存模型有了更直觀的認(rèn)識。對職業(yè)規(guī)劃有點啟發(fā),感覺后端開發(fā)雖然技術(shù)更新快,但核心的數(shù)據(jù)庫、網(wǎng)絡(luò)、操作系統(tǒng)知識得扎實,不然遇到難題還是抓瞎。而且溝通挺重要的,比如那個報表導(dǎo)出問題,要是跟前端早點明確接口規(guī)范,可能不會出現(xiàn)后面的返工。實習(xí)單位管理上,感覺新人培訓(xùn)還是差點意思,很多東西都是靠師傅帶,要是能有更系統(tǒng)的文檔和培訓(xùn)計劃就好了。崗位匹配度方面,我做的更多是優(yōu)化和補(bǔ)丁開發(fā),新功能參與得少,要是能有更多機(jī)會接觸全?;蛘呒軜?gòu)設(shè)計會更好??梢越ㄗh他們搞個內(nèi)部CodeReview的固定時間,讓新人都參與進(jìn)來,也能互相學(xué)習(xí)。三、總結(jié)與體會這八周實習(xí),像是從校園到職場的快速通道,8月31日結(jié)束的那天,感覺心里空落落的,但收獲是真的沉甸甸的。實習(xí)的價值閉環(huán)體現(xiàn)在哪里呢?就是那些曾經(jīng)覺得抽象的理論,現(xiàn)在都能在真實的項目里找到對應(yīng)。比如學(xué)過的SpringBoot自動裝配原理,在調(diào)試項目的時候才明白每個Bean是怎么被加載的;又比如數(shù)據(jù)庫索引的選擇,之前只是知道B+樹效率高,但看到優(yōu)化前慢得離譜的查詢語句,加上合適的索引后響應(yīng)時間從十幾秒降到幾十毫秒,才真正理解性能優(yōu)化的意義。這種把知識轉(zhuǎn)化為生產(chǎn)力感覺特踏實。對職業(yè)規(guī)劃的影響是具體的。之前覺得后端開發(fā)就是敲代碼,現(xiàn)在明白要做好一個系統(tǒng),得懂整個技術(shù)棧,從底層的JVM調(diào)優(yōu)到外部的消息隊列設(shè)計,還有跟測試、運維的配合。這次做的權(quán)限管理模塊重構(gòu),讓我意識到設(shè)計模式不是花架子,能用策略模式、裝飾器模式的地方,代碼的可維護(hù)性真的差不了多少。所以下學(xué)期打算系統(tǒng)學(xué)學(xué)《深入理解Java虛擬機(jī)》,順便把軟考的系統(tǒng)分析師證書也考了,感覺這些對往架構(gòu)師方向發(fā)展有幫助。行業(yè)趨勢這塊,感覺現(xiàn)在云原生、微服務(wù)是大勢所趨,這次實習(xí)用到的Docker容器化部署和Kubernetes的初步接觸,讓我意識到學(xué)校里學(xué)的虛擬化技術(shù)得趕緊補(bǔ)上。另外,那個報表導(dǎo)出性能問題,最后是用Java原生API解決的,感覺后端同學(xué)越來越重視JDK本身的優(yōu)化了。技術(shù)迭代太快,不持續(xù)學(xué)習(xí)真的會被淘汰。心態(tài)轉(zhuǎn)變是最大的體會。以前寫代碼圖一勞永逸,現(xiàn)在明白要考慮擴(kuò)展性、考慮線上問題,哪怕是加個日志都要考慮格式規(guī)范、不要影響性能。比如那個并發(fā)問題,第一次遇到直接懵圈,后來硬著頭皮查資料、問師傅,最后解決了,感覺自己抗壓能力和解決問題的能力肉眼可見地提升了。責(zé)任感也強(qiáng)了,提交的每個commit都要反復(fù)檢查,生怕引入新的bug。這種從學(xué)生到職場人的感覺,就是多了一份沉甸甸的責(zé)任。未來打算把這次實習(xí)遇到的知識點系統(tǒng)梳理一遍,特別是Git的工作流和單元測試的寫法,感覺做得還不夠地道。那個權(quán)限模塊重構(gòu)用到的設(shè)計模式,打算找個類似場景在個人項目中實踐一下。實習(xí)最后師傅跟我說,年輕人要多寫代碼,少說空話,這句話我一直記著。下階段學(xué)習(xí)會更有方向了,畢竟知道了自己哪些地方做得

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論