[演算法] Complexity (複雜度)

一般談論的演算法之複雜度,經常是指 Big-O Big O Notation 代表演算法時間函式的上限(Upper bound),表示在最壞的狀況下,演算法的執行時間不會超過Big-Ο。 O(1) (Constant Run Time): 此演算法 執行時間不會隨著輸入資料量的增加而增加 O(n) (Linear Run Time): 此演算法 當輸入的資料越多,就會需要等比例輸出越多的內容,因此會需要消耗等比例越久的時間 O(n^2) (Exponential Run Time): 此 »

[JavaScript] 箭頭函式的細節

ES6 => 語法糖 (Syntax Suger) arguments 這個內建的區域變數 (用來存放函式的參數資料) 在箭頭函式不存在 // 傳統函式 let test1=function(msg){ alert(msg); }; 等同 // 傳統函式 let test1=function(msg){ alert(arguments[0]); }; // 箭頭函式 let test2=(msg)=>{ alert(msg); »

[JaveScript] 閉包 ( Closure )

閉包的觀念說明與操作 觀念: 函式中有另外一個函式 函式用的資料(n)定義在外面的函式 資料(n)會被留下來 example: // 函式中的變數/參數,在函式程序結束後。資料會被回收 function test(n) { console.log(n); } // Closure: 函式中的變數/參數,在函式程序結束後。[未來]還會被使用,[資料會被保留住] function test(n) { // 間隔 n 秒後,印出 n window.setTimeout(function »

[JaveScript] this 的細節

一般函式的 this console.log(this); global browser: window function a(){ console.log(this); } a(); // 結果 window 四種情況 直接執行 -> global (window) 作為物件的成員函式執行 -> 該物件 作為 DOM 的事件偵聽函式 -> 該 DOM 作為建構函式 -> 建構出來的實例 const obj = { name: 'object', a(){ »

2018/02/06 ORID

Objective - 客觀、事實 月會報告時,講話語氣太平淡。被同事說沒有溫度 Reflective - 感受、反應 第一次報告確實有點緊張,中間開始吃螺絲。越念越快 Interpretive - 經驗 簡報有一些內容太過技術面,可以略過不寫 ; 或用白話一點的詞彙 Decisional - 決定 多練習、冥想訓練 觀察別人是如何報告的 口語表達能力 把話講清楚,這牽涉到你在速度、音調、語氣、音量、停頓等細節的調整。 要讓大家聽得懂,尤其是出現專有名詞和術語時,要視狀況做調整。 我 »

[Git] git blame

git blame,查看程式碼的作者 $ git blame -L <start_line>, <end_line> <file_name> Ref: Git - git-blame Documentation »