0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Homebrew で依存関係の管理が楽になった

0
Posted at

Homebrew で依存関係の管理が楽になった

毎回サーバーにSSHして apt や yum でインストールを確認したり、ローカルで brew がインストールされているか調べたりで時間がかかっていた。特に Node.js のバージョン管理が散らばり、プロジェクトごとにグローバルインストールが衝突して「どうしても動かない」事態に遭った。


✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨

https://www.youtube.com/@tech-trend-zunda-metan/featured

最新ツール・トレンド情報をずんだもん×めたんが解説するYouTubeチャンネルを運営しています!
いいね、チャンネル登録してもらえると嬉しいです🙇‍♂️

---

ハジメル.dev: https://hajimeru-dev.vercel.app/

「ひとりで続けるのは難しい」「何から学べばいいか分からない」という方向けに、
プログラミングのマンツーマンレッスンサービス「ハジメル.dev」も運営しています。
未経験OK・オンライン完結・月額制/違約金なしなので、気軽に無料相談してみてください🙇‍♂️


---

海外テックニュースを追いたいけど、英語や情報量の多さで大変…という方向けに、
Hacker News の話題を日本語でサクッと追える「HackerNews 日本語まとめ & AI要約」
を個人開発しました!
技術トレンド収集に使ってもらえると嬉しいです🔥🙇‍♂️
→ HackerNews 日本語まとめ & AI要約: https://hn-matome-2ht.pages.dev/



---

https://unityroom.com/games/nyampire_survivors

「ニャンパイアサバイバー」というヴァンパイアサバイバーリスペクトのゲームを作成しました!
もしよろしければ遊んで頂けると嬉しいです😭

---

習い事教室の先生向けに、SNS 投稿・生徒募集・保護者通知の文章を AI で生成する Web サービス「おしらせAI」を個人開発しました。Next.js + Supabase + LLM で構成しており、無料で月 10 回まで試用できます。よければ触ってみてください。

→ おしらせAI: https://oshirase-ai.vercel.app/

---

言いたいことがうまく伝わらない…という方向けに、会話の言い方を添削する「伝え方ラボ」を開発中です。
場面を選んで自分の言葉で返すと、何が伝わっていないかの指摘と、そのまま使える言い換えが返ってきます。
ChatGPT に相談すると褒めから入って直すべきところが残りがちなので、指摘側に振り切りました。
現在は公開時にお知らせするメール登録のみ受付中です🙇‍♂️

→ 伝え方ラボ: https://tsutaekata-lab.pages.dev/

✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨

# Homebrew のインストール
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

# Node.js のインストール(バージョン指定も可能)
brew install node@18

# 依存関係を一括インストール
brew bundle install --file=~/dotfiles/Brewfile

導入後、brew bundle に Bomfilefile を書くだけで、新しいマシンでも同じ環境を瞬時に構築できた。brew doctor で潜在的な問題も自動検出され、開発環境の「再現性」が格段に上がった。

Visual Studio Code でコードが格別に読めた

エディタを行き来して設定を書き換えたり、拡張機能を一つずつ試していたら、いつのまにか時間が過ぎていた。特に Git のマーカーやデバッガが効かず、コードの変更履歴を確認するのに別ウィンドウを開く必要があった。

// settings.json の一部抜粋
{
  "editor.renderWhitespace": "all",
  "git.decorations.enabled": true,
  "terminal.integrated.shellPath": "/bin/zsh",
  "files.autoSave": "onFocusChange"
}

VS Code を導入してからは、同じウィンドウでコード編集・Git 確認・ターミナル操作が完結。拡張機能の「GitLens」を入れるだけで、誰がいつどのファイルを編集したかが一目で分かり、レビュー作業が半減した。

iTerm2 で作業効率が劇的に向上

標準のターミナルで複数ウィンドウを開くと、ウィンドウサイズが揃わなくて不満だった。特にリモートサーバーとローカルの両方を確認しながら作業する際、ウィンドウ切り替えが何度も増えてストレスがたまった。

# iTerm2 の設定をスクリプトで自動化(例: 複数ペインの作成)
createPane horizontally
createPane vertically
splitPane horizontally

iTerm2 の「分割ペイン」機能で、同じウィンドウ内にサーバー接続とローカム実行を並べられた。さらに「Immediate Mode」でマウス操作なしでショートカットキーだけでペイン移動でき、作業の流れがスムーズになった。

Docker Desktop で環境差を解消

開発マシンと本番環境で動作が違うことが頻発し、「うまく動く」コードと「動かない」コードが混ざってデプロイが失敗した。依存関係のインストール手順をメモがてら書いたけど、誰が読んでも内容が分からなかった。

# docker-compose.yml の例
services:
  app:
    build: .
    ports:
      - "3000:3000"
    volumes:
      - ./src:/app/src
    environment:
      - NODE_ENV=development

Docker Desktop でコンテナ化したら、ローカルでも本番でも同一の環境が保証された。イメージが変われば環境も変わるので、依存関係の「書き換え」だけで済んだ。

Alfred でファイル検索が爆速になった

Finder でファイルを探すのに何度も「検索」ボタンをクリックし、検索語を打ち込んでいた。階層が深くなるほど検索時間が増えて、結局「最近使ったファイル」から開くことが多かった。

# Alfred のワークフロー例(スクリプト実行)
./search_projects.sh "{query}"

Alfred に「プロジェクト一覧を表示して選択」ワークフローを作ったら、Ctrl + Space で即座に検索できた。キーワードだけで開くことができるため、作業中の思い付けがそのまま実行に移せるようになった。

Karabiner-Elements でキーボードショートカットが快適に

macOS のショートカットが足りず、Ctr + Shift + 4 でスクリーンショットを撮るたびに「指定領域」か「指定ウィンドウ」か選択肢が出ていた。さらに日本語入力中に英字モードに戻すのに Cmd + 空白 を打ち続けていた。

// karabiner.json の一部
{
  "description": "Caps Lock to Escape (Vim mode)",
  "manipulators": [
    {
      "type": "basic",
      "from": { "key_code": "caps_lock" },
      "to": [{ "key_code": "escape" }]
    }
  ]
}

Karabiner-Elements で Caps Lock を Escape に変換したら、Vim がほぼストレスフリーに。さらに「Ctrl + 左_SHIFT」で領域選択スクリーンショットにすれば、1 つのキー操作で完結できた。

TablePlus でデータベース作業が楽になった

MySQL に直接クエリを打つのに MySQL Workbench が重くて、頻繁にクライアントを切り替えていた。特にテーブル構造を確認するたびに新しい接続を作り直す必要があり、手間がかかりすぎた。

-- TablePlus で実行したいクエリ例
SELECT u.name, COUNT(o.id) AS order_count
FROM users u
LEFT JOIN orders o ON u.id = o.user_id
GROUP BY u.id
ORDER BY order_count DESC;

TablePlus のショートカットで「Ctrl + Enter」するだけで実行結果が即表示され、結果のインポートやエクスポートもドラッグ&ドロップで完結。クエリの保存も簡単で、同じ作業を何度も繰り返す必要がなくなった。

Obsidian でアウトプットの整理がスムーズに

コードを書く前にアイデアを書き留める機会が増えたが、ノートが散らばり「結局何をやりたかったか忘れる」事態に。ローカルで書いたメモをエンジニア以外の人にも共有したくて、クラウド同期が必要だった。

# 機能設計
## 背景
- クライアント要望による新機能
## 実装案
1. API エンドポイント追加
2. フロント側 UI 追加

Obsidian の「リンク」機能でノート同士を結び、バックリンクから関連情報が瞬時に見つかる。ローカル保存なのでプライバシーを守りつつ、Markdown でそのままコードの設計書にも使える点が最大のメリットだった。

Raycast でコマンドパレットが便利過ぎる

Mac の Spotlight でアプリを起動するのに何度も「開始」→「Chrome」などの入力を繰り返していた。特に頻繁に使うツールのショートカットが分かりにくく、検索で手間がかかっていた。

# Raycast のスクリプトタスク例
#!/bin/bash
open -a "Google Chrome" "https://github.com/${INPUT}"

Raycast に「GitHub のリポジトリを開く」スクリプトを登録したら、Cmd + Space で「gh repo」と打つだけで該当リポジトリが開けた。社内ツールや自作スクリプトも Raycast に組み込めるので、作業の「入口」が劇的に速くなった。

CleanMyMac X でシステムが軽くなった

長時間の開発作業で Safari が固まったり、ファイル検索が遅くなったりして、PC の再起動を何度も余儀なくされた。特に大量のログファイルやキャッシュが溜まっていて、削除の手順を自分で調べるのに時間がかかっていた。

# 手動で削除したいキャッシュ例
rm -rf ~/Library/Caches/com.apple.Safari
rm -rf ~/Library/Application\ Support/Code/CachedData

CleanMyMac X を使ったら、クリック数クリックで不要ファイルを一括削除できた。スキャン結果を見ながら「大量にあるログファイル」を気づき、定期的に掃除できるようになったので、PC の応答速度が安定した。

Notion でドキュメント作成が一元化された

以前は Google Docs と Markdown の両方を使い分けていたが、情報が散らばり「どこに書いたかわからない」事態に。クライアントからの要望をメモしても、フォーマットが揃わず「あとでまとめる」だけで終わってしまった。

# API 仕様書(Notion で管理)
## エンドポイント一覧
| メソッド | パス | 説明 |
|----------|------|------|
| GET | /users | ユーザー一覧取得 |
| POST | /orders | 注文作成 |

Notion のデータベース機能で「要件」「設計」「実装」「テスト」を一覧管理でき、誰でも同じページを見せられるため、ドキュメントの「一元化」に成功した。コメント機能でフィードバックもリアルタイムに共有でき、作業のやり取りがスムーズになった。

まとめ

Mac での開発環境を整える際、最初は「何が正しいか」より「何が楽か」にフォーカスした。Homebrew と Docker が環境の再現性を、VS Code と TablePlus が作業の可視化を、Alfred と Raycast が操作のスピードを増した。まずは Homebrew と VS Code を導入してみてほしい。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?