-
《Clean Code 無瑕的程式碼 中文版》介紹+讀書心得:簡單 10 個日常小技巧,讓你寫出可讀性高、容易維護的程式碼
《Clean Code 無瑕的程式碼 中文版》教你如何寫出容易維護的程式碼,第一部分包含了命名、函式、註解、編排、物件與資料結構、錯誤處理、單元測試、類別等基本功。第二部分是關於重構,如何將已經存在的壞程式碼轉變成可讀、可維護的程式碼。第三部分教你如何辨識壞程式碼,包含許多常見的反模式 (Anti-Pattern),以及如何改善。
(閱讀全文...)
-
[教學] 深入淺出 Preload, Prefetch 和 Preconnect:三種加快網頁載入速度的 Resource Hint 技巧
現代瀏覽器提供了
preload
、prefetch
和preconnect
等功能,能讓開發者指定 link tag 的 rel 屬性提示瀏覽器提前下載圖片、JS、CSS等資源,以達到優化效能的效果。這篇文章將會教你這三種 resource hint 技巧的使用方法與時機,讓你了解如何優化資源的下載順序並提升網頁載入效能。(閱讀全文...)
-
[教學] Quick Sort 演算法原理與實作
Quick Sort (快速排序) 演算法是一種「各個擊破」的 divide andconquer 方法,這篇文章將會教你 Quick Sort (快速排序) 演算法的原理,並教你如何用程式實作 Quick Sort,最後介紹其進階應用: Quick Select (快速選擇演算法)。
(閱讀全文...)
-
[筆記] 如何正確實作 JavaScript Array Random Shuffle 亂數排序演算法
Array random shuffle 是一個很常使用的演算法,但你真的知道如何正確地實作它嗎?這篇文章將會討論各種用 JavaScript 實作 array random shuffle (亂數排序) 的方法,以及他們的優缺點。
(閱讀全文...)
-
[教學] 深入淺出 JavaScript ES6 Class (類別)
你是否還對 ES6 JavaScript class 有點陌生呢?其實 JavaScript class 一點也不難!這篇文章將會解釋 JavaScript class 的觀念以及使用方法,包含 class 和 prototype 的關係,如何用
extends
達到繼承 (inheritance) 效果、constructor
及super
的寫法,以及如何使用 static method/class function (靜態方法),一起來看看吧!(閱讀全文...)
-
[教學] 如何將 React Native Android App 打包成 apk 並發布上架至 Google Play Store (2020年更新)
(閱讀全文...)
-
[教學] 3個JavaScript的call()和apply()的應用範例
這篇教學會用3個JavaScript中運用到
apply()
和call()
的例子,讓你快速了解apply()
和call()
的使用方法。(閱讀全文...)
-
[教學] JavaScript Closure (閉包)、函式與語彙環境
JavaScript 中的閉包 (Closure) 是函式以及其語彙環境 (Lexical Environment) 的組合,所有的函式都能夠記住被創造的當下的環境以及變數。這篇教學將會從 JavaScript 函式的特性開始講解,包含變數的存取規則、以及函式可以作為另一個函式的回傳值,最後帶到 closure 的特性,也就是函式能夠保留其環境。本篇還會講解 closure 的實際應用範例,包括 IIFE (Immediately Invoked Function Expression)、以及用 closure 的特性模擬物件導向中的 private member 以達到封裝的特性 (又稱為 module pattern)。
(閱讀全文...)
-
[教學] 瀏覽器事件:Event Bubbling, Event Capturing 及 Event Delegation
這篇教學介紹瀏覽器事件的運作原理,包含event bubbling、event capturing。第二部分介紹event delegation的寫法及應用時機。教學內容主要參考javacript.info 的 Introduction into Events。
(閱讀全文...)
-
[教學] 如何使用 JavaScript Promise 簡化非同步流程
JavaScript 中的 Promise 是專門用來執行非同步操作的資料結構,提供了 then、catch、all、race 等方法,使得複雜的非同步流程變得簡潔好管理。這篇文章將會介紹 promise 的 resolve 和 reject,如何使用 then 串接非同步流程以及 catch 處理錯誤,方便好用的 promise chain,以及如何利用 Promise.all 及 Promise.race 平行處理非同步流程。
(閱讀全文...)