總結(jié)
在我去年底發(fā)布的上一篇博客中,我說(shuō)道:
祝賀你成功堅(jiān)持到了最后!這是我發(fā)布過最長(zhǎng)的博客了。有趣的是,在TV Show Tracker博客中我也說(shuō)過同樣的話。
但是現(xiàn)在,這篇文章比那一篇還要長(zhǎng)!我的確沒有想到會(huì)寫這么長(zhǎng),也絕不是為了打破記錄而特意這么做。但我的確希望這篇教程對(duì)讀者有幫助,并且內(nèi)容豐富。如果你從本文中學(xué)到任何一點(diǎn)東西,那么我的辛苦就沒有白費(fèi)。
如果你喜歡這個(gè)項(xiàng)目,可以考慮擴(kuò)展它,甚至基于New Eden Faces創(chuàng)建一個(gè)全新的應(yīng)用。所有這些代碼都放在Github上并且是完全免費(fèi)的,所以你可以按照你的想法使用或修改它。下面是我想到的一些主意:
- 為重置統(tǒng)計(jì)數(shù)據(jù)、修正性別、刪除角色創(chuàng)建一個(gè)后臺(tái)管理界面。
- 為每周統(tǒng)計(jì)數(shù)據(jù)創(chuàng)建一個(gè)郵件訂閱程序,類似Fitbit Weekly Progress Report。
- 為兩個(gè)角色創(chuàng)建一對(duì)一的競(jìng)選投票。
- 更智能的匹配算法,比如高勝率角色應(yīng)該匹配別的高勝率角色。
- 使用分頁(yè)列出所有角色。
- 將圖片存儲(chǔ)到Amazon S3或者M(jìn)ongoDB GridFS來(lái)避免每次都請(qǐng)求EVE Online API。
- 研發(fā)圖片處理算法,以拒絕添加新角色的默認(rèn)角色形象。
- 每進(jìn)行X輪后自動(dòng)重置統(tǒng)計(jì)。
- 在角色資料頁(yè)面顯示投票歷史。
- 一個(gè)歸檔頁(yè)面,以顯示之前幾輪投票的Top 100人物角色。
從我發(fā)布的TV Show Tracker教程所收到的郵件,我很高興看到這些文章幾乎對(duì)所有水平的人都有用。無(wú)論對(duì)剛開始編程的初學(xué)者,還是對(duì)資深的JavaScript專家,或者兩者中間的人。
最后是我的一些學(xué)習(xí)經(jīng)驗(yàn),送給那些還在迷茫的人。
如果你還在迷茫是否要學(xué)習(xí)JavaScript:
- 相信我,我也經(jīng)歷過這個(gè)階段。在學(xué)校學(xué)習(xí)C++和Java后,我難以理解JS中的異步和回調(diào)那一套東西。我曾經(jīng)感到如此憤怒和挫敗,以致于我以為以后再也不會(huì)用JavaScript了。當(dāng)然,最后我還是學(xué)會(huì)了它。這里的技巧是,不要假裝你會(huì)JavaScript,而是以一個(gè)開放的心態(tài)從頭開始扎實(shí)的學(xué)習(xí)它。
如果你還在迷茫是否要學(xué)習(xí)和使用ES6:
- 我曾經(jīng)討厭ES6.它根本不像我在過去2-3年里逐漸愛上的JavaScript。盡管ES6從很大程度上不過是一套語(yǔ)法糖,但它對(duì)我來(lái)說(shuō)就像外星人一樣。你需要的是給它一些時(shí)間,最終你會(huì)愛上它的。并且,不管你喜不喜歡它,它就是JavaScript發(fā)展的方向。
如果你還在迷茫是否要使用React:
- 我記得第一次使用React時(shí)的想法是:“這些HTML跑我JavaScript里干嘛?去死吧,我還是堅(jiān)持用AngularJS?!辈贿^現(xiàn)在是2015年了,我想不用花時(shí)間去說(shuō)服你React是一個(gè)很棒的庫(kù)了。1年前還沒什么人用它,但是現(xiàn)在瞅瞅這個(gè)使用React的網(wǎng)站的長(zhǎng)長(zhǎng)的列表。React并不需要你用一種新思維方式去構(gòu)建應(yīng)用,而一旦你跨過最初的學(xué)習(xí)障礙,使用React構(gòu)建應(yīng)用其實(shí)是很有意思的。我讀過很多React和Flux教程,但老實(shí)說(shuō),直到我開始構(gòu)建自己的應(yīng)用,我才真正的理解了它。這里我只想再次重復(fù)我的想法:搭建一個(gè)小項(xiàng)目是學(xué)習(xí)任何技術(shù)最好的方式,而不是被動(dòng)的閱讀一堆教程和書籍,也不是觀看錄屏或教學(xué)視頻。
如果你還在為如何學(xué)習(xí)編程而掙扎:
- 你應(yīng)該學(xué)習(xí)如何堅(jiān)持,并且應(yīng)對(duì)學(xué)習(xí)路上一定會(huì)產(chǎn)生的沮喪和挫敗感,不要放棄。如果2009年我放棄了,我也不會(huì)進(jìn)入大學(xué)主修計(jì)算機(jī)專業(yè);如果2012年我放棄了,我不會(huì)獲得大學(xué)學(xué)位;如果2014年我放棄了Hacker School項(xiàng)目,也不會(huì)有后來(lái)的Satellizer,到現(xiàn)在被全世界的數(shù)千開發(fā)者使用。掙扎和挫敗始終存在,特別是在這個(gè)發(fā)展特別迅速的行業(yè)。不管你怎么想,我不認(rèn)為我是一個(gè)專家,我仍然和大多數(shù)人一樣每天都有迷茫和掙扎。我很少有走進(jìn)辦公室,并且清楚知道需要做什么、怎么去做的時(shí)候,如果工作對(duì)于我來(lái)說(shuō)很輕松,那說(shuō)明我不再進(jìn)步,該考慮換個(gè)工作了。
如果你是一個(gè)尋求建議的大學(xué)生:
- 現(xiàn)在就開始打造你的代表作品。去創(chuàng)建一個(gè)GitHub賬號(hào),并且開始為開源項(xiàng)目做貢獻(xiàn)或者開發(fā)你的個(gè)人項(xiàng)目。不要期望學(xué)校會(huì)教你市場(chǎng)所需要的所有技能。如果你的GPA成績(jī)不好也不要擔(dān)心,只要你擁有一個(gè)好的代表作品,或者對(duì)知名開源項(xiàng)目做了重大貢獻(xiàn),那就沒什么。對(duì)GPA成績(jī)和學(xué)校知名度過于重視的公司過于拘泥于傳統(tǒng),你可能不太想為它們工作,除非你也很重視這些。為生活確定一個(gè)長(zhǎng)期目標(biāo),并且為之而努力。我今天所獲得的成績(jī)并不是因?yàn)槲矣卸嗦斆骰蛴卸嗵觳?,我也并不是那些幸運(yùn)兒。我能取得成績(jī)僅僅是因?yàn)槟鞘俏蚁胍?,并且為了獲得它而持續(xù)的努力工作。
(全文完)
更多建議: