Posts
All the articles I've posted.
Global gitignore
專案的 .gitignore 應只放專案相關的忽略規則,個人開發工具產生的檔案(如 .idea、.DS_Store)應透過 git global ignore 在全域層級處理,避免汙染團隊的 .gitignore。
Time-based One-time Password algorithm (TOTP)
TOTP(RFC 6238)的演算法原理、主流驗證器比較(Google Authenticator、Authy、FreeOTP),以及選擇建議。
Docker Multi-Stage build 的 intermediate image 留存問題
Docker 17.05 起的 multi-stage build 能讓最終 image 保持乾淨輕量,但被丟棄的中繼 image 沒有標籤、難以存取——本文介紹如何存取與除錯這些中繼層的技巧。
使用 ssh-copy-id 將 ssh public key 存到遠端 ssh server 上
ssh-copy-id 把公鑰安裝到遠端 server 的完整用法:如何指定要複製的特定金鑰(如 ed25519)、連線非預設的 22 port,省去手動編輯遠端 authorized_keys 的麻煩。
定時發送 database table 總筆數至 Slack 上
用一支 shell script 搭配 cron 定時查詢 MySQL 資料表筆數,再透過 Slack Incoming Webhook 推送到頻道——適合監控資料成長或排程任務是否正常寫入的輕量做法。
列出 GitHub/GitLab 上某位使用者的 SSH Public Key
SSH public key 本來就是設計給別人看的。透過 GitHub/GitLab 的公開端點,一行 curl 就能拿到同事的 public key,省去「欸你傳一下你的 key」的來回。
MySQL 查詢結果以 JSON 格式輸出
不寫程式也能把 MySQL 查詢結果輸出成 JSON:用 mysql 指令搭配 json_object() 函式,再以 jq 格式化輸出。
透過 oh-my-zsh 使用 ssh-agent
SSH key 有 passphrase 時每次 git 操作都要輸入很麻煩。用 Oh My Zsh 的 ssh-agent plugin 讓 agent 幫你記住。
幾個 VirtualBox 小技巧
VirtualBox 命令列常用操作筆記:以 Headless 模式啟動 VM、強制更改 Disk Image 的 UUID 以解決複製衝突、設定 port forwarding,以及送出關機訊號與快照管理。