Skip to main content

2-9


Git change commit message

  • 使用 git rebase 將 commit 紀錄重新編輯
  • git rebase -i bb0c9c2i 參數代表使用互動模式,後面的為此次 rebase 的範圍到 bb0c9c2 這個 commit
  • 互動模式會打開 vim 編輯,顯示並可編輯各個 commit 將要做的操作
  • pick cd82f29 add cat 1,pick 為不更改
  • 此次修改訊息需要 reword 此指令,所以將要修改的 commit 改成:reword cd82f29 add cat 1
  • 保存後會再開啟另個 vim,就可以編輯該 commit 的訊息囉
  • 保存後離開讓 Git 處理後續工作就會看到有新的 commit 產生

React 設定前綴路徑

  • 若是用 react-create-app 建立的專案,在 package.json 可以直接設定這行
 "homepage": "http://mywebsite.com/relativepath"
  • 可以讓打包後的資源存取路徑都加上此設定的路徑:
  • /favicon.ico 變成 /relativepath/favicon.ico
  • 若有用 react-router-dom,此項設定也會讓 SPA 應用的路由都有此前綴
  • 若想設定資源路徑且不影響 router 的路徑的話就需要改動 webpack 的打包設定囉

刪除遠端分支

  • git push origin master:anotherMaster
  • 上述意旨將本地 master 分支推送到遠端的 anotherMaster 分支上
  • 若要刪除遠端分支則只要: git push origin :anotherMaster
  • 將“空”的內容推送上去,算是變相刪除該分支

Nginx 初探

因需求需要修改 Nginx 的配置,紀錄一下相關的知識點

  • location

  • 符合 server 後, 改搜尋相對應的 location

  • location ~* .(gif|jpg|jpeg)$ { }

  • 比對請求路徑,可使用完全比對、前綴比對、正則比對

  • upstream

  • 定義多個 server 並依權重分配請求

  • upstream backend { server backend.example.com weight=3; server 127.0.0.1:3000 max_fails=5 fail_timeout=60s; server backup1.example.com backup; }

  • 以上述例子來看每 4 個請求中會有 3 個分配到第一個 server

  • 如果 server 連線上有錯誤則請求會分派至下一個 server,直到有成功回應的 server,若都沒有則會分派至有設定 backup 的 server 中。

  • proxy_pass

  • 將請求轉發至指定的位置

  • location /some/path/ { proxy_pass http://www.example.com/link/; }

  • 上述會將:/some/path/page.html 轉發至 http://www.example.com/link/page.html

  • 若指定位置沒有路徑:如 http://www.example.com 則會轉發至 http://www.example.com//some/path/page.html


Vue Component 整線傳遞

  • 父層透過 v-bind 或直接定義在元素上的值,能在子層 $props$attrs 取得
  • 若子層的 props 有定義要接收的值,則父層傳過來的該值會在 $props
  • 若沒有在 props 定義,則會在 $attrs
  • 子層的 $attrs,會出現在 render 後的 html 上面,雖不會造成運作上的影響,但呈現上會讓人疑惑,因此可以在子層設置 inheritAttrs: false ,不接收 $attrs
  • 在爺傳父傳子的情境中,在父組件中,將爺組件要傳給子組件值可以用 v-bind="$attrs" 傳下去,可以不用一個個接一個個傳
  • 同樣的,父綁定監聽事件在子身上,子可以透過 $listeners 取得所有綁定的事件,也可以使用此方法將爺綁定的監聽事件傳透過父設定 v-on="$listener" 傳至子

位元運算子

  • 左移 - a << b - 將 a 的每個bit向左移動 b 個bits,空餘的位數以0填滿。
  • 有號右移 - a >> b - 將 a 的每個bit向右移動 b 個bits,空餘位數以最高位補滿。
  • 以0填充的右移 - a >>> b - 將 a 的每個bit向右移動 b 個bits,空餘的位數以0填滿。

運用:可以用 左移 輕鬆設定 MB、KB 等等的大小,不用再 1 * 1024 * 1024

10 << 20 // 10MB
5 << 10 // 5KB