1. 程式人生 > >一個前端初學者的2018年終總結 | 掘金年度徵文

一個前端初學者的2018年終總結 | 掘金年度徵文

前言

“本文是一篇個人年終總結”,這樣聽起來會不會高大上一點呢?

如果您正好瀏覽到這篇總結,可否邀請您認真讀完此文。無需您的點贊,但是若能留下您 寶貴的建議,是再好不過了。

寫這篇總結的目的大概有三個:

  1. 跟風:最近大家都在寫年終總結,分享新年規劃,所以湊個熱鬧咯!
  2. 總結:但是,也是該總結一下了,給自己一個交代,年初給自己定的計劃大多泡湯了... ...
  3. 求助:同時,我想總結的內容主要是在 前端的學習 方面,所以希望通過此文,在掘金社群收到一些前輩或朋友們在前端學習上的建議。

自我介紹

先簡單的自我介紹一下吧!

基本:

本人目前是一名大三學生,就讀於湖南某普通一本,CS 專業。個人愛好很雜:攝影、程式設計、設計、讀書、電影等等等,太多了,再介紹下去這篇總結就寫不完了。

技術:

學過 HTML/CSS/JS 基礎,但不紮實。簡單用過 PHP,但只是玩玩咯。用 Vue + 各種 UI 框架,寫過兩三個簡單的前端專案,用 mpvue 寫過小程式。學了一些 node,粗略瞭解 Vue + node 全棧專案的開發流程。其他的,大多是停留於瞭解的層面。

其他:

考研 or 工作,我選擇了工作,方向為前端,目標明年暑假找一家滿意的網際網路公司實習。

回顧

雖說是年終總結,但是我想從大一、大二說起。

大一、大二

誤打誤撞選了計算機專業,然後,誤打誤撞選擇了前端。

大一下接觸到了 Web 程式設計,而在那時候,對於只會用 C 編寫一些小程式來解決簡單的數學問題的我來說,HTML/CSS 是多麼的有意思。帶著對各種炫酷 Web 頁面的崇敬,我把很多時間放在了 HTML/CSS 的學習上(現在覺得是多麼的好笑hhh),同時也成功的加入了學校網路中心的一個網際網路工作室(

TickNet Studio),當然也只是一個培訓生咯。

... ... 這裡省略了很多 ... ...

大二的寒假,工作室的學長佈置了一個小專案(簡單留言板),為了完成這個任務,我花了一個寒假坎坷地學習了Bootstrap,嗯是的,我真的學了一個寒假,學完後還挺有成就感的。

回到學校,小何學長給我發了一堆連結,大概是這樣的:

WTF!!!,大寫的迷茫。這些都是什麼??

接下來這幾個月,我的 google 搜尋引擎記錄下了這些 keyword:

Vue  node  前端是什麼?  webpack  npm  模組化  前端工程化  ...
複製程式碼

朋友們問我:“最近在學什麼呢?”,我會回答:“前端”。這時的我,只是聽說過前端這個東西,它是什麼,做什麼用的,並不瞭解。也是這個時候,慢慢的喜歡上前端,說不上熱愛。

大三(最近)

今年 10 月份,我下定決心不考研了,也決定要作前端方向。當然,很擔心自己找不到滿意的工作,也從學長那裡瞭解到了很多網際網路行業的就業與發展。

然後我計劃了前端學習的計劃:控制技術學習的寬度,加深前端知識學習的深度。我覺得目前的我只能這樣,深入學習,紮實基礎知識。

(其他的放在後面總結)

學習困境

從我自己的學習經歷來說,有兩個問題:

1. 技術上的問題

很多時候,在學習一個新的知識或實戰開發的時候,都會遇到很多的問題。比如:IDE 突然報錯了、CSS 樣式很奇怪、軟體如何安裝、棘手的 Bug 等等等。

我覺得這些,是技術上的問題。而解決問題的方法就是去自己尋找答案(這不是廢話嘛!),這就決定了 解決問題的能力

我也在努力學會自己解決問題,學會使用 google 高效尋找答案,學會自己總結。

2. 學習方法與學習效率

對於我來說,我覺得這是一個很重要的問題。因為沒有去尋找正確適合自己的學習方法,我發現我花費了很多的時間和精力,學習效果卻很不如意。

一下是我自己目前使用的學習方法:

(1) 學習計劃

年初我制定了一個今年的學習目標,羅列了很多東西。嗯,我覺得這樣挺好的,給自己一個方向。然後,這些目標似乎都很遙遠,很多計劃都沒有完成。

我改變了方式,將近期的計劃,按照知識點學習順序分配到每一個月、每一個星期、每一天、甚至是每一個小時上。我會在晚上睡覺前,抽出時間來總結今天的學習內容,並計劃明天的學習內容。而每週末複習整理這個星期學習的內容,每個月底也進行一次總結。

我在電腦上和手機上都安裝了方便做 TODO 的軟體,每件任務設定為待完成狀態,每完成一件任務就打上勾。這樣當我晚上檢查學習任務的時候便可清晰的知道今天我做了什麼,學了什麼內容,同時也產生一種正向反饋

(TODO截圖)

(2) 做筆記

之前學習,都是看到什麼就去學什麼,然後一兩天就忘了,同樣也浪費了很多的時間和精力。

我把每個知識點學習到的內容用 markdown 的形式記錄下來(使用了一個方便的 markdown 編輯軟體),整理到資料夾,然後定期複習並把知識重新整合。

同時要養成寫部落格的習慣。似乎很多人會覺得部落格不過是東拼西湊各處摘抄的內容,沒有意義。是的,對於一個初學者來說,很難獨自總結出非常優秀的部落格。但對於我自己,我只想把部落格作為自己的學習筆記,就像高中學習時會將教程或者參考書上的內容摘抄到筆記本一樣,便於自己複習。(附:正偉的部落格

(3) 番茄工作法

Coursera 上的一門課 Learning How To Learn 中提到了番茄工作法,它的工作模式是這樣:第一,從待辦清單裡選擇出一個要做的事,然後用25分鐘的倒計時,在這個時間裡面專注在手頭上的工作,時間到了之後就休息5分鐘,再不斷的這樣迴圈,這就是番茄工作法。

關鍵是25分鐘專注於一件事,並且一定要休息。

最近嘗試使用番茄工作法來管理時間,它可以較好的克服拖延症,提高工作學習效率。

(win10 上的計時器截圖)

4. 思維導圖

最近在嘗試畫各種思維導圖,對於我腦海中閃過的任何想法(一部電影、一個遊戲、一張照片等),我都想用一個思維導圖來展示出來。然後,我把他用到了知識的學習上:對於每個知識點,建立一個完整系統的思維導圖,每個思維導圖之間可以聯絡在一起。(據說思維導圖和人工智慧的深度學習原理一樣??)

(一張未完成的思維導圖)

5. 學習反饋

前面也有提到學習反饋,我覺得學習過程中是需要及時給自己合適的正向反饋的,這樣我們才會有不斷精力、信心以及學習的慾望。

記得剛學習 HTML/CSS 的時候,我有特別大的興趣,因為我只需要寫簡單的 html 加上一些樣式就能立刻在瀏覽器上面看到自己所“創作”的頁面,對於一個小白來說是很有成就感的,這種輕而易舉就獲得的成就感是很難在學習其他程式語言中獲得的。這正是一種正向反饋的表現。

我的方式是:

  1. 在掘金上面寫自己的技術部落格:寫的篇數不多,文章內容也有很多錯誤的地方,但是能夠收到點贊或評論就是最大的反饋。
  2. 做開源專案:這對於目前的我來說是一件比較困難的事,但未嘗不是一個給予自己反饋的方式。
  3. 打卡:比如學習軟體會有每日打卡學習、Github 打卡一排綠、TODO上待完成的任務都打上勾...

6. 習慣的養成

通常說要養成一個習慣需要 21 天,但是這 21 天我就是始終沒有堅持下去,大多是因為給自己定的習慣很難一下子堅持下去。

在網上看到的一個方法:養成習慣很簡單,只需每天給自己安排最容易完成的任務,然後把這個堅持下去。

具體比如記單詞,很多時候都是計劃每天記憶 20 個甚至 50 個單詞,但是慢慢的都放棄了,因為不知道20個單詞要花多少時間去完成,而每天又會有很多不同的任務要去做,如果一天 20 個單詞沒有記完又會產生一種自我責備的心理,這是很糟糕的。而這種方法倡導的是:每天安排記單詞的時間為 10 分鐘(一個能輕鬆完成的任務),完成 10 分鐘的學習時間,不管是記了多少個單詞,不管現在是不是休息時間,都停下來,然後每天都堅持 10 分鐘。對,就是這樣,慢慢的就會養成每天記單詞的習慣,而每天記多少個已經不是重點了。

最近我也在使用這種方式:每天5個單詞、讀書10分鐘、12點睡覺(平時是12點後)等等這些很容易達到的目標。

------------------------一條分割線-------------------------------------------------------------------------------------------------

以上有很多方法還是我最近在嘗試的,至少我能感受到正確的學習方法帶來的好處。

3. 眼界

開闊技術的眼界,對於一個網際網路開發者來說是非常重要的。很長一段時間我都停留在 HTML/CSS 的反覆學習當中,甚至不知道作為一個前端該去學什麼,如何去了解前端領域。

我現在每天都會花時間簡單的去瀏覽各種社群或部落格,如下:

當然最近一直住在掘金,也不知道為什麼,最喜歡掘金社群。

但是,目前的我,需要的是加深對基礎知識學習的深度(不知道我的想法對不對),對於其他領域也包括一些前端方向的技術只是去了解或者只是玩一下 QuickStart。

目前

專案:

學院的一個教學評教系統,工作室的專案,還在準備需求中。準備技術棧:Vue + Element UI + Nuxt + Koa + MySql + redis

一張思維導圖:

道寬學長几個月前給了我一張前端面試技能樹:

這些內容好像都有遇到過,但那時沒有一個可以完全回到上來的。我想盡力把這些內容都啃一遍,應該算是比較系統了。

在看的書:

  • 《ES6 標準入門》
  • 《你找不到的 JavaScript》(中卷)(下卷)

圖書館:

我似乎很容易被別人打擾,而不能認真去做一件事,這樣番茄工作法也就失效了。

我把學習環境從教室和工作室轉移到了圖書館,因為這裡安靜(有空調,湖南是真的冷),周圍的同學也不會來打擾我。

計劃

應該是未來三個月的計劃,之後應該要準備投簡歷找工作了。

學習:

  • 思維導圖上的知識點一個一個突破
  • 計算機網路的基礎知識
  • 演算法與資料結構刷題
  • 提高設計審美(哈哈突然想到這個點,畢竟是一個熱愛攝影的前端 *^__^*)

讀書:

  • 《你不知道的JS》(上卷)(中卷)(下卷)+ 筆記總結
  • 《JS 高程》再讀一遍
  • 《CSS世界》好好學一下CSS
  • 《JavaScript語言精粹》《高效能JavaScript》《JavaScript設計模式》幾本短小精悍的書,計劃慢慢看吧
  • 《黑客與畫家》在看中,挺有意思的一本書

專案:

  • 教學評教系統(工作室專案,準備中)
  • 一個攝影社群(個人概念型專案,不知道能不能完成)

對比

這裡我想用類似蕭井陌老師的提問方式進行對比:

一年前

學習進度:

  • HTML/CSS:在慕課網上看了入門課程,無聊地啃了一遍 w3school 的文件
  • JavaScript:也是在慕課網上看了入門視訊,沒有實踐
  • PHP:會基礎的語法,寫過簡單的後端
  • 其他:大一學過C、資料結構,都還行

狀態:

對 Web 程式設計興趣挺大的,沒做過什麼專案,只寫了些靜態網頁。自我感覺學習效果很差, 對學習熱情很大,但有點迷茫不確定畢業是考研還是找工作。

問題:

  • 不知道應該看什麼書?只是在網上找視訊找資料學習
  • 不知道學什麼,有哪些方向?
  • 不知道如何學習程式設計?效果很差
  • 想做專案,但不知道一個專案需要如何完成?

現在

學習進度:

  • HTML/CSS:很多時候要查API文件
  • JavaScript:看過《JS高程》《JS面向物件程式設計》《你不知道的JS》(上卷),基礎知識還算一般,準備深入熟悉這門語言,如:面向物件、函數語言程式設計、設計模式等
  • Vue:看過一遍官網的教程,用 Vue 全家桶寫過兩三個小專案,用 mpvue 寫過小程式,熟練度還算一般
  • Node:瞭解過基礎用法,用腳手架寫過專案,能試著用 vue + koa 解決簡單的全棧需求,不是很熟練
  • 其他:mongodb/redis/vue ssr/ 等了解過,停止於QuickStart

狀態:

考慮了很多,還是準備畢業就去工作。準備明年參加春招,找一個滿意的實習。不知道對自己有沒有信心,目前狀態有一點緊張。總結了自己的知識體系,也計劃了未來幾個月要學習的內容。方向很明確,前端,要學習的內容也還很多,但不像以前迷茫。想潛下心來學習,準備找工作。

問題:

這裡很多關於找工作的問題了

  • 對於前端技術需要著重學習的內容是什麼?

  • 如何訓練自己的程式設計思想?

  • 如何給自己定位,實習要不要把自己目標定為大公司?當然大家都想去大公司,我的想法是去一箇中等的網際網路公司,對於自己發展有利的能在實習期間有所成長就行。

  • 前端應屆生找工作應該注意什麼,如何順利找到實習?

  • 面試中,實際能力面試技巧的比重如何?好像有聽說瘋狂刷面試題拿到 offer 的,在我看來這變成了類似的應試學習。

  • 工作的城市:北上廣深一線城市還是二線及一下城市?個人比較嚮往成都、蘇杭這些城市。

最後

到這裡,暫且認為您讀完了此篇總結。所以,非常感謝您能夠抽出寶貴的時間來閱讀這篇初學者的總結。

這篇總結花了大概兩天時間,前前後後回顧了很多內容,當然不能全部都寫上去,看起來會有些多餘。

回到開篇提到的,寫這篇總結的目的之一:想在掘金社群收到一些前輩或朋友們在前端學習上的建議。也即是上文所提到的內容,或者是其他關於前端、前端就業、學習方法方面,您可以在下面留下您的評論,或者... ...

我的聯絡方式:

猶豫了一會,應不應該發這篇總結,擔心這篇文章石沉大海無人理會(會不會很尷尬)。好吧,還是試試看。第一次這麼認真的寫年終總結,也算是給了自己一個交代。

嗯。。其實這篇文章釋出兩天後自己又撤回了。今天看到掘金的活動:掘金年度徵文 | 2018 與我的技術之路 徵文活動正在進行中...... ,又分享出來了,希望被翻牌。

掘金年度徵文 | 2018 與我的技術之路 徵文活動正在進行中......