先說學期2-1完課的整體感覺: 非常精彩刺激!
相較於學期一的課程難度真的提升不少,JavaScript的比重滿重的,一開始就很有條理的建立變數、資料型別、資料結構,陣列、物件、函式,這些可能在google上面也都查詢得到的基本概念,AC的學習網卻整理得更加易懂,不僅是影片有助教講解操作一遍,也有完整版的文字和圖在下方輔佐理解,我自己是非常建議跟著影片操作一次,看文字和圖的部分的時候可以再操作一次,印象會比較深刻,有沒有實作應該會差滿多的,順便練練打字還有肌肉神經記憶(?)
我認為看再多觀念都不如直接實戰作業來的有效果,所以我最愛寫作業了,學期2-1第一週的JS課,摸彩活動系列的作業: 踢掉黑名單、誰是幸運兒...等,都可以磨練對陣列的理解,非常超值。而我自己是都習慣把選修作業全部都完成,雖然選修作業都偏難,但真的完成以後非常有成就感,即使選修的完成有時候是透過觀摩的輔助才完成,不過以現在自己coding的程度來講,更可以藉由選修作業去理解課程中學到的語法可以延伸到什麼樣的程度。尤其RPG戰鬥: 攻擊與補血這份選修作業真的算有難度,自己剛開始也寫得很卡很不好,好不容易寫出可以運作的邏輯,觀摩以後又發現自己很多地方多寫了幾行用不到的code,或是條件判斷有些錯誤,進而再去修正,印象就更深刻,未來再犯同樣錯誤的機率就降低很多,甚至會特別去注意那個地方。
經典的隨機產生數字的範圍就是新手很容易搞錯的地方:
Math.floor(Math.random() * 100) // 0 ~ 99
Math.floor(Math.random() * 100)+1 // 1 ~ 100
Math.floor(Math.random() * 101) // 0 ~ 100
故藉由直接挑戰作業,可以發現一些小細節有無符合作業指定規格,進而成長!
第二週拉回來和切版、CSS、Bootstrap、RWD...這邊視覺系的朋友相見,突然有點生疏的感覺,但因為自己有用notion做筆記,複習一下熟悉的感覺又回來了。很及時回饋的前端網頁作業,寫起來其實非常有成就感,而且做歪掉馬上就可以知道,不像JS可能有時候程式碼寫錯,error code又寫的看不是很懂的時候自己在那邊debug半天。學習到Twitter團隊開發的Bootstrap強大的應用,可以完全貼到HTML裡頭去做到HTML+CSS的效果,真滴神! 希望日後可以多熟悉Bootstrap的應用,可以大大加快網頁開發的速度。
第三週的重頭戲: DOM (Document Object Model) ,對我這個網頁開發菜雞來說算是真正的體驗到HTML+CSS+JS三劍客的神奇之處。從了解樹狀結構的DOM tree到選出特定節點,這邊因為之前碰過Python的爬蟲覺得有點類似,後面的JS Template Literal,居然可以用JS置換掉HTML的內容,真的太神奇啦!每份作業也都算有難度,後面接著掛上監聽器可以知道使用者的行為,這些都是平常自己在逛網頁會運用到的功能,著實到現在有種更貼近真正user的面向去開發的感覺,非常喜歡!
學期2-1在AC的進度制以及助教制度下,非常有效的跟上進度,很喜歡的是助教們的回覆都很即時,而且有提問的部分都會補充的很詳盡,衷心佩服。line群的同學也慢慢熱絡起來,整天都有人在飛航學習真的是滿猛的,很高興認識大家。
另外想和大家分享的是自己是習慣用notion做筆記,用起來還滿順的,不過因為網頁開發的程式語法太多,也不可能每個語法都做筆記,我覺得主要是去記錄邏輯思維跟很重要的語法即可,因為許多語法其實網路都可以查得到,真正要去寫程式的時候有時候google大神反而是最快的,筆記要言簡意賅比較好,到了緊要關頭或是時間比較趕的時候我自己反倒是比較少用notion的筆記去看小語法,主要是記錄整個學習脈絡跟非常重要的觀念。
目前對前端後端還沒有明確的概念,期待再下一個學期能學到更多網頁開發的觀念,自己也能從中獲得更多樂趣,謝謝AC的工作團隊跟同學們。