0%

前言

從開始工作後,給自己設定了一個小目標要求自己每天都要寫字,梳理自己的想法,剛好 Notion 差不多在那時候開放了個人版免費使用,我成了忠實用戶用到現在,我主要用 Notion 來即時記錄當下的靈感、每天生活的待辦事項、讀書心得有的沒的,隨著頁數的增加,開始出現許多問題。

閱讀全文 »

non serializable data in redux

在 redux 中處理資料要去思考資料能否序列化(serialization),這些資料能否在取用時轉換成自己需要的格式,並在使用後回復成原本的資料格式。

在 redux 的官方文件中建議我們設計 store 的變數時盡量用 array 、 object 或是 primitive type value 進行管理。

閱讀全文 »

簡介

JS 的執行環境(Execution Context)
分成兩種:

  1. Global Execution Context,在讀取 script 標籤時建立,只會有一個
  2. Function Execution Context,在建立 function 時建立,會有多個

在執行環境中會有兩個階段:

  1. Creation Pharse,建立 variable object,建立範疇鍊,建立 this,將宣告的變數和函式提升
  2. Execution Pharse,逐行執行,定義 this,取決於怎麼呼叫的,變數賦值
1
2
3
4
var a = 1;
let b = 2;
window.a // 1
window.b // undefined

用 var 宣告的變數如果是出現在函式命名外會被加進 global object,let 不會。

參考資料

[JavaScript] Javascript 的執行環境 (Execution context) 與堆疊 (Stack)
[JavaScript] Javascript 的作用域 (Scope) 與範圍鏈 (Scope Chain):往外找
[week 16] JavaScript 進階 - 什麼是閉包?探討 Closure & Scope Chain
JavaScript Execution Context – How JS Works Behind The Scenes
[JavaScript] 執行環境(Execution Context)與堆疊(Stack)

git rebase

不管目前位在哪個分支,把 bugfix 分支移到 master 上,也能用 git checkout master gitrebase bugfix 解決。

注意 : 別在 master 上用,這樣別人的 git history 會被你影響。

閱讀全文 »

前言

我在提交 wee7 作業時,發現自己過去不小心在分支上混到 master 的 commit,原本想說要按照 MTR04 的教學影片暴力解移檔案,但後來發現這樣做會洗掉自己過去的 commit,因為自己的 commit 有些訂正紀錄想留下來日後忘了能回去看,所以就去找 git 有沒有什麼方法能解,就找到 cherry pick 了。

閱讀全文 »

時間名詞介紹

  • UTC: 衛星、航空等等都採用該時間規範。
  • GMT: 格林威治時間,基本上一般使用上和 UTC 時間差不多。
  • UNIX: 是指 unix系統表示的時間,以 UTC +0 時區 1970 年 1 月 1 日 0 時 0 分 0 秒 開始的數來記錄時間。
  • timestamp: 以 UTC +0 時區 1970 年 1 月 1 日 0 時 0 分 0 秒 開始的毫秒數來記錄時間。
  • ISO: 日期字串格式。
閱讀全文 »

先說 callback 是什麼

在 js 中,function 的參數也能塞 function,這種被塞入的 function 就叫做回呼函式(callback function),用來處理我們接下來想做的事,這樣的好處是可以確保執行順序不會被非同步問題給影響。
舉例來說,我睡醒賴床十秒然後花五秒去廁所:

閱讀全文 »

這兩個套件可以幫我們記憶透過 cd 切換的目錄資料夾,讓我們可以不用打一長串路徑,無形中省下不少時間。

rupa/z

ex:

1
2
cd documents/test/subtest
z subtest
閱讀全文 »

在 windows 10 的觸控模式下想避免使用者利用邊緣滑動叫出工具列可以怎麼做?

可以透過鎖定 windows 的邊緣滑動達到需求。

提醒: 改機碼要萬分小心,要非常清楚自己改什麼,不小心沒弄好是要重灌的!

閱讀全文 »

同源政策是用來幹嘛的?

用來阻擋不同源網站間的存取,程式碼非同步請求依舊會送出,但是回傳的資料會被瀏覽器給擋下來,造成資料回傳 undefined,程式碼拿不到資料沒辦法做事,最後網頁報錯。

在瀏覽器中只有同源的網站間在互相存取資料時不會有限制,不同源的網站會被阻擋回應(response),這樣做是基於資安考量,如果讓任何人可以存取、修改網站資料,是件危險的事,這樣就像大家都有你家的鑰匙,可以隨意進出你家,吃你冰箱內的零食那樣。而同源政策就像你家那能上鎖的大門,在資安上做到第一層防護。

閱讀全文 »