前端三十系列彙整
突然發現去年鐵人賽的彙整篇忘記在 Medium 同步發佈,趕快來補發一下。
嗨大家,這是前端三十系列的最後一篇了;如果您有跟著筆者一起進行這連續三十天的旅程,相信多少都能感受到自己的成長吧?
系列文
會挑選這個主題,主要有三個原因;一者是如同在開賽時說的,主要是因為自身的職涯過程中,非常具體的感受到知識儲備量在這行的重要性,也許不求甚解的態度也能暫時在工作上取得微小的成就,但我相信這絕對不會是長久之計;其次,隨著工作經驗的逐漸增加,我開始發現自己對於挖掘問題背後原因的興趣,遠大於解決問題本身,就想說可以藉由鐵人賽的機會,並借助自己的熱情,藉機將這些自己僅一知半解的題目深入理解;最後,也是因為前陣子自己加入了 ALPHA Camp 擔任學習助教,及工作上與同儕教學相長,過程中也遇到一些學生、同事常會混淆的問題,就在系列文中一並整理,一方面能重新檢視自己理解的正確性 & 完整性,同時也能留下相對完整有條理的文字說明,方便未來教學分享用。
系列文從最基礎的前端三兄弟出發,漸漸擴展主題涵蓋的範疇;全系列目次如下:
- 01. 你最近學會了什麼新東西?
- 02. [HTML] script tag 加上 async & defer 的功能及差異?
- 03. [CSS] Reflow 及 Repaint 是什麼?
- 04. [CSS] z-index 與 Stacking Context 的關係是什麼?
- 05. [CSS] 元素選取器是如何運作的?
- 06. [JS] 請你在旁邊的白板寫個快速排序演算法。
- 07. [JS] 瀏覽器 DOM 元素的事件代理是指什麼?
- 08. [JS] 請寫出間隔一秒印出 1, 2, 3, 4, 5 的程式碼。
- 09. [JS] 什麼是閉包?
- 10. [JS] 一般函式與箭頭函式的差異?
- 11. [JS] 如何處理非同步事件?
- 12. [JS] 為什麼 typeof new Array() === ‘object’?
- 13. [JS] 為什麼判斷相等時不能用雙等號?
- 14. [JS] 深拷貝是什麼?如何實現?
- 15. [JS] 什麼是原型鏈?
- 16. [FE] 為何會有瀏覽器差異?怎麼處理?
- 17. [FE] 為什麼現在的前端都在用「框架」?
- 18. [FE] 為什麼網站要做成 SPA?SSR 的優點是什麼?
- 19. [FE] 如何實現網站 SEO?
- 20. [FE] 如何提升網站效能?
- 21. [FE] 用過 Webpack 之類的打包工具嗎?為什麼需要?
- 22. [FE] 為什麼跨域請求會產生錯誤?如何處理?
- 23. [FE] 網頁的快取機制是怎麼運作的?
- 24. [BE] 請說明一下 npm 的套件管理機制。
- 25. [BE] Node.js 與 JavaScript 的關係是什麼?
- 26. [BE] API 設計拿資料要透過 POST,會有什麼問題嗎?
- 27. [WEB] Cookie & Session 是什麼?
- 28. [WEB] HTTP 和 HTTPS 的差別是什麼?
- 29. [WEB] 網站常見的資安問題有哪些?
- 30. [WEB] 從輸入網址列到渲染畫面,過程經歷了什麼事情?
雖然有稍微排列順序,盡量讓連續的兩篇都能帶上點關係,但各主題並不完全連貫,讀者可以自行依照有興趣的主題選讀即可,如果內文與其他篇有關聯,大多也都會在附上連結。
尾聲
今年是我第二次參加鐵人賽,去年完成了 JavaScript 音樂漫遊 — 30 天探索 Web Audio! 系列後,我也開設了 自己的 Medium,開始透過寫文章來記錄自己的成長;鑑於有過這麼良好正向的經驗,今年便再度揪團報名鐵人賽,但不同的是,去年在開賽前其實已經有了數天的文章儲備,最後甚至提早了近一週完賽;但今年在開賽前幾乎完全沒有準備,三十天的主題大綱也僅有列出非常精簡版的方向,大多是內容都是在瘋狂查找資料中邊寫邊想,再趕著死線前逐步修正。
整個鐵人賽的過程中,我文章的庫存量最高只有 1 天份,由於平均每篇大都需要 3 小時,加上新工作及兼職的諸多事情擠在一起,幾乎沒辦法完成,好幾次都是在 23:50 之後才勉強完成匆忙送出,導致文章品質良莠不齊,對讀者深感抱歉…相對於去年的輕鬆完賽,今年是真正的體驗到了鐵人賽給的壓力 XD
幸好,Wow Doge! 成員們也不遑多讓,從開賽的第一天起,我們便每天收到超過 10 點未 PO 文的通知信,從不間斷,有如一起完成了另一項鐵人一般(?),這也給了我莫大的鼓舞,讓我知道我不是唯一一個不斷徘徊在死線周圍的人。
不過真的要感謝 Wow Doge! 團員的陪伴,如果中途有任何一人斷賽,我想我也沒辦法堅持到這最後一天;另外,也要感謝身邊所有的家人、同事、朋友,包容我每天都沒睡飽的暴戾之氣,讓我有足夠的空間完成這次的鐵人三十。
整體來說,本次參賽還是有不少收穫,也如同自己期待的一樣,我拓展了自己的知識儲備,也認真理解了一些原先懞懞懂懂的觀念,我想我應該有成功的在這三十天的旅程中,一點一點的讓自己成為更好的前端工程師了。
接下來我也會繼續在本職工作、ALPHA Camp 及橘子蘋果的教學過程中,尋找合適的方向,推進自己成長,讓自己不斷成為更好的自己;而至於明年要不要參賽嘛…就看到時候的狀況決定吧 XD
到這邊就真的是本系列的最後一篇了,感謝每一位讀者過程中的陪伴、閱讀甚至留言,對我來說都是一種肯定,真心感激;系列文結束了,但成長的旅程仍將繼續,如果喜歡我的文字,也歡迎各位在 Medium 繼續追蹤我~