摘要:一個前端菜鳥的成長記現在才總結似乎有點晚,但聊勝于無,記錄一下我的,畢業的第一年,對于人生意義重大的一年。感謝勇哥新哥,給予我機會去做更多的嘗試。
一個前端菜鳥的成長記
現在才總結似乎有點晚,但聊勝于無,記錄一下我的2016,畢業的第一年,對于人生意義重大的一年。
我的求職之路打從進入了大四之后,便深深的意識到了就業的壓力,并一直在做著邁向社會的準備。從2015年9月開始,便開始投簡歷(技術類的招聘一般都比較早),每天8點出8點歸,總算沒有辜負辛苦了兩個月的自己,斬下一些不好不壞的offer。
11月開初,技術類的招聘已經基本結束了。不甘于閑賦在學校的我又開始了自己的實習之路。
說起來也是慚愧,在這實習期間,我竟輾轉了三家公司進行實習。
在4399實習期間,鍛煉了我非常多的東西。感謝勇哥、新哥,給予我機會去做更多的嘗試。
在4399中,我有幸進入到UED部門,在設計組中擔任前端工程師。
在這期間,我頭一回面向多項目編程,在這期間積累了非常多的實戰經驗,也開始有了自己書寫HTML、CSS、JS的規范。同時,在此期間自己不自量力地嘗試起了前端代碼構建工具——gulp,以自己的理解寫了一篇粗鄙的gulp介紹——Gulp Introduction。
研究完gulp之后,自己摸索著將gulp運用到實際的開發工作當中,在勇哥的指點下,開始跳出項目外去思考,嘗試利用工具解放雙手,向模塊化邁進,寫出文章——在項目中使用gulp。
在4399的這段寶貴的實習經歷中,讓我對大前端、“技術選型”、“構建工具”、“腳手架”有了一個更加深刻的認識,讓從前僅會隨便寫一下簡單頁面的菜鳥跳出一切都已經準備好的舒適區,從無到有的學習、創作、進步。
UC實習過完春節,在濱豪的推薦、南風姐的幫忙下,有幸進入到UC進行實習,再次開始一個全新的旅程。
在UC中,我就職于海外業務組,基于NodeJS進行爬蟲的開發。
在此之前,雖對NodeJS已經有一個初步的認識,也曾從書籍上學習過。但我始終認為,在前端、乃至技術的學習中,如果沒有項目驅動(無論是工作業務還是自己創造的需求),都是很難真正的學會的。
從一入職,我所做的第一件事就是學習項目組里面的編碼規范,包括命名規范、代碼縮進、編寫風格、注釋規范等,我才深深的感受到一個精良的規范對于一個團隊的良好運行,是多么重要的事情。
在之后的爬蟲開發當中,我越發的感受到編碼規范、代碼可讀性、code review等對于團隊的重要性。以前一直以為這些東西都是很虛的,但當團隊日益龐大,業務日益繁重時,如果不能保證代碼的可讀性,是會嚴重的拖慢團隊進度的。同時,嚴格的code review,可以防范于未然,規避很多日后意想不到的問題發生。從來沒想過,自己寫的代碼原來挺爛的...
在爬蟲開發中,越來越感覺NodeJS對于“前端”的革命是那么的巨大。它讓“前端”不再局限于所謂的“切圖”當中,僅僅幾十行代碼,一個爬蟲就能寫出來了,而且運行良好,足以支撐巨大的業務。同時,NodeJS的出現,也讓前后端沒有了編程語言上的溝通障礙,能夠更好的協作。
而我,也在這次實習中接觸學習并熟悉了很多必備的技能:正則表達式、Promise、命令行操作等。
現東家在一系列的機緣巧合之下,我來到了現東家,從入職到現在工作了8個月的時間,在其中飽嘗酸甜苦辣,技術得到了飛躍的進步。
感謝老大,沒有他當時的拍板就沒有現在的我,無盡感激~(雖然到現在我也不知道為什么當時他會看中我...)
如何入職暫且不表,但這段經歷對于我來說,是一個絕對重大的人生轉折點,它讓我開啟了一個全新的職業生涯,也讓我對創業有了更深、更全的認知。
對的,我就是進入到了一家前景非常可期的創業公司!
在這里,我是最初期的團隊中的一員,在老大的指引下,一步步從無到有的在前端這條路上越走越遠。
咱們團隊是“JavaScript 全棧開發團隊”,在此打個小廣告,歡迎志同道合的你。入職以來,我的title是“客戶端開發工程師”,主要開發咱們的APP。對的,你猜到了,用的就是REACT NATIVE。
在老大給我搭好了開發所需的初始框架之后,我便開始投入到工作當中。然而,我要怎么開始呢?!當時的我幾度懵逼,咬咬牙便開始摸索起來。
那時候我可是一個連github.com都不怎么會用的人呀,所以只能從文檔、老大給的starter-kit入手,一步步地啃并動手學習。
從搭建開發環境開始,我便陷入了深深的蛋疼當中...怎么讓windows中跑起starter-kit,我足足研究了兩天,折騰了一大堆,后來總結起來,嘔出了Windows下安裝React Native的安卓環境這篇文章。
說實話,搭建RN環境,挺累的...
開發環境搭好之后,就抓緊學習RN的寫法了。RN用的是一套全新的XML標簽,與一套全新的CSS語法,雖然看樣子格式還是那種格式,但背后卻有不同的學習成本。在摸索完之后,我便開始以我之前積累下來的移動端網頁開發經驗,開始摸索著開發移動端的頁面了。對著設計稿,摸索這RN中使用了REM、百分比、flex,以打造一個可以多屏幕適配的頁面。
還記得當時開發第一個頁面的時候,打一行代碼需要重寫三遍,一個頁面基本做完,又推倒重做,用2天時間,終于弄出了一個與設計稿大體相似的頁面。看到成果時,感覺沒白熬。
之后當然就是接二連三的爬坑啦。總之,在這段日子里,我摸出了:
github插件選擇(star,issue),找RN的插件的話,js.coach/react-native/是個不錯的選擇
npm版本控制很重要
技術選型
代碼組織的藝術
項目架構的前瞻性、拓展能力
深挖業務需求,凡事多想想,避免對代碼打上“日后必定重寫”的tag
APP開發到了一定程度,就碰到了JS所不能解決的瓶頸——原生SDK的接入。因為當時的業務需求,已經到了第三方插件無法滿足需求的時候了。為了實現功能,必須進入到android和ios中去寫RN可以用的插件。當時看到客戶端原生代碼(java, Objective-C)的時候真的是一臉懵逼,尤其是Objective-C,全新的寫法讓我迫不得已思考了一天的人生。
沒辦法,只得抄著現有的第三方插件庫,半抄半寫。途中已然忘記在多少個QQ群中問人,也記不起找過多少個朋友,多少個群友去問問題了,只記得同事們都對我說:“駿馬面前無溝壑”...
終于,我對RN的熟悉度越來越高,開發起來也沒那么吃力了。當然爬坑是少不了的,但已然沒有那么痛苦。趁著在業務不是那么多的時候,我趕緊買了幾本android、ios的入門書籍啃起來。感覺回到了剛開始學前端的時候,啃“JavaScript高級程序設計”那段日子...
在項目開發到一定體量的時候,之前寫得很爛的代碼、不太合適項目的架構,已經嚴重的拖了后腿了,讓項目開發變得難以高效迅速。在深思熟慮過后,我決定來一次項目代碼重構。
這次重構,的確預備了很久了。我把平時寫業務代碼時碰到的一些不爽的點都收集起來,然后每天下班回家就在想要如何做才能夠更好的在滿足業務需求的前提下,高效迅速的開發。這一次代碼重構主要針對下面幾點:
將非常通用的組件(入Toaster, Confirm, Picker等),從以xml的格式應用,轉變為函數調用。例如我之前需要在頁面中引入錯誤提示Toaster這個組件,是要在render中加上
重整項目中store冗余,不夠精細的問題。目前以頁面為維度,來進行store的組織,同時補充一些全局通用的store。
重整頁面代碼的組織結構,將其調整為一個較為通用、規范的組織結構。
革自己的老命,可不是開玩笑的...
其他達成 閱讀:已讀但不限于:
<瘋狂Android講義>三場技術分享:<你不知道的javascript(上卷)> <深入淺出NodeJS>
<第二屆FEDay前端年會> <騰訊IMWeb> <第三屆CSS大會>
在此特別感謝裕波大大與前端圈可愛的工作人員們,為我們廣州人民帶來了這兩場盛大的高質量前端技術分享會議。
多參加技術會議,能極大的開拓自己的技術視野哦!
2017年展望在技術上,不懂的還是太多了。2017年,希望自己能夠再接再厲,向當一名優秀的前端工程師這個夢想繼續努力。
多讀(15本書),多寫,多總結(15篇分享)。
同時,希望自己能夠多多接觸除技術以外的事物,努力拓展、拓寬自己的視野,交際!
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/86775.html
摘要:張鑫旭老師的文章寫的很棒,解決了我的許多困惑。所以,基礎知識的牢固就顯得尤為重要是個不怎么聽話的孩子,總是會搞出一些奇奇怪怪的事情來張鑫旭老師十年磨一劍,鉆研的魔法,可見其中技術細節有多復雜。 ??從實習算起,到現在工作了也有一年半的時間了,在這期間,深深感受到了前端領域的飛速發展,在這里記錄一下自己的成長歷程,算是對知識的一個梳理,也希望幫助到剛入行的同學們。說來慚愧,大學里并沒有涉...
閱讀 1249·2023-04-26 02:38
閱讀 928·2023-04-25 20:13
閱讀 3589·2021-11-19 11:31
閱讀 2396·2019-08-30 15:55
閱讀 2717·2019-08-30 14:11
閱讀 3157·2019-08-30 13:45
閱讀 1371·2019-08-29 18:41
閱讀 1147·2019-08-29 16:18