4月1號那天,我領導給我安排了乙個任務,讓我負責乙個小系統,帶北京的兩個同事,還有上海這邊的乙個前端。講實話,我又興奮又覺得有壓力。在這三個星期當中,我覺得我從這個專案裡成長的不僅僅是技術、還有對整個專案的把控、專案的進度計畫、部署都得到完整的體驗性成長,當然有成長,就會有很多麻煩的事情,不過我覺得作為乙個技術人員來說,解決問題的辦法總是會比遇到的問題多!
4月1號開始,領導只是給我說,就按照(第三方系統)寫乙個中間系統,給公司的乙個平台使用,為什麼要這麼做,是因為第三方系統不提供頁面,只提供介面。於是,我參照第三方系統給出的介面文件,開始思考,我能做些什麼。由於這個系統沒有產品,於是我就成了這個系統最上級的人,這個系統怎麼做,頁面怎麼畫都是我說了算。我花了1天的時間去檢視第三方系統的介面文件和我們公司平台的文件,確定了我這個系統將要完成的事情。我排了乙個專案進度表,包括分配給個人的工時。(插一句:我真的是年輕,沒有考慮到很多的細節,還有人員技術水平的把控,導致最終完成時間推遲了乙個星期。)
當我的計畫表出來後,所有的表設計都是我來做的,大概花了1天的時間。於是我給北京的同事分配了每天應該做的事情。(這裡有個坑:由於我從來沒有真正擔任過乙個專案的負責人,導致我沒有提前去了解北京同事的技術水平,於是後來就有了坑。)
坑1:由於第三方系統給的介面有一部分是靜態資料,所以我們會寫成定時任務定期更新資料庫的靜態資料。這裡遇到了乙個問題,有乙個靜態資料檔案非常大,700m。如果只是單純的讀取檔案,匯入資料庫,得花個把小時,於是我用mysql的load file語句將這個檔案以欄位格式區分匯入資料庫。這裡解決的是第乙個難點(大檔案如何讀取到資料庫),第二個難點是,這個靜態資料,第三方系統建議是乙個星期更新一次,那麼我怎麼更新呢?如果我只是往同一張表更新資料,可是沒有主鍵,資料無法識別是哪一條資料是更新,哪一條資料是插入,更別說這種方式,會導致請求擠壓,最後系統崩潰(因為700m的檔案增量更新或者全量更新,會讓jvm記憶體溢位的。於是這種方式就pass了),我又想了乙個辦法,我新建了乙個複製表,load file到複製表中,但因為沒有主鍵,也無法更新。後來跟我領導討論了一下,採用方案如下:每週一的凌晨1點跑乙個定時任務,這個任務先會新建一張表,表名是靜態資料表+日期,然後將資料load file進新建表,資料匯入完成後,去config表裡插一條資料,表明現在可用的表是新建的這張表,然後往redis快取中存一下新建表的表名,整個系統中所有用到靜態資料表的sql獲取表名都從redis快取中取最新的。
坑2:由於我沒有提前對北京的同事申明該系統採用什麼風格、以及使用什麼**規範約束、沒有給他們寫例子**、也沒有提前向領導詢問技術水平,後來跟前端聯調的時候,介面老是報錯,我就去看了一下他們寫的介面,後來一邊看一邊改,確實很痛苦,讓我有一種,還不如我乙個人做的感覺。當時就已經預感這個系統可能要延期了。後來有一天晚上我實在是心態**,跟我領導提了一下這個事情,我領導說:這個系統我交給你了,不管你下面的人做的多麼不好,這些問題都是你的問題,你為什麼不提前說明、為什麼不提前做codeview。嗯,那天聊完之後,感覺自己心態好了很多,的確有些事情是我做的還不夠好,所以才導致這些問題的存在。
坑3:公司運維不給北京同事開設外網對映ip和埠,導致很多事情只能我來做,於是我經常加班,北京同事到點就走。
成長:這一次做系統的時候,我經常想的問題是:這個系統還有什麼問題,反覆的去串聯流程。而以前我考慮的問題是:這個功能是不是做完了,是不是沒有bug了。你可以看到我現在想事情就公升高了乙個級別。在這個過程中,我每天花了70%的時間開發、指導北京同事開發、測試、聯調,剩下30%的時間我一直都在想,這個系統上線有什麼問題,目前存在什麼問題,到當前時間截至,系統的完成度是乙個怎樣的情況。我從乙個只站在思考功能如何完成的層面上提公升到思考整個系統如何正常運轉的層面,我覺得這是我這一次最大的成長。還有就是,對帶人帶專案這個方面來說,如果下一次還有這樣的機會,我覺得我會表現得比現在更好。
總結:多經歷才會成長的更快!
flutter安裝及專案踩坑
1.安裝brew failed to connect to raw.githubusercontent.com port 443 connection refused bin zsh c curl fssl 管網歷史版本 將sdk拖到文件目錄 export pub hosted url export...
成長就是不斷踩坑的過程
識別第一版做出來的時候還是有點小成就的,畢竟是自己一手搞出來的,從 編寫到打包部署,雖然處處坑很多,但也是收穫頗多。1.檔案上傳使用form表單提供,這樣就要求使用者必須上傳檔案,很不方便,比如使用者需要識別某個頁面上中的文字,他不想將截圖儲存,他就想將截圖然後貼上去識別,以前的是不支援該功能呢 2...
ABP Zero專案入門踩坑
3.安裝最新版本的vs2017,必須v15.3.5以上,如果電腦系統是window7,還需要安裝更新 shell 4.0 vs2017的nuget控制台必須要power shell 3.0以上。然後生成專案 5.生成資料庫 2 開啟工具 nuget包管理器 程式包管理器控制台,修改預設專案為myab...