Blog¶
JankyBordersでアクティブウインドウの枠線を強調表示する
macOSへJankyBordersをインストールすることにより、アクティブウインドウの枠線(ボーダー)に色を付けたり、太くしたり、強調して表示することができます。
有効期限切れになったGitLabのGPG鍵を更新する
Amazon Linux 2023へGitLabをリポジトリからインストールして利用しています。ですが、更新しようとしたところ以下のエラーになりました。
1 2 3 4 5 6 7 8 9 10 11 | |
今回は「GitLabのGPG鍵が有効期限切れになっていた」ことが原因でした。これを解消し、GPG鍵を更新する手順をメモしておきます。
UbuntuにインストールしたMountpoint for Amazon S3をバージョンアップする
以前にMountpoint for Amazon S3 で S3 Bucket を自動マウントするというメモを来ました。今回はUbuntuでMountpoint for Amazon S3をバージョンアップする手順をメモしておきます。
gitクライアントであるForkでWorktreeを作成する
GitクライアントであるForkですが、リリースノートによるとバージョン2.41からWorktreeに対応しているようです。ただ、少なくてもバージョン2.60時点ではウインドウからのWorktree作成はできないようで、メニューから操作する必要があるようです。

トランクベースでGit運用する際のコミットメッセージ例
トランクベースでGitを運用する際、コミットメッセージに付与する接頭詞の例をメモしておきます。Geminiに生成してもらいました。
| 分類 | Prefix | 意味・内容 | 具体的な使用例 |
|---|---|---|---|
| メイン | feat | 新機能の追加 | feat: ログイン機能の実装 |
| fix | バグ修正 | fix: 入力フォームのバリデーションエラーを修正 | |
| コード改善 | refactor | リファクタリング(挙動を変えない整理) | refactor: 重複したロジックを共通関数に抽出 |
| style | フォーマット、空白、セミコロンなど(見た目のみ) | style: インデントを2スペースに統一 | |
| perf | パフォーマンス向上のための変更 | perf: 画像読み込みの遅延実行を導入 | |
| 非機能的変更 | docs | ドキュメントのみの変更 | docs: READMEにインストール手順を追記 |
| test | テストコードの追加・修正 | test: ユーザー登録のユニットテストを追加 | |
| chore | 雑用(ライブラリ更新、ビルド設定など) | chore: npmパッケージのアップデート | |
| ci | CI設定(GitHub Actionsなど)の変更 | ci: デプロイ用ワークフローの修正 | |
| 特殊 | wip | 作業中(Work In Progress) | wip: 決済機能の実装(途中保存) |
| revert | 前のコミットの打ち消し | revert: feat: ○○ のコミットを取り消し | |
| feat! | 破壊的変更(互換性がなくなる変更) | feat!: APIレスポンスのデータ構造を刷新 |
ForkでGitflowする
Gitを使った開発フローには「GitFlow」や「トランクベース開発」、「GitHubフロー」などがあるそうです。
Gitflow とは、元来は Git ブランチを管理するための破壊的で斬新な戦略のレガシー Git ワークフローです。Gitflow の需要は落ち込み、トランク ベースのワークフローが利用されるようになっています。現在ではこれが最新の継続的なソフトウェア開発のベスト プラクティスおよび DevOps プラクティスと見なされています。Gitflow はまた、CI/CD と使用することも困難な場合があります。この投稿では、歴史的な目的で Gitflow の詳細をご説明します。
最初に普及した Gitflow は、特定の個人だけがメイン コードへの変更を承認できる、非常に厳格な開発モデルです。そのため、コードの品質が維持されてバグの数が最小限に抑えられます。トランク ベース開発は、すべての開発者がメイン コードにアクセスできる、よりオープンなモデルです。そのため、チームはすばやく反復処理を実行して CI/CD を実現できます。
GitHub フローは、軽量のブランチ ベースのワークフローです。 GitHub フローは、開発者だけでなくすべてのユーザーに役立ちます。
各々の特徴を一覧にすると以下です。
| 特徴 | GitFlow | GitHub Flow | トランクベース |
|---|---|---|---|
| 複雑さ | 高い | 低い | 非常に低い |
| リリースの頻度 | 数週間〜数ヶ月に一度 | 毎日〜週に数回 | 1日に何度も |
| 主な用途 | 堅牢なパッケージソフト | Webサービス、SaaS | 高速な継続的デプロイ |
これらの違いは赤帽エンジニアブログさんのトランクベース開発についてで分かりやすく違いが説明されています。今回はGitクライアントであるForkを使ってGitflowを試してみました。尚、「ひとり開発」を前提にしています。
Cisco CMLで動作するWindows11イメージを作成する
Cisco CMLは検証に便利なプラットフォームです。標準でもCisco製品イメージだけでなく、Linuxなどの「非Ciscoイメージ」が同梱されています。
- Ciscoイメージ
- ASAv
- CAT 8000V
- CAT 9000v (beta VM image)
- CSR 1000v
- FMCv
- FTDv
- IOL
- IOL-L2
- IOL (Serial)
- IOSv
- IOSvL2
- IOS XRv 9000
- NX OS 9000
- Catalyst SD-WAN (including Manager, Controller, Validator, vEdge, and Cisco Edge)
- Catalyst 9800-CL
- 非Ciscoイメージ
- Server(Tiny Core Linux)
- Alpine (Alpine Linux)
- Desktop (Alpine Linux)
- Ubuntu (Ubuntu Linux)
- Trex (Alpine Linux)
ただ、検証を実施していると「どうしてもWindowsを利用したい」という場合があると思います。Alexander Viftrup AndersenさんがHow To Create a Windows 11 Node for Cisco CMLという記事で「CML上で動作するWindows11イメージを作成する方法」を公開されていますので、今回はこの記事を参考にCML上で動作するWindows11イメージを作成してみます。
Alexanderさんの元記事では「作業を簡易化するスクリプト」も公開されており、そちらも参考にさせて頂きました。素晴らしい記事を公開してくださり、また「日本語の記事を作成する」ことも快諾してくださったAlexanderさんに感謝します。Thank you, Alexander!
Google AntigravityをCLIから起動する
Google AntigravityをCLIから起動するにはagyと入力します。これでGoogle AntigravityのGUIが起動します。
agy
もしくはantigravityと実行しても同じ効果です。
antigravity
agyは以下に存在していました。
% which agy antigravity
/Users/USERNAME/.antigravity/antigravity/bin/agy
/Users/USERNAME/.antigravity/antigravity/bin/antigravity
これは/Applications/Antigravity.app配下へのシンボリックリンクになっていました。
% ls -l ~/.antigravity/antigravity/bin/
lrwxr-xr-x - USERNAME 24 1月 17:39 agy -> /Applications/Antigravity.app/Contents/Resources/app/bin/antigravity*
lrwxr-xr-x - USERNAME 24 1月 17:39 antigravity -> /Applications/Antigravity.app/Contents/Resources/app/bin/antigravity*
lsより高機能な「eza」をインストールする
ezaはlsコマンドの代替となるツールです。Rustで書かれており、lsよりも高機能で、かつ高速に動作します。また、lsコマンドと互換性があり、lsのエイリアスとして設定することも可能です。