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 {}

2017年9月6日 星期三

AWS - 列出 EC2 instance IP 等資料

AWS EC2 instance IP 是動態配給,但並非每個人都有權限登入 AWS console 取得 EC2 instance IP,於是開發人員會找 AWS 管理員索求資料;但若 EC2 使用了 auto scaling 機制,instance 開開關關,之前拿到的資料就失效。為了解決這個困擾,做了一個頁面,利用 AWS CLI,也算是 demo 如何整合之前介紹的 minimum-hsu/markdown-web 與 minimum-hsu/docker-cron,一樣打包成 Docker:minimum-hsu/example-markdown-web

Alpine - 週期性工作

在 Linux 說到週期性工作,想到的就是 crontab。

Docker 版本的 Alpine Linux,crond 預設是沒有運行的,需要執行命令
crond -f

我做了一個只運行 crond 的 Docker image:minimum-hsu/docker-cron

Web - markdown 與 flask 共舞

markdown 語法容易上手,容易排版,容易閱讀,容易轉換成 HTML。利用 markdown 的特性,結合 python flask,就能簡易架設一個靜態網站。

我做了一個雛形:minimum-hsu/markdown-web

2016年5月12日 星期四

Linux - crontab with date

問題

在 cron 中加入一筆定時移除七天前檔案的指令,檔案名稱格式為 20160505-xxxxxxx.tar.gz,
* 3 * * * rm -f /path/`date "+%Y%m%d" --date="-7 day"`-*
但發現 cron 並沒有完成執行。


解決方法

把 cron 指令換成
* 3 * * * rm -f /path/`date "+\%Y\%m\%d" --date="-7 day"`-*

參考資料