從軟件工程專業(yè)思考到的大前端技術(shù)棧-問(wèn)答篇

時(shí)隔我的萬(wàn)字長(zhǎng)文 《從軟件工程專業(yè)思考到的大前端技術(shù)棧-詳情篇》 在 GitChat 上發(fā)布一周后,于 2017 年 8 月 3 日晚上舉行了與訂閱者互動(dòng)的線上交流環(huán)節(jié)羊娃。

驚喜的是悍及,這場(chǎng) Chat 最終有 215 人預(yù)訂闽瓢。折合每人 4.9 元的參與費(fèi),這里不妨說(shuō)出來(lái)心赶,最終 GitChat 平臺(tái)支付了我 754.11 元的稿費(fèi)鸳粉,并支付了我的推薦人 @余博倫 200+ 元的推薦費(fèi)——著實(shí)在酷熱的暑期留校學(xué)習(xí)中送了一把雪中炭。如果你也想發(fā)布一篇文章园担,讓大家付費(fèi)收聽的話,不妨聯(lián)系我作為你的推薦人枯夜,一起積極投身于知識(shí)付費(fèi)時(shí)代的潮流中~弯汰。

通過(guò)最終的微信群交流后,主持人整理的原文是 《韓亦樂:大前端技術(shù)棧從軟件工程角度實(shí)戰(zhàn)解析》湖雹,我在這里稍加補(bǔ)充咏闪,再次推送到我的公眾號(hào)之中,分享出來(lái)摔吏,也歡迎指教鸽嫂。

原文序:2017 年 8 月 3 日纵装,周四晚 8 點(diǎn) 30 分,freeCodeCamp 西安前端社區(qū)組織者据某,校內(nèi)互聯(lián)網(wǎng)實(shí)驗(yàn)室前端開發(fā)成員韓亦樂帶來(lái)了主題為《從軟件工程角度看大前端技術(shù)棧-詳情篇》的交流橡娄。以下是主持人 hrshy 整理的問(wèn)題精華,記錄了作者和讀者間問(wèn)答的精彩片段癣籽。


內(nèi)容提要:

  • 如何確保自己在理論和實(shí)踐方面達(dá)到一致的挽唉?你做了哪些前端相關(guān)的項(xiàng)目,哪些感受比較深刻筷狼?
  • 你花了多久掌握這些知識(shí)的瓶籽?
  • 我是非科班,想轉(zhuǎn)行做前端開發(fā)埂材。我的問(wèn)題是塑顺,前端涉及的知識(shí)很多,需要學(xué)習(xí)到什么樣的程度才可以去找第一份前端相關(guān)的工作俏险?
  • 一個(gè)人在開發(fā)严拒,寫的東西總是在不斷的重復(fù),希望可以得到提升寡喝,但是不知道自己的代碼哪里需要升級(jí)糙俗,哪里需要改進(jìn)?
  • 前端開發(fā)的發(fā)展前景如何预鬓?如何應(yīng)對(duì)快速更新的前端框架巧骚?由于前端知識(shí)太過(guò)豐富,有時(shí)候不知道從何學(xué)起該怎么辦格二?
  • 有哪些比較好的javascript和angularjs開源項(xiàng)目劈彪?
  • 如何參考官方api開發(fā)項(xiàng)目?
  • ajax請(qǐng)求與websocket哪一個(gè)更好顶猜?
  • 剛?cè)胄胁痪茫?能講一講requirjs和seajs這些模塊化開發(fā)還有掌握的必要嗎沧奴?
  • 想問(wèn)一下,在工作完一個(gè)項(xiàng)目长窄,或者學(xué)習(xí)了某個(gè)技術(shù)點(diǎn)后滔吠,如何更清晰地從中獲得反饋,然后找到下一個(gè)關(guān)注點(diǎn)挠日?我做完一個(gè)項(xiàng)目都會(huì)做總結(jié)疮绷,但是,我并知道我的技術(shù)在同行中到達(dá)了什么程度嚣潜,哪些東西應(yīng)該重點(diǎn)關(guān)注從而塑造成自己的核心競(jìng)爭(zhēng)力冬骚?
  • 想要掌握所有的這些知識(shí)肯定不是短時(shí)間可以做到的,并且在學(xué)習(xí)基礎(chǔ)知識(shí)的同時(shí),新的技術(shù)和知識(shí)也在不停地出現(xiàn)只冻,那么要如何做才能夠消除知識(shí)焦慮庇麦,保持清醒不斷學(xué)習(xí)提升自己?

問(wèn):如何確保自己在理論和實(shí)踐方面達(dá)到一致的喜德?你做了哪些前端相關(guān)的項(xiàng)目山橄,哪些感受比較深刻?

答: 在這里住诸,允許我把“理論”與“實(shí)踐”相關(guān)聯(lián)于“廣度”與“深度”驾胆,從這場(chǎng)活動(dòng)的文章可以看出我所涉及到的知識(shí)面比較廣,但實(shí)話說(shuō)贱呐,我的深度還不足以匹配廣度丧诺。
對(duì)于確保理論和實(shí)踐方面的一致,我傾向于將文章最后在軟技能層面所說(shuō)的那八個(gè)字作為學(xué)習(xí)指引——“刻意練習(xí)”和“持續(xù)改進(jìn)”奄薇,可以感悟一下這八個(gè)字驳阎。
我上學(xué)期期末用一個(gè)月多的時(shí)間,和兩個(gè)服務(wù)端同學(xué)共同參與了中國(guó)軟件杯競(jìng)賽項(xiàng)目之——基于微信公眾平臺(tái)的圖書借閱系統(tǒng)馁蒂。很遺憾的是呵晚,最終被全國(guó)范圍內(nèi)的團(tuán)隊(duì)競(jìng)爭(zhēng)下去了,這個(gè)項(xiàng)目讓我感受深刻沫屡。我在這次項(xiàng)目之后寫了相關(guān)總結(jié)文章可以看看饵隙,里面有我知道我沒進(jìn)決賽前的所有感悟。《“消失”的這倆個(gè)月里沮脖,我的前端項(xiàng)目如何從零開始》金矛。


問(wèn):你花了多久掌握這些知識(shí)的?

答: 從我分享的《如何寫一篇優(yōu)質(zhì)的博客》 的寫作背景可以看出: 我從高三暑假經(jīng)過(guò)一些編程方面的指引提前了解了 Web 開發(fā)的一些知識(shí)勺届。那時(shí)在不會(huì) JS 的情況下快速入手了 CodeIgniter 這個(gè) PHP 框架驶俊,實(shí)踐了一些對(duì)數(shù)據(jù)庫(kù)的增刪改查,學(xué)了學(xué) BootStrap 框架免姿。高三暑假的這個(gè)學(xué)習(xí)過(guò)程主要是通過(guò)觀看視頻來(lái)的饼酿。
第一天來(lái)大學(xué),帶了三本編程圣經(jīng)書:《PHP 與 MySQL 高級(jí)程序設(shè)計(jì)》胚膊、《鳥哥的 Linux 私房菜:基礎(chǔ)篇》故俐、《高級(jí) JavaScript 程序設(shè)計(jì)》。并且在一個(gè)月內(nèi)加入了校內(nèi)互聯(lián)網(wǎng)實(shí)驗(yàn)室學(xué)習(xí)服務(wù)端編程紊婉。正式轉(zhuǎn)前端是因?yàn)榇笠皇罴賲⒓恿?ThoughtWorks 在西安的“全棧暑期特訓(xùn)營(yíng)”(以促進(jìn)女生編程為主购披,這里先不多說(shuō)),這個(gè)對(duì)我影響很大肩榕。之后就以簡(jiǎn)書、微信公眾號(hào)、微信群為主體進(jìn)行學(xué)習(xí)株汉、討論筐乳、分享。簡(jiǎn)而言之乔妈,到現(xiàn)在這個(gè)大二暑假蝙云,我用了整整兩年。


問(wèn):我是非科班路召,想轉(zhuǎn)行做前端開發(fā)勃刨。我的問(wèn)題是,前端涉及的知識(shí)很多股淡,需要學(xué)習(xí)到什么樣的程度才可以去找第一份前端相關(guān)的工作身隐?

答:“剛開始學(xué)”“需要掌握哪些”“非科班轉(zhuǎn)行”“什么程度”這幾個(gè)問(wèn)題有個(gè)共通性——如何從零開始,到能勝任前端工作唯灵。對(duì)于我這個(gè)還沒找工作的學(xué)生(但畢竟組織過(guò) fcc 西安社區(qū)線下編程活動(dòng)認(rèn)識(shí)好多新人)贾铝,希望下面的一些話不至于白日談。
參考我的 Chat 文章中“前端開發(fā)”上的”必修“內(nèi)容埠帕,這里只強(qiáng)調(diào)一點(diǎn):前端三大語(yǔ)言基礎(chǔ)要牢實(shí)垢揩,其中要能從 HTML 聊到 HTML5,從 CSS 聊到 CSS3敛瓷,從 JavaScript 聊到 ECMAScript叁巨。其中當(dāng)然包括 DOM 操作、AJAX 操作和 JS 原生特性呐籽、組件化開發(fā)锋勺、瀏覽器兼容、響應(yīng)式布局绝淡、單頁(yè)面應(yīng)用宙刘、調(diào)試方法等等基礎(chǔ)知識(shí)點(diǎn)。
我從上個(gè)學(xué)期的競(jìng)賽經(jīng)歷中感悟到一點(diǎn)便是:項(xiàng)目驅(qū)動(dòng)學(xué)習(xí)牢酵。一起多實(shí)踐~至于在哪里找項(xiàng)目悬包,Github 是個(gè)很不錯(cuò)的選擇。


問(wèn):一個(gè)人在開發(fā)馍乙,寫的東西總是在不斷的重復(fù)布近,希望可以得到提升,但是不知道自己的代碼哪里需要升級(jí)丝格,哪里需要改進(jìn)撑瞧?

答: 這也就是——如何從“搬磚”中得到成長(zhǎng)?
整理這個(gè)項(xiàng)目用到的技術(shù)棧显蝌,從中找到下次可以優(yōu)化的地方预伺。
平時(shí)接觸新技術(shù)點(diǎn)時(shí)订咸,做一些小 Demo 留存著隨時(shí)復(fù)用。以后項(xiàng)目也能及時(shí)想到酬诀、快速用到這些技術(shù)點(diǎn)了脏嚷。
剛剛?cè)豪?@虎頭錘 說(shuō)的“審丑”讓我想到了代碼審查。如果有一起學(xué)習(xí)的小伙伴的話瞒御,帶上一起語(yǔ)音打游戲的勁遠(yuǎn)程結(jié)對(duì)編程父叙、互相代碼審查是不錯(cuò)的選擇。據(jù)我所知很多公司也是很重視代碼審查活動(dòng)的肴裙。

從上圖可見趾唱,我每次倒是習(xí)慣在寫一個(gè)項(xiàng)目前先想想這次我能用哪些酷炫的技術(shù),這可以看做提升之前的思想準(zhǔn)備蜻懦,雖然之后大部分技術(shù)沒用上甜癞。


問(wèn):前端開發(fā)的發(fā)展前景如何?如何應(yīng)對(duì)快速更新的前端框架阻肩?由于前端知識(shí)太過(guò)豐富带欢,有時(shí)候不知道從何學(xué)起該怎么辦?

答: 慶幸的是烤惊,由于IT 行業(yè)還沒有被壟斷乔煞、軟件開發(fā)成本高等原因、程序員的工資還是很可觀的柒室。前端開發(fā)作為其中的一派渡贾,展現(xiàn)了該有的活力。記得余博倫說(shuō)過(guò) “前端這行真的和任何一行本質(zhì)上沒有什么區(qū)別雄右。還是空骚,一切看個(gè)人±奕裕” 也就是說(shuō):縱然現(xiàn)在前端領(lǐng)域相比其它編程領(lǐng)域更火熱點(diǎn)囤屹,但遲早會(huì)平衡的。
“不知道從何學(xué)起”對(duì)自身會(huì)引發(fā)倆個(gè)角度的問(wèn)題:一是技術(shù)上遲遲沒有替身逢渔,這個(gè)解決方法在上面的問(wèn)答里已經(jīng)有所涉及肋坚;二是由此會(huì)產(chǎn)生知識(shí)焦慮,我也被困于此很久肃廓,現(xiàn)在是以“刻意聯(lián)系”和“持續(xù)改進(jìn)”作為指引智厌,保證每天都有產(chǎn)出、每個(gè)階段都有可以看出自己技術(shù)提升的小項(xiàng)目即可盲赊,千萬(wàn)不要成為“野心”的奴隸铣鹏。


問(wèn):有哪些比較好的 Javascript 和 AngularJS 開源項(xiàng)目?

答:好的開源項(xiàng)目可以多逛 Github 平臺(tái)哀蘑,上面的 js 項(xiàng)目數(shù)不勝數(shù)诚卸。Github 中的項(xiàng)目最新趨勢(shì)葵第、自己關(guān)注的人的最新動(dòng)態(tài)等功能,能讓我們更好的開拓視野合溺。以 Github 平臺(tái)的點(diǎn)贊量前倆名的開源項(xiàng)目來(lái)說(shuō)羹幸,都是 js 相關(guān)的。第一名 fcc 平臺(tái)我們可以看到一個(gè)完整的辫愉、基于 MEAN 架構(gòu)的全棧項(xiàng)目如何搭建起來(lái),還能學(xué)習(xí)其中的運(yùn)營(yíng)理念将硝、公益理念恭朗。第二名 BootStrap 前端庫(kù)我們可以通過(guò)了解其柵格結(jié)構(gòu)等并通過(guò)定量的閱讀源碼來(lái)提高自己的編程實(shí)力。


問(wèn):如何參考官方 api 開發(fā)項(xiàng)目依疼?

答: api 接口會(huì)用 ajax 痰腮、jsonp 等調(diào)用就好。這里應(yīng)該說(shuō)的是如何參考官方文檔的技術(shù)點(diǎn)進(jìn)行實(shí)戰(zhàn)律罢?比如 Bootstrap 官網(wǎng)上每一個(gè)技術(shù)點(diǎn)下面都有如何使用的示例代碼的膀值。


問(wèn):ajax 請(qǐng)求與 websocket 哪一個(gè)更好?

答:以我的能力來(lái)看误辑,這兩個(gè)技術(shù)沒有直接的競(jìng)爭(zhēng)關(guān)系沧踏。簡(jiǎn)單來(lái)說(shuō),前者進(jìn)行普通網(wǎng)絡(luò)請(qǐng)求巾钉,防止惡意請(qǐng)求服務(wù)器數(shù)據(jù)翘狱;后者主要解決了 http 前期版本中客戶端需要主動(dòng)聯(lián)系服務(wù)端的缺點(diǎn)(例如 ajax 輪詢),最終可以使客戶端與服務(wù)端雙向通信砰苍,具體使用哪一個(gè)需要根據(jù)業(yè)務(wù)場(chǎng)景進(jìn)行選型潦匈。對(duì)于初學(xué)者來(lái)說(shuō),倆者都有所實(shí)戰(zhàn)并了解其意義會(huì)是最好的赚导。


問(wèn):剛?cè)胄胁痪茫?能講一講 RequirJS 和 SeaJS 這些模塊化開發(fā)還有掌握的必要嗎茬缩?

答: 組件化開發(fā)、模塊化開發(fā)吼旧,可以從很主流的前端框架 React 中看到它們的身影凰锡,為什么不去掌握呢?這可以作為提升瓶頸的重要一步 —— 尤其在 Web App 時(shí)代到來(lái)的大背景下黍少。


問(wèn):想問(wèn)一下寡夹,在工作完一個(gè)項(xiàng)目,或者學(xué)習(xí)了某個(gè)技術(shù)點(diǎn)后厂置,如何更清晰地從中獲得反饋菩掏,然后找到下一個(gè)關(guān)注點(diǎn)?我做完一個(gè)項(xiàng)目都會(huì)做總結(jié)昵济,但是智绸,我并知道我的技術(shù)在同行中到達(dá)了什么程度野揪,哪些東西應(yīng)該重點(diǎn)關(guān)注從而塑造成自己的核心競(jìng)爭(zhēng)力?

答: 看這個(gè):《“消失”的這倆個(gè)月里瞧栗,我的前端項(xiàng)目如何從零開始》 斯稳。我也習(xí)慣作總結(jié),這個(gè)習(xí)慣很不錯(cuò)迹恐。
“了解同行技術(shù)”可以逛社區(qū)看文章挣惰、關(guān)注/訂閱一些博客、參與技術(shù)社區(qū)交流殴边、了解技術(shù)背后每個(gè)傳播者憎茂、分享者的故事。比如我的這個(gè)正在搭建中的“迷之你們”收藏夾锤岸。

“核心競(jìng)爭(zhēng)力”——可以通過(guò)打造良好的 ID 體系來(lái)實(shí)現(xiàn)竖幔。比如我在去年所繪制的這張圖。


@余博倫 問(wèn):想要掌握所有的這些知識(shí)肯定不是短時(shí)間可以做到的是偷,并且在學(xué)習(xí)基礎(chǔ)知識(shí)的同時(shí)拳氢,新的技術(shù)和知識(shí)也在不停地出現(xiàn),那么要如何做才能夠消除知識(shí)焦慮蛋铆,保持清醒不斷學(xué)習(xí)提升自己馋评?

答: 余大上來(lái)就是問(wèn)生活問(wèn)心態(tài)~我最近常常在克服焦慮的路上。我時(shí)刻告訴自己:野心和產(chǎn)出能力戒职、深度和廣度栗恩、理論與實(shí)踐,一定要平衡才有更好的發(fā)展洪燥。補(bǔ)充一個(gè)彩蛋磕秤,這篇 Chat 文章也將成為我接下來(lái)大三一年的填坑指南,相信也就不會(huì)有太多的知識(shí)焦慮了~捧韵。


在此感謝 異步社區(qū) 為本次活動(dòng)提供的贈(zèng)書《Web全棧工程師的自我修養(yǎng)》倆本市咆。分別送給了 @果凍 和 @張大俠。@果凍 把關(guān)于數(shù)據(jù)庫(kù)同步的問(wèn)題請(qǐng)教了很久再来,讓我們看到了對(duì)于“求知”的堅(jiān)持蒙兰;@張大俠 的問(wèn)題最終被 @余博倫 回復(fù)了,回復(fù)者推薦去收聽知乎大咖 @小爝 的知乎 Live芒篷,而 @小爝 的知乎 Live 每場(chǎng)都很貴搜变。。送本書壓壓驚吧针炉。

異步社區(qū) 是人民郵電出版社旗下IT專業(yè)圖書旗艦社區(qū)挠他,也是國(guó)內(nèi)領(lǐng)先的IT專業(yè)圖書社區(qū),致力于優(yōu)質(zhì)學(xué)習(xí)內(nèi)容的出版和分享篡帕,實(shí)現(xiàn)了紙書電子書的同步上架殖侵。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市铸敏,隨后出現(xiàn)的幾起案子缚忧,更是在濱河造成了極大的恐慌,老刑警劉巖杈笔,帶你破解...
    沈念sama閱讀 223,126評(píng)論 6 520
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件闪水,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡蒙具,警方通過(guò)查閱死者的電腦和手機(jī)球榆,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,421評(píng)論 3 400
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)禁筏,“玉大人持钉,你說(shuō)我怎么就攤上這事±槲簦” “怎么了每强?”我有些...
    開封第一講書人閱讀 169,941評(píng)論 0 366
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)州刽。 經(jīng)常有香客問(wèn)我空执,道長(zhǎng),這世上最難降的妖魔是什么穗椅? 我笑而不...
    開封第一講書人閱讀 60,294評(píng)論 1 300
  • 正文 為了忘掉前任辨绊,我火速辦了婚禮,結(jié)果婚禮上房待,老公的妹妹穿的比我還像新娘邢羔。我一直安慰自己驼抹,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,295評(píng)論 6 398
  • 文/花漫 我一把揭開白布拜鹤。 她就那樣靜靜地躺著框冀,像睡著了一般。 火紅的嫁衣襯著肌膚如雪敏簿。 梳的紋絲不亂的頭發(fā)上明也,一...
    開封第一講書人閱讀 52,874評(píng)論 1 314
  • 那天,我揣著相機(jī)與錄音惯裕,去河邊找鬼温数。 笑死,一個(gè)胖子當(dāng)著我的面吹牛蜻势,可吹牛的內(nèi)容都是我干的撑刺。 我是一名探鬼主播,決...
    沈念sama閱讀 41,285評(píng)論 3 424
  • 文/蒼蘭香墨 我猛地睜開眼握玛,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼够傍!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起挠铲,我...
    開封第一講書人閱讀 40,249評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤冕屯,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后拂苹,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體安聘,經(jīng)...
    沈念sama閱讀 46,760評(píng)論 1 321
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,840評(píng)論 3 343
  • 正文 我和宋清朗相戀三年瓢棒,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了浴韭。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,973評(píng)論 1 354
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡脯宿,死狀恐怖囱桨,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情嗅绰,我是刑警寧澤舍肠,帶...
    沈念sama閱讀 36,631評(píng)論 5 351
  • 正文 年R本政府宣布,位于F島的核電站窘面,受9級(jí)特大地震影響翠语,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜财边,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,315評(píng)論 3 336
  • 文/蒙蒙 一肌括、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦谍夭、人聲如沸黑滴。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,797評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)袁辈。三九已至,卻和暖如春珠漂,著一層夾襖步出監(jiān)牢的瞬間晚缩,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,926評(píng)論 1 275
  • 我被黑心中介騙來(lái)泰國(guó)打工媳危, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留荞彼,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,431評(píng)論 3 379
  • 正文 我出身青樓待笑,卻偏偏與公主長(zhǎng)得像鸣皂,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子暮蹂,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,982評(píng)論 2 361

推薦閱讀更多精彩內(nèi)容