Posts
dotnet-counters - Install with dotnet tool
要用 dotnet tool 安裝 dotnet-counters,可調用 d otnet tool install 帶入 –global 參數指定安裝至全域,並在最後帶入 dotnet-counters 指定安裝 dotnet-counters 套件。
dotnet tool install --global dotnet-counters 安裝後可調用 dotnet-counters 命令,帶入 –version 參數,確認安裝是否正確無誤。
dotnet-counters --version Link dotnet-counters diagnostic tool - .NET CLI | Microsoft Docs
read morePosts
dotnet-trace - Install with dotnet tool
要用 dotnet tool 安裝 dotnet-trace,可調用 dotnet tool install 帶入 –global 參數指定安裝至全域,並在最後帶入 dotnet-trace 指定安裝 dotnet-trace 套件。
dotnet tool install --global dotnet-trace 安裝後可調用 dotnet-trace 命令,帶入 –version 參數,確認安裝是否正確無誤。
dotnet-trace --version Link dotnet-trace diagnostic tool - .NET CLI | Microsoft Docs
read morePosts
'HomeBrew - Error: homebrew-core is a shallow clone.'
使用 HomeBrew 如果出現 “Error: homebrew-core is a shallow clone.” 錯誤。
可照著命令列的提示帶入。
git -C /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core fetch --unshallow git -C /usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask fetch --unshallow 即可修復該問題。
read morePosts
OpenSSL - Encryption with the OpenSSL Command-Line Interface
要使用 OpenSSL CLI 進行加密,可先透過命令列帶入參數 -help 查閱一下 OpenSSL enc 的使用方式。
openssl enc -help 常用的參數有 -aes-256-cbc 指定使用 AES 256 CBC 加密、-base64 參數指定經過 Base64 處理、-p 參數指定印出 salt/key/iv、-k 參數指定要用來加密金鑰、-nosalt 指定加密時不加 salt。
像是要將 “hello” 透過 AES 256 CBC 加密、加密金鑰用 “world”、透過 Base64 處理的話,可像下面這樣調用。
echo "hello" | openssl enc -aes-256-cbc -base64 -p -k world 如果不加 salt,可加帶 -nosalt 參數。
echo "hello" | openssl enc -aes-256-cbc -base64 -p -k world -nosalt Link The Developer Toolbox: Encryption/Decryption with the OpenSSL Command-Line Interface | Jungle Disk Blog
read morePosts
MongoDB - Creating a MongoDB replica set using Docker
要用 Docker 測試 MongoDB replica set 我們要先建立 Docker network。
docker network ls docker network create mongo-cluster docker network ls 然後起第一個 MongoDB 的 Docker 容器,設定使用 Docker network,並用 –replSet 參數指定 replSet 的名稱。
docker run -p 27017:27017 --name mongo1 --net mongo-cluster mongo mongod --replSet rs0 接著起第二個 MongoDB 的 Docker 容器,一樣設定使> 用 Docker network,且用 –replSet 參數指定 replSet 的名稱。
docker run -p 27027:27017 --name mongo2 --net mongo-cluster mongo mongod --replSet rs0 最後起第三個 MongoDB 的 Docker 容器,一樣設定使用 Docker network,且用 –replSet 參數指定 replSet 的名稱。
read morePosts
conventional-changelog-cli - Generate a changelog from git metadata
conventional-changelog-cli 是一命令列工具,能解析 Git 符合 Angular style 的 Commit log,產生對應的 Change log。
使用前先透過 Npm 安裝套件至全域。
npm install -g conventional-changelog-cli 即可開始使用。
像是顯示 Change log 會產出的內容可帶參數 -w。
conventional-changelog -p angular -i CHANGELOG.md -w -r 0 要產生 Change log 可帶參數 -s。
conventional-changelog -p angular -i CHANGELOG.md -s 這邊筆者用簡單的例子稍微示範一下。
首先先初始 Npm 專案設定檔,因為後面產生的 Change log 版號會要看這設定檔。
npm init 接著初始專案的 Git 版控。
git init 將第一版檔案加入版控。
git add . git commit 確認上版。
git log 嘗試切換專案版本至 1.0.0。
npm version 1.
read morePosts
commitlint - Lint commit messages
commitlint 是一檢測 commit message 的工具。
使用上需先全域安裝 commitlint cli。
npm install -g @commitlint/cli 加入 package.json。
npm init 加入套件 @commitlint/config-conventional。
npm install -save @commitlint/config-conventional 加入 commitlint 設定檔。
echo "module.exports = {extends: ['@commitlint/config-conventional']}" > commitlint.config.js 準備好後可簡易的用 echo 將訊息透過 pipeline 送到 commitlint 做些測試。
echo 'foo: bar' | commitlint echo 'feat: bar' | commitlint 若要針對 git commit message 也是可以,這邊直接將當前專案加入 git 版控。
git init 設定 .gitignore。
vim .gitignore 將 node_modules 這些不必要版控的部分設定上去。
實際 commit 一個不符合規範的 commit message。
read morePosts
Commitizen - Simple commit conventions for internet citizens
Commitizen 可輔助 git 操作人員使用 commit message 的規範。
使用上先全域安裝 commitizen 命令列工具。
npm install -g commitizen 這邊準備一個 git 版控的專案。
git init 加入 package.json。
npm init 調用命令讓專案符合 commitizen friendly。
commitizen init cz-conventional-changelog --save-dev --save-exact 將修改加入版控實際做個測試。
git add . commit 時改用 git cz,會改成用互動方式輸入符合規範的 commit message。
git cz git log Link Commitizen by commitizen
read morePosts
git - Check commit message with git hook
要在 git commit 時去驗證 commit message,可在 commit 的 hook 加掛驗證的處理。
編輯 .git/hooks/commit-msg。
vim .git/hooks/commit-msg 加入驗證程式後存檔離開。這邊筆者使用 [如何使用 git commit template 與 git hooks 管理團隊的 git log | AllenHsu的技術手扎](htt ps://allen-hsu.github.io/2017/07/02/git-message-template-and-githook/) 提供的驗證程式做了些微的調整,用以檢查 commit message 符合 Angular commit style。
#!/usr/bin/env python """ Git commit hook: .git/hooks/commit-msg Check commit message according to angularjs guidelines: * https://docs.google.com/document/d/1QrDFcIiPjSLDn3EL15IJygNPiHORgU1_OOAqWjiDU5Y/edit# """ import sys import re valid_commit_types = ['feat', 'fix', 'docs', 'style', 'refactor', 'test', 'chore', ] commit_file = sys.argv[1] help_address = 'https://docs.
read morePosts
git - Commit template
如果 git commit 的 message 想要有一定的規範,可為 git 設定 commit template,設定完後 template 會在 commit 時帶出範本,供編輯修改 commit message。
要設定 git commit template,我們需先建立範本檔。
vim .gitmessage.txt 設定範本檔的內容。
然後將範本檔設定到設定檔中。
git config commit.template .gitmessage.txt 設定好後 commit 時就會自動帶出設定好的範本了。
git add . git commit 這邊需特別注意一點,如果使用的是 GUI 而非命令列的話,多半範本是不支援註釋的,也就是說如果範本中有使用到註釋,都需自行刪除註釋後才能 commit,不然都會當成 commit message。
Link 一份建议的git commit模板 Git 如何在Commit時加入樣板template的機制 如何使用 git commit template 與 git hooks 管理團隊的 git log | AllenHsu的技術手扎 使用 git commit template 管理 git log - Dev Chill - Medium 3.
read more