此篇為 JS 直播班心得,著重在學習歷程與心態調適。
前情提要
2021年應該算是一個的轉捩點,三月時公司宣布要縮編,部分員工被裁員,講到這裡不免感到有點感慨,因為裁的員也包括我 ( 淚奔 ~ 但其實在去年底切版直播班結束之後,就已經在抱著打算年後可能會離職然後全心投入學習的打算,只是沒想到來的如此快,所以當下聽到公司的縮編政策時,老實說心情有點哭笑不得,老天爺算是眷顧我嗎,讓我有一筆經費可以在待業時全心投入學習,所以四月就開始跟前同事開始研究失業補助的部分,接著剛好遇上嚴重的五月疫情大爆發大家都不太出門了,六角學院也開了一系列的免費課程跟付費直播班課程讓大家在家學習,加上當時疫情期間求職滿困難的,索性就決定都待在家,開始馬不停蹄的持續學習直到現在,當然在家都是獨自在線上自學,身邊也鮮少有懂程式的朋友,所以了解到這是一條孤獨且陌生的路,但漸漸的發現六角學院社群力量的強大,不管是在 slack 還是 Discord 都讓獨自學習的人,有人可以問,有助教可以協助,有老師 24 小時的支援,是一個很大的心理支持系統!
個人背景與動機
本身是設計相關畢業,近幾年都是從事電商平面設計,近年在電商公司工作的期間不免會遇到一些與程式相關的難題,像是幫忙改個網頁字體顏色、字體大小、Banner 調換之類之類的小改動,但改著改著,好像覺得滿有趣,原來程式可以做很多事情,記得去年第一次上切版班時,當時的我只懂得切版完全不懂 JS 邏輯,但因公司的工作需求,就硬幹網路上搜尋一堆奇型怪狀的資料,拼拼湊湊勉強寫出了一個有 JS 邏輯的「一進頁面就顯示的彈跳視窗且伴隨著可以複製折扣碼跟折扣倒數日」的功能,當時就有幫忙公司寫到這個小小小的功能,還有像是側欄廣告呈現、指定頁面彈跳廣告視窗之類的功能,先不管程式撰寫的正確性,但有畫面出來覺得小有成就感,就像洧杰老師每次都在強調的「先小步測試,再建立信心」,這種小步小步的學習,最後累積起來是一個很可觀的知識量,而最快速的學習就是直接上戰場,這也更確定自己要轉職前端的決心!
為什麼想轉職前端
以下三點是我目前想到的三個理由 ( 未來問我的話,理由也可能隨時會變 XD
- 嚮往數位游牧的生活
- 前端技術可以帶著走
- 工作似乎充滿挑戰性
有時候學習進度落後,提不起勁來學習,就想想當初為什麼想要轉前端,轉餐飲不好嗎?轉業務不好嗎?轉其他職業不好嗎?( 欸~ 自己想一想好像又有動力了 ~
而我真的有辦法轉職成功嗎?親朋好友都看著呢,雖然時不時家人朋友都在過度關心,有時候當然會有點壓力,目前比較慶幸的是,離職後還有副業支持著我的生活開銷,有時候副業太忙碌壓縮到學習時間,所以每週都要依照訂單量來調配學習時間!
為什麼報名這堂課
其實這是二刷了,為什麼我又報名了這堂課呢 ? 老實說就是想要有同儕一起學習的感覺,還有補足我年初時 第一次參加 JS 直播班 學習上的不足,記得第一次參加時,到最後一週的最終作業也都還搞不懂函式、迴圈、事件觸發是怎麼一回事,當時的最終作業幾乎是半抄半寫,敗就敗在我第四週沒有學好物件取值跟陣列取值這個部分,所以沒辦法自己理解寫出來,每天都在自我懷疑,但這次二刷後加上時間上很充裕,每天都很努力寫每日任務跟主線任務,特別針對物件取值跟陣列取值做重點學習,這樣努力下來的兩三個月,會覺得自己好像真的有點進步了,好像可以自己寫個什麼出來,好像可以繼續往 Vue 前進,每天看著 slack 上面很多同學的提問跟進度,學習到同一個題目有很多不同的寫法,這應該是參加直播班最大的好處吧!
這九週的學習歷程與收穫
這九週都在學習業界實務 JS 技能、ES6 重點語法、部分 JS 核心學習為每週的週末任務挑戰,第一週到第四週都是在打好地基,紮紮實實的打好 JS 基礎,這幾週主線任務每個題目都看似簡單,但每個題目都有很多解法可以去深入探討,第五週是一個期中考的概念,必須將前四週的知識量融會貫通,第六週老師開放職涯諮詢服務,審視自己擬定適合的學習方向,第六週到最後一週是一個連貫性的專案,最後會寫出一個電商網站的邏輯,用 axios 串接 API、運用 Validate.js 作驗證機制、用 C3.js 渲染圖表!
第一週 — 重新認識 JAVASCRIPT 之術
學習重點:變數、基礎型別認識、記憶體位置、var、let、const
第二週 — 邏輯判斷之術
學習重點:if、else、邏輯運算子、流程判斷、流程圖設計
第三週 — 物件跟陣列資料處理之術
學習重點:資料定義、陣列、物件、陣列操作大全、for、forEach、JSON
第四週 — 函式設計之術
學習重點:function、箭頭函式、參數設計、監聽整合、讓程式能重複呼叫執行、消除重複的程式碼
其實最深刻的是第四週,我花了大量時間練習以及理解邏輯,當然影響後續 JS 學習也會是這週的練習,所以這週的 BMI Kata 必須確實的練習,才能熟悉語法繼續前進,以下是 BMI kata 的練習紀錄,藉由每次的記錄,刻意練習自己犯錯的地方,雖然每次犯錯的地方都不一樣,所以每次都可以學習 debug 的能力
第五週 — 期中試煉
學習重點:JS 開發思維、程式邏輯整合
主線任務:用自己前四週所學,開發旅遊網邏輯
第六週 — AJAX 操控伺服器
學習重點:AJAX、JSON、Axios、fetch、HTTP
這週的週末任務是分享自己的學習規劃,洧杰老師會協助規劃轉職方向,這也幫助我滿多的,老師也給了幾項建議給我
- 挑戰第一關 F2E
- Git 至少要會開分支、發 PR ,可以參考 Git 教學手冊
- 必須熟悉切版 & BS5
第七堂 — 第三方 JS 套件整合之術
學習重點:C3.js 圖表、網頁互動感、資料驗證、Validate.js
主線任務:旅遊網邏輯 + C3.js 圖表
第八週 — RESTFUL API 整合開發
學習重點:RESTful API、axios
第九週 — 期末專案試煉
學習重點:實戰運用套件來加速開發、JS 進階觀念
主線任務:用自己前八週所學,開發寢具電商網邏輯,雖然還是覺得自己寫的很卡,但是至少比第一次學習 JS 時的自己進步更多了,這次的最終任務,至少練習五次,最快的一次時間大約是 10 小時,除了參考老師的邏輯,也嘗試自己寫過!
最終作業除錯 Check Tips :
- customer / admin ( 404 )
- API PATH
- HTTP method 是哪種
- token 要帶入
- 傳入的格式要帶對
- 傳入的物件屬姓名稱、型別
自己易出錯的 Check Tips :
- 型別錯誤
- 複製不完整
- 大括、中括、小括、符號錯誤
- 單字拼錯
- 變數、參數帶錯
- 物件、陣列取值方式
- 沒做資料關聯
- 物件或陣列沒加逗點
- 全域或區域搞混
- 函式沒呼叫
學習時,心態上的調適
JS 作業量雖然不多,但燒腦程度爆表,要持續培養邏輯思考能力,而這九堂課有滿滿學不完的知識點,洧杰老師上課講的每句話都是知識點,有時候也是會來不及消化,自覺自己是一個不擅於寫筆記的人,就算有寫點筆記,但也都零零散散的,所以大部分時間都是看直播班同學分享的筆記來學習 ( 有些同學的筆記都比較香而且寫的脈絡都很有邏輯很好閱讀 ),在學習的這段期間,必須要了解自己是怎樣的人,才能有效率的學習,而且要學會「不跟別人比較,和昨天的自己比較就好」,雖然有時候都會想說為什麼別人都可以寫的比較快?為什麼寫的這麼簡潔?為什麼這麼快就理解了?為什麼自己寫的是髒扣?總是要告訴自己「沒關係的,就承認自己就爛吧,我就爛,我承認我現在就爛,但未來我會更好」,每天都這樣告訴自己,必須先越過這一關,才能再往框架前進。
這次 JS 直播班學習時,有保持一些自己的小習慣,讓自己在學習上規律前進:
- 睡足八小時,再進行學習,若當天狀況不好,就低強度學習就好
- 每天定時寫每日作業,養成每日有寫扣的習慣
- 寫扣不要求完美,小步測試,反覆驗證,建立信心
- 學習到一個階段時,要適度休息,不要過度學習,不要知識焦慮
- Kata 盡可能的常去練習、理解邏輯、看其他的解法
這次美中不足的地方,就是自己略過週末任務都沒寫筆記,都在看別人筆記,覺得很可惜,希望時光若重來,可以打擊自己的嚴重拖延症,撥出點時間好好的寫、認真的寫週末任務的筆記!
另外一個缺憾是小組的部分,印象中第四週之後小組就沒再討論了,這跟我參加切版直播班時的氣氛差異相當大,只能說我很懷念切版班時八週每週都有參與小組與組員聊天講幹話互相砥礪討論的氣氛,能遇到當時的組長跟組員,真的是非常幸運的事,到現在當時的切版小組都還聯繫著,另開 Discord 群組,常常在上面討論最近學習進度,看了哪些線上課程等等的!
那接下來呢?繼續挑戰框架吧
從去年底追六角直播班課程追到現在了,接下來還會繼續追下去,準備開始上一月卡斯伯老師的 Vue 作品實戰班!繼續 Fighting ~