Posts
All the articles I've posted.
-
EKS 每個 instance node 上所能運行的 pod 數量上限
由於每個 pod 上都會被 assign 一個 VPC subnet IP,所以每個 instance node 上的 pod 數量上限,取決於該 instance type 最多能接上的 network interface 張數及每張 network interface 上能 bind 的 IP 數量,可參考 IP addresses per network interface per inst
-
Global gitignore
專案的 .gitignore 應只放專案相關的忽略規則,個人開發工具產生的檔案(如 .idea、.DS_Store)應透過 git global ignore 在全域層級處理,避免汙染團隊的 .gitignore。
-
Time-based One-time Password algorithm (TOTP)
Basic Time-based One-time Password algorithm TOTP: Time-Based One-Time Password Algorithm, RFC 6238 Authenticator FreeOTP Google Authenticator Authy Microsoft Authenticator Article 為什麼我拋棄 Google Au
-
Docker Multi-Stage build 的 intermediate image 留存問題
Docker 在版本 17.05 後,新推出了 multi-stage build 的功能,主要目的是讓最終的 docker image 盡可能地保持乾淨,使用最少的儲存空間,只把最為必要的 artifact 放到最終要執行使用的 docker image 上,建置和打包時產生的不必要檔案則留存在中繼 image 上。 但用 multi-stage build 會讓 intermediate i
-
使用 ssh-copy-id 將 ssh public key 存到遠端 ssh server 上
如果 ssh key 不是預設的 RSA 演算法產生,例如 ed25519 或是儲存位置不是在預設的 ~/.ssh/ 下,可以用 -i 參數另外指定。 如果遠端 SSH server 的 port 不是預設的 22 port,可以用 -p 參數指定。 範例如下: % ssh-copy-id -i .ssh/id_ed25519.pub -p 22222 remote_user_name@192.
-
定時發送 database table 總筆數至 Slack 上
首先,寫隻 xxx.sql 計算資料筆數,假定 table name 是 xxx: SELECT COUNT(1) FROM xxx; 再寫個 xxx.sh 去執行剛寫好的 sql,假定資料庫是用 MySQL: #!/bin/shmysql -D xxx_database < xxx.sql | grep -v "COUNT(1)" | awk -v date="$(date +"%Y-%m-%d
-
列出 GitHub/GitLab 上某位使用者的 SSH Public Key
SSH public key 本來就是設計給別人看的。透過 GitHub/GitLab 的公開端點,一行 curl 就能拿到同事的 public key,省去「欸你傳一下你的 key」的來回。
-
MySQL 查詢結果以 JSON 格式輸出
有時候會需要把 MySQL 的查詢結果輸出成 JSON 格式,如果不想寫程式做這件事,可以利用 mysql 指令,配合 MySQL 內建的 json_object() 功能,再加上 jq 完成。 有一個 table Person 結構如下: mysql> DESC Person; +-------+---------------------+------+-----+--------+------
-
透過 oh-my-zsh 使用 ssh-agent
如果你的 ssh key 有設定 passphrase,要用 git 拉資料會很麻煩,每次都要重新輸入一次 key 的 passphrase 證明你是該把 key 的擁有者。 可以參考 Arch Linux Wiki 的 SSH Keys 條目設定 ssh-agent ,讓 agent 幫你把 passphrase 記住一段時間。 如果 shell 是用 zsh ,而且也有用 oh-m
-
幾個 VirtualBox 小技巧
Headless Mode 如果 VM 是跑成 server 不需要終端機做螢幕輸出和鍵盤滑鼠輸入,可以用 Headless 方式把 VM 跑起來 VBoxHeadless --startvm vm-name --vrde off & 強制改變 Disk Image 的 UUID 如果要使用的 disk image 被 VirtualBox 說有其他 VM 使用相同 UUID 的 disk ima