yaziのインストールと設定(macOS)
yaziとは Rust製の高速ターミナルファイルマネージャ。VS Codeのサイドバーのようにファイルをブラウズし、プレビューしながら操作できる。 インストール brew install yazi Nerd Font(アイコン表示に必要) brew install --cask font-hack-nerd-font インストール後、ターミナルのフォント設定を「Hack Ne...
yaziとは Rust製の高速ターミナルファイルマネージャ。VS Codeのサイドバーのようにファイルをブラウズし、プレビューしながら操作できる。 インストール brew install yazi Nerd Font(アイコン表示に必要) brew install --cask font-hack-nerd-font インストール後、ターミナルのフォント設定を「Hack Ne...
背景 多言語対応(i18n)を実装する際、「どの文字列を翻訳し、どの文字列を英語のまま残すか」の判断に迷うことがある。特にエクスポート機能(HTML/Markdown/PlainText)のように、画面表示とファイル出力の両方にテキストが含まれる場合、基準が曖昧になりやすい。 実際のプロジェクト(差分ビューアツール)での判断過程を記録する。 一般的な切り分け基準 翻訳すべきもの ユ...
Serena MCP Server とは Serena は LSP(Language Server Protocol)ベースのコード解析を提供する MCP サーバー。主な機能は以下の通り: シンボル操作: find_references, go_to_definition, rename_symbol など セマンティック検索: 関数やクラスの依存関係の追跡 プロジェクトメ...
gRPC の特徴、REST との違い、SaaS での現実的な使い方をまとめる。 gRPC とは Google が開発した RPC フレームワーク。Protocol Buffers でAPIを定義し、サーバー/クライアントのコードを自動生成する。 主な特徴 特徴 内容 Protocol Buffers...
静的サイトで CSS/JS に Cache-Control: public, max-age=31536000, immutable を設定していたところ、ファイル内容を更新してもブラウザが古いキャッシュを使い続ける問題が発生した。 問題 Cloudflare Pages でホストしている静的サイトの _headers: /style.css Cache-Control: publ...
React SPA を Cloudflare Pages へ GitHub Actions で自動デプロイする設定方法。 ワークフローファイル .github/workflows/deploy.yml: name: Deploy to Cloudflare Pages on: push: branches: [main] paths: - 'react...
Squash Merge とは PR をマージする際、PR 内の全コミットを1つのコミットにまとめて main に入れる方式。 通常マージとの比較 通常マージ(Create a merge commit) PR 内の作業コミットがすべて main に入る。 main: abc1234 Merge pull request #94 def5678 fix: テストのモック戻り...
結論 nodenv install (node-build) は プリビルドバイナリをダウンロードするだけ なので、ビルド依存パッケージは不要。 一方 pyenv install は 常にソースからコンパイルする ため、build-essential 等が必須。 pyenv の場合(ビルド依存が必要) pyenv は Python をソースからコンパイルするため、以下のようなパッケージ...
症状 docker ps や docker compose up が極端に遅い、またはハングする Docker Desktopが起動しても応答しない コンテナの起動がWARN表示で止まる 原因の特定 バックエンドログを確認する: tail -50 ~/Library/Containers/com.docker.docker/Data/log/host/com.dock...
ADRとは ADR(Architecture Decision Record)は、プロダクトやシステムに関する重要な設計判断を1つずつ記録する簡潔な文書。通常Markdownで1ページ以内に収める。 参考: bliki-ja: ArchitectureDecisionRecord 本質的な価値は2つ 1. 「なぜこうなった?」に答えられる コードは「何をしているか」は読めるが、「な...
Git リポジトリに設定ファイルをコミットしたいが、機密情報(パスワード、SSH キー、API トークンなど)が含まれている場合、git-crypt を使うと透過的に暗号化できる。 git-crypt とは git-crypt は Git リポジトリ内の特定ファイルを自動的に暗号化するツール。 commit 時: 自動的に暗号化されてリポジトリに保存 checkout 時: ...
問題 env コマンドで表示される環境変数がどのファイルで定義されているか分からないことがある。 env | grep BACKLOG_API_KEY # → BACKLOG_API_KEY=xxxxx と表示されるが、どこで設定されているか不明 解決方法 zsh の起動トレース機能を使う。 zsh -xl 2>&1 | grep変数名 -x: 実行される...
4つの用語の違い 用語 意味 スコープ デプロイ コードを環境(staging/prod)に配置・反映する技術的作業 エンジニアリング リリース 機能をユーザーが利用可能な状態にすること プロダクト ...
問題 Claude Codeのシェルから git push すると Permission denied (publickey) で失敗する。 git@github.com: Permission denied (publickey). fatal: Could not read from remote repository. tmux経由で起動していた時は問題なかったが、tmuxなし...
ASG(Auto Scaling Group)配下のインスタンスが複数同時に ALB ヘルスチェックに失敗した場合、ASG はそれらを同時にリプレイスするのではなく、段階的に置き換える。この挙動には「10% ルール」と「スロットリング」という2つの仕組みが関係している。 10% ルール ASG は Unhealthy インスタンスを desired capacity の 10% ずつ し...