doda Developer Group Advent Calendar 2024 2 日目の記事です。
カスタマープロダクト本部 プロダクト開発統括部 doda システムアーキテクト部 doda マイクロサービスグループの内山です。
新卒で入社し、業務では doda のバックエンドをマイクロサービスに移行しています。
今回は、私が普段使用しているツールについてご紹介します。GUI ツールは Mac が中心になります。
ツール系
GUI
Kitty
ターミナルエミュレーターです。Windows では使えませんが、Mac や Linux で使用できます。
ターミナル上で画像表示できるのが特徴です。設定も細かくできるので、自分好みのターミナルを作ることができます。
私はこのような感じで使用しています。格好いい。
Raycast
ランチャーツールです。現在は Mac のみで使用可能です。Windows は Wailtlist があるようです。(Raycast for Windows)
こちらのランチャーは、ショートカットを覚える必要ないのが特徴です。モーダルを呼び出せばショートカット名で検索して実行する形です。
拡張機能も充実しています。例として、Jira や Confluence があります。
Raycast Store: Jira Raycast Store: Confluence
GitHub の拡張機能なんかもあります。便利すぎて世界が変わります。
他にもいろいろあるので、見てみてください。Raycast - Store
また、自分で作ることができるのも特徴です。React ベースで API も使いやすいのでとても開発体験が良いです。
yabai
Mac で使えるタイリングウィンドウマネジャーです。Windows では komorebi という似たツールがあります。 GitHub - LGUG2Z/komorebi: A tiling window manager for Windows 🍉
タイリングウィンドウとは、ウィンドウのサイズを自動で調整してくれるウィンドウマネジャーです。いちいち調整する必要がない上に、綺麗に表示されるのでとても気に入っています。
また、先ほど紹介した Raycast の拡張機能も存在します。(Raycast Store: Yabai) これで、ウィンドウを入れ替えるなどのアクションができます。
RunCat
apps.apple.comこちらは、CPU 使用率に合わせてメニューバーで猫が走るアプリです。詳細画面ではリソース全般の確認ができて便利です。
Windows 版はこちらです。(GitHub - Kyome22/RunCat_for_windows: A cute running cat animation on your windows taskbar.)
Wappalyzer
こちらはブラウザの拡張機能です。Web サイトでどんな技術が使われているか確認できます。
techtektでの使用例はこちらです。
HTTPie
Web API クライアントです。シンプルな UI でとても使いやすいです。 ちなみに、CLI 版もあります。
CLI
Oh My Zsh
Zsh のフレームワークです。プラグインをいれることができます。
私が使用しているものは以下です。ターミナルの体験が大幅に向上します。
- GitHub - zsh-users/zsh-autosuggestions: Fish-like autosuggestions for zsh
- GitHub - zsh-users/zsh-syntax-highlighting: Fish shell like syntax highlighting for Zsh.
Starship
ターミナルの見た目を変えてくれます。先述の Oh My Zsh でも変えることはできますが、私はこちらを使用しています。
Git の情報はもちろん、実行環境のバージョンを確認できてとても便利です。
以下は Next.js を bun で初期化した例です。
Marp
Markdown でスライドが作れるツールです。 簡単な LT 資料などはこちらで十分で、パワポを使う必要はありません。 PDF や PPTX にエクスポートできます。
Lazygit
TUI で Git 操作ができるツールです。視覚的にわかりやすく、ステージングなども楽なので愛用しています。
Fastfetch
システム情報を表示できるツールです。似ているツールで neofetch がありますが、パブリックアーカイブになってしまったので、こちらに移行しました。
Neovim
私のプライベートでのメインエディタです。Vim の fork です。
おそらく、皆さんの Vim のイメージはこんな感じではないでしょうか。
実際に私が使っているものは以下です。
設定は VSCode などに比べると手間ですが、ディストリビューションというセットアップされたものがあります。
私も実際にこちらの LazyVim をカスタマイズして使っています。
Neovim では LSP を使用できるので、定義ジャンプもお手のものです。もちろん自動フォーマットや Linter もちゃんと動きます。
また、VSCode には VSCode Neovim という拡張機能で VSCode の中で使えたりします。 業務でも IntelliJ に IdeaVim を入れていて、完全に染まってます。
HHKB と Vim の組み合わせが最高です。
React Scan
React のレンダリングを調査できます。これで余計なレンダリングを見つけ、減らしていきましょう。
s-tui
CPU 使用率を TUI でわかりやすく表示してくれます。
oxker
Docker コンテナーを TUI でわかりやすく表示・操作できます。
サービス系
Tailscale
VPN サービスです。Linux には SSH もできるので、とても便利です。
Ray.so
コードを見やすく共有したいときに使えます。 スライドに埋め込む用途にも使えます。
出力例はこんな感じです。
OSS なので、ローカルで実行もできます。
GitHub - raycast/ray-so: Create code snippets, browse AI prompts, create extension icons and more.
セルフホスト系
Uptime Kuma
Web サイト監視ツールです。UI が綺麗でとても見やすいです。
Prometheus
こちらも監視ツールです。
Monitoring Linux host metrics with the Node Exporter | Prometheusを使用することでサーバーを監視できます。
また、Grafana を使用することで綺麗に表示させることができます。
使用例はこんな感じです。実際に自宅サーバーに導入しています。 ゲームのサーバーとして使用しているときに見ると、リソースが消費されていて面白いです。
さいごに
業務でも使えそうなものもいくつかあったのではないでしょうか。 気になるものがあればぜひ試してみてください。
最後までご覧いただきありがとうございました。良きエンジニアライフを!
内山 涼太 Ryota Uchiyama
プロダクト開発統括部 dodaシステムアーキテクト部 dodaマイクロサービスグループ
※2024年12月現在の情報です。