砥礪前行 | 2018 與個人技術之路

前路不可知的迷茫和彷徨


2018年初的時候,和行內的朋友吃了個飯,深感曾經的小夥伴已經走上了一條條各自獨立的道路,有的專一於webGL,有的傾心於移動端開發,有的走上了前端產品架構的道路,反觀我本身,感受像是在原地踏步,雖然說技術手段一直在進步,可是乾的事情和一年前並沒什麼區別,深感恐慌。php

如今想來,當時的恐慌是對的,感謝那個恐慌的本身,2015年從業至今,從剛開始樣式都寫不利索,到如今水平不提,經歷了不少,我自認爲本身是學習驅動型而不是那種項目驅動型選手,寫代碼也非外包心態,由於剛入行的時候有個朋友說過,平時工做的時候不嚴格要求本身以求發揮出本身的最佳水平,那什麼時間合適?因此我這樣作了,定要居安思危。css

18年春天經歷過一段時間的面試,有不少大廠,給個人感觸很深,會問不少底層的東西,不僅知其然,還要知其因此然,作前端開發不止寫寫頁面寫兼容這麼簡單,要懂框架的設計理念,要懂node開發,要會算法,一番起起伏伏的面試,總算知曉了大的方向,接下來就是朝着這個方向去努力。因此我選擇了沉澱,沒有着急的跳槽,畢竟像我這麼敬業的人,合同還沒到期不是。前端

腳踏實地的學習與成長


無數的項目累計下來,才知道本身擅長什麼,欠缺什麼。更重要的是,這些東西不僅是應用於工做,還要應用於生活。vue

春末夏初,迎來了本身今年的第一個大的項目,一個名叫mraid的項目,我要從服務器拿數據,而後解析展現到多平臺的sdk內的webview裏,項目一開始,我就知道這個需求難在哪裏,不少人以爲前端開發就是寫寫頁面,寫寫js,寫寫樣式,上個時代確實是這樣,可是如今,我選擇搖搖頭,Android和iOS那麼多版本,那麼多機型,我怎麼保證本身的代碼和樣式在全部設備上運行徹底一致,還有測試,瀏覽器有console,終端設備可沒有,因此項目開始以前先要坐下來想想架構的事。node

要處理js和css的兼容性,webpack是必不可少的,由於我使用的是vue-cli的webpaack配置信息,因此節省了許多的配置的環節,postcss也是必須的,爲了更好的作一些移動端適配的問題,我使用了scss來方便手寫一些樣式函數,使用vw來銜接原型圖以達到一一對應,js方面,使用發佈訂閱模式進行一些業務邏輯的開發,主要用來檢測視頻的播放,使用iconfont來節省圖片請求的消耗,緩存使用的是manifest,這裏又學了一些http方面的知識,最終完成開發,可是代碼是寫完了,測試怎麼作,個人作法是本地index頁面模擬客戶端下發的模板,而後客戶端請求局域網個人本地來進行開發測試,最終打包後的文件上傳到s3,s3上一樣有兩個文件夾,testpagead是測試用的,pagead是線上環境,一樣都是使用的線上的資源,這時候是初版的開發。react

緊接着初版上線,第二版的開發,須要使用vast協議,其實就是固定格式的xml文件,這裏面涉及到目前市面上流行的各類格式的xml,其實只是換了一種輸入方式,以前是json,如今是xml,咱們要作的就是把xml轉化成json,這項工做由個人同事王小樂完成,裏面涉及一些算法,好比說避免遞歸形成的性能損耗,改多維度爲單維度,通過這一系列操做,最終拿到json數據,可是測試依然是個問題,此測試非彼測試,jest並不能解決這個問題,由於要在真機上測試,因此沒法查看打印信息,使用Chrome和Safari的真機測試又因爲產品的邏輯緣由沒法打印,束手無策中,果然是須要吃飯就有人遞碗,得道者多助,vConsole映入眼簾。進過測試,解決了燃眉之急。webpack

然而,產品開發完已經半年,目前尚未合併到master,緣由未知。git

時間一轉眼已經是盛夏,騎着老張的祖瑪在G6上飛馳,我卻在想着代碼的事情,真是遊手好閒。交警叔叔告訴你,20塊錢任我行。隨着前一個開發任務告一段落,新的任務接踵而至。須要作一個後臺管理系統,這難道不是個人拿手好戲?一樣使用vue全家桶,有的同窗就問,爲何不用react,這就要追溯到2016年,在無窮無盡的jq和bt裏掙扎的我,當時急須要一個能解放生產力的框架,那個時候我在vue,react,Angular裏搖擺不定,最終發現vue的文檔好像更容易讓身爲初級的我容易看懂,因而乎,一騎絕塵。思緒拉回現實,後臺管理系統,UI我使用的是Element,不得不說,坑有,但起碼如今解決了,由於我去年就在用了,當時還有朋友說餓了麼這個UI不算是最好用的,我也很慌張,直到今年傳來阿里收購餓了麼的消息,阿里的技術整合把餓了麼的這套Element也整合了進去,有興趣的同窗參照阿里飛冰,就這樣vue全家桶+Element作完了一個後臺管理系統,由於有以前寫移動端的本身寫的scss輪子,還有一些小的框架,好比moment,math,echart等,讓工做事半功倍。程序員

目前爲止我少說了一件事,一件我16年入職時一直在作的,就是舊的後臺管理系統的開發,由於我司這邊平臺後端的同窗是php,使用的是yii框架,我一直沒想到怎麼處理讓我和php同窗一塊兒寫頁面和邏輯的事,由於畢竟人再努力也有力竭。這個時候就提現出了vue做爲漸進式框架的好處,由於平臺只引用了vue.js文件,因此我手寫了一個component,一些經常使用的組件應運而生,配合Element,以達到事半功倍的效果,這個時候機智的我默默把之前的js後綴名換成了ts後綴名,此處滑稽臉,組件樣式沿用移動端的scss輪子,一法通萬法,使用ts也是不得已而爲之,畢竟es678的兼容性擺在那裏。提及兼容性,頁面佈局使用grid和flex簡直一本萬利,畢竟這是純pc端平臺。es6

一晚上無話,大的需求作完了,接下來是一些之前的老舊代碼的重構和新的需求的開發,此處不詳談,由於產品看來可能改觀很大,在開發看來就是搬磚。DuangDuangDuang,又多出了幾個輪子,這裏有幾個輪子單獨提出來講,首先是頁面段落式跳轉組件,由於要監聽鼠標滾輪的滾動,和點擊按鈕跳轉,我知道該我上場表演了,這裏不用節流和防抖更待什麼時候,事實證實,效果不是通常的好。還有一個是資源上傳組件,裏面涉及到不少ajax回調,感謝Promise和async,await,讓我幾個月後還能看得懂本身的代碼。

中間夾雜着一些本身的學習的項目,好比node,對於沒有接觸過服務端的人來講,舉步維艱,好在有隊友,我看的是egg,感慨萬分,還在努力學習中,畢竟是有谷歌雲的人。ts也在學習,這個超集有點好用。算法,嗯算法必需要學,看看身旁的算法導論,一晚上無話。

新的旅途,新的征程


2019年了,距離人生贏家又近了一步。

有人說程序員三年是一個分水嶺,能上去的就上去了,上不去就該考慮轉型了,我想說的是,咱們都還年輕。

JavaScript Style Guide

2018年12月18日

相關文章
相關標籤/搜索