2021年3月25日 星期四

Firefox 的 bookmark 固定使用 container 開啟

繼上一篇 Firefox 解決 AWS Multi-Account 的困擾,要來解決另一個困擾:書籤如何固定使用 container 開啟。

AWS 帳號的登入連結,例如 https://myaccount1.signin.aws.amazon.com/console,如果有數個 AWS 帳號,使用書籤記錄這些連結,會很便利,但結合 container,每次都要先開啟 container 頁籤,再點選一次書籤,很不方便,於是有另外一個 Firefox Add-on 可以幫忙:Container Bookmarks


安裝與設定教學:

  1. https://addons.mozilla.org/zh-TW/firefox/addon/container-bookmarks/,點選 + 新增至 Firefox


  2. 在書籤上點選右鍵,在選單上點選 Edit Container Bookmark


  3. 彈跳出 Container Bookmarks 視窗後,在 Container 欄位選擇想把這個書籤開啟到哪個 container 頁籤。先複製藍底黑字內的連結,例如 http://www.demo-aws-account.container,將這個連接開啟在 container 頁籤內。點選 Done 結束編輯。



  4. 回到 container 頁籤,點選瀏覽器上方的工具列中 Multi-Account Containers,點選 Always Open This Site in...,選擇 container




  5. 如果開啟書籤時,有看到類似下面這張畫面,勾選 Remember my decision for this site,點選 Open in <container-name> Container

大功告成,之後從書籤就能直接開啟到指定的 container 頁籤中。

2021年3月24日 星期三

Firefox 解決 AWS Multi-Account 的困擾

擁有數個 AWS 帳號時,使用瀏覽器登入 AWS console,會因為現在登入的帳號,而踢掉其他已登入的帳號。為了解決這個問題,Firefox 有個很好用的 Add-ons 是 Firefox Multi-Account Containers,這個套件可以讓網頁有類似群組的功能,在這裡用 container 來描述,每個 container 共用 session,因此只要將不同的 AWS 帳號登入到不同的 container,就不會發生踢掉其他已登入的帳號,達到同時登入數個 AWS 帳號的目的。


安裝與設定教學:

  1. https://addons.mozilla.org/zh-TW/firefox/addon/multi-account-containers/,點選 + 新增至 Firefox


  2. 安裝後,可以在瀏覽器上方的工具列看到如中的圖示

  3. 點選後展開 menu,點選最下方的 Manage Containers


  4. 點選 + New Container


  5. 輸入自己喜歡的 container name,選擇識別用的 color 和 icon,按下 OK

  6. 在 container 清單內可以看到方才所建的 container,按下上方箭頭 <,回到上層後,就能點選 container 開啟新的頁籤


  7. 每個 container,都能有各自的 session,所以一個 container 就能用登入一個 AWS 帳號


2020年11月30日 星期一

Linux 切換 process 到背景執行

在 Linux,如果要同時跑多個指令,可以利用 nohup 將 process 放到背景執行

nohup /path/my_program &

預設執行結果存到 ./nohup.txt。


如果不想儲存執行結果

nohup /path/my_program >/dev/null &


也可以自訂儲存路徑

nohup /path/my_program >my_log.txt &


如果 standard error 也是輸出到畫面上,個別儲存的方式是

nohup /path/my_program >my.out 2>my.err & 


合併儲存的方式是 

nohup /path/my_program 2>&1 my_log.txt &


以上是 nohup 常用操作。


nohup 有個缺點是不能把背景執行切換到前景,這時就需要另一個工具:screen。 


首先,啟動 process

screen

 

接著執行你需要的指令,例如

tail -f /var/log/kernal.log


再來把 process 切換到背景執行,所要使用的是鍵盤快速鍵操作

Ctrl + A + D


你會回到執行 screen 前的 bash 環境,這時候 process 已經切換到背景執行,可以使用 ps 指令確認。 


process 切換到背景執行的好處是:可以登出,不怕斷線。


如果想要回到指令畫面,看執行結果,先找到 process ID

screen -ls

會得到類似的畫面

 There is a screen on:

        3449.pts-0.ip-10-44-204-199     (Detached)

1 Socket in /var/run/screen/S-ssm-user.

3449 就是 process ID

切換到前景執行的指令是

screen -r 3449


以上是 screen 常用操作。 

2020年10月26日 星期一

cURL 常用範例

印出 Header 和 Response

curl -i

印出 Handshake、Header 和 Response

curl -v

印出 Handshake 和 Header

curl -v -o /dev/null -s https://www.example.com/

指定域名解析成特定 IP Address

curl --resolve www.example.com:443:127.0.0.1 https://www.example.com/

設定 Header


curl -H 'User-Agent: Pingdom.com_bot_version_1.4_(http://www.pingdom.com/)' https://www.example.com/

重新導向 301 或 302 頁面

curl -L https://www.example.com/

指定 HTTP 1.0

curl --http1.0 https://www.example.com/

指定 IPv6

curl -6 https://www.example.com/

2020年7月21日 星期二

Open Folder In VSCode on macOS

問題

想在 Finder 中,點選資料夾,從快捷選單中,以 VSCode 開啟資料夾。

解決辦法

使用 Automator 自己做一個。

1. 在「啟動台」搜尋「Automator」

2. 點選「檔案」->「新增」

3. 選擇「快速動作」,點選「選擇」

4. 右側欄位「工作流程接收目前的」選擇「檔案或檔案夾」,拖拉左側選單中「工具程式」的「執行 Shell 工序指令」至右側

5. 右側欄位「傳遞輸入」選擇「作為引數使用」,指令欄位填入「"/Applications/Visual Studio Code.app/Contents/MacOS/Electron" "$@"」

6. 「檔案」->「儲存」

7. 將快速動作儲存為「Open VSCode」,點選「儲存」

8. 開啟 Finder,選擇一個資料夾,開啟快捷選單,可以在選單內看到「Open VSCode」項目

2020年5月19日 星期二

Git - Merge/Pull Request 重新 rebase

程式開始撰寫前,先從 develop branch 分支出 feature 分支
$git checkout -b feature/demo origin/develop

撰寫完程式,push commit 前,可以先合併遠端分支,確保程式同步
$git fetch --all 
$git pull --rebase origin develop

透過 GitLab 或 GitHub 網頁,發送 Merge/Pull request
$git push -u origin feature/demo

如果發送 request 後,因為某些因素,分支需要再同步一次,此時需要強制覆蓋遠端分支
$git fetch --all 
$git pull --rebase origin develop 
$git push -f origin feature/demo
 
 
 

2018年1月15日 星期一

AWS - 批次調整 CloudWatch Log Group 的訊息保留期限

我們需要用到 awscli 兩個指令:describe-log-groups 和 put-retention-policy,設定值為保留期限 30 天。
aws logs describe-log-groups --query 'logGroups[].logGroupName' | jq -r '.[]' | xargs -d '\n' -t -I {} aws put-retention-policy --retention-in-days 30 --log-group-name {}