Fragments of verbose memory

冗長な記憶の断片 - Web技術のメモをほぼ毎日更新

Dec 6, 2025 - 日記

Ethereum Fusaka アップデート:EIP-7951 によるパスキーウォレットの実現

ethereum-fusaka-eip7951-passkey-wallet cover image

Ethereum は 2025年のメジャーアップデート「Fusaka(フサカ)」において、ウォレットのユーザー体験を根本的に変える可能性のある技術を導入します。その中核となるのが EIP-7951 です。これにより、スマートフォンをハードウェアウォレットとして利用し、Face ID や Touch ID といった生体認証でトランザクションに署名できるようになります。

この記事では、EIP-7951 がどのようにしてスマートフォンのセキュリティ機能を活用し、従来のウォレットとは異なる新しいセキュリティモデルを実現するのかを解説します。

Dec 5, 2025 - 日記

git-absorb: 変更を自動的に適切なコミットに吸収する

git-absorb-introduction cover image

プルリクエストでレビューを受けた後、「このtypoを修正してください」「この部分のロジックを改善してください」といった指摘に対応する際、どのコミットに修正を含めるべきか判断に迷うことはありませんか?

従来はgit commit --fixupgit rebase --autosquashを使う方法がありますが、どのコミットに対するfixupなのかを手動で指定する必要があり、複数のコミットにまたがる修正を行う場合は特に手間がかかります。

git-absorbは、この面倒な作業を自動化してくれるツールです。変更内容を解析し、どのコミットを修正するものなのかを自動的に判定して、適切なコミットに変更を吸収(absorb)してくれます。

この記事では、git-absorbの基本的な使い方と、実際の開発フローでの活用方法について解説します。

Oct 29, 2025 - 日記

git worktreeで実現するVibe Coding並列開発環境

wt-vibe-coding cover image

AIに「認証機能を実装して」と指示している最中に、緊急のバグ修正依頼が来た。こんな時、どうしていますか?本記事では、Git Worktree管理ツール wt を使って、複数のAIコーディングセッションを並列で進める実践的な方法を紹介します。

May 22, 2025 - 日記

dotenvx: 環境変数管理を快適にするツール

dotenvx-intro cover image

環境変数管理ツール「dotenvx」を最近プロジェクトで導入したので、基本機能や使い方、他ツールとの違い、実際の活用シナリオなどをまとめてみます。普段は python-dotenvdirenv などを使ってきましたが、dotenvxはCLIの使い勝手やCI/CDとの親和性が高く、個人的にかなり気に入っています。

May 8, 2025 - 日記

gitcache:大規模リポジトリの操作を高速化するローカルキャッシュツール

gitcache cover image

大規模なGitリポジトリを扱う場合や、同じリポジトリの複数のクローンを作成する場合、ネットワーク帯域幅とディスク容量の消費が問題になることがあります。今回は、これらの問題を解決するための便利なツール「gitcache」を紹介します。

gitcacheとは

gitcache は、Gitリポジトリのローカルキャッシュを提供するツールです。大規模なリポジトリや複数のクローンを扱う際のパフォーマンスを向上させることを目的としています。

基本的な考え方は、ローカルにベアミラーを作成し、必要に応じて更新して、それを複数のローカルリポジトリのソースとして使用するというものです。

May 5, 2025 - 日記

Docker: コンテナからホスト上のコマンドを実行する方法

run-command-on-host-from-container cover image

nsenterコマンドを使ってDockerコンテナからホスト上のコマンドを実行する方法について紹介します。

nsenter を使ってホストのネームスペースに入る

コンテナを特権モードかつホストの PID ネームスペース共有で起動し、nsenter を用いるとホストのルートプロセス(PID 1)のネームスペース内でコマンドを実行できます。

docker run -it --rm \
  --privileged \
  --pid host \
  debian:stable-slim \
  nsenter -t 1 -m -u -n -i bash

nsenter コマンドは、既存のプロセスが属する名前空間(namespace)内で指定したプログラムを実行するためのコマンドです。オプションで指定したPIDのプロセスが持つマウント、UTS、IPC、ネットワーク、PID、ユーザー、cgroup、timeなどの名前空間に入ります。プログラムを指定しない場合はデフォルトで${SHELL}(通常は/bin/sh)が実行されます。

Mar 13, 2025 - 日記

Cursorと Grafana LokiをMCPで繋いで開発体験を向上させる

local-grafana-loki-mcp-cursor cover image

ソフトウェア開発において、効率的なデバッグとトラブルシューティングは生産性に大きく影響します。特に複雑なアプリケーションを開発する際、ログの管理と分析は重要な要素となります。

この記事では、以下のツールを組み合わせて、ローカル開発環境でのログ管理と問題解決を効率化する方法を紹介します:

over all of grafana loki mcp cursor

  1. local-logs - ローカル環境に簡単にGrafana Lokiスタックを構築するツール
  2. grafana-loki-mcp - CursorのMCP(Model Control Protocol)にGrafana Lokiを統合するプラグイン
  3. Cursor - AIを活用したコーディング支援IDE

これらを組み合わせることで、開発中のアプリケーションのログをリアルタイムで収集・分析し、CursorのAIエージェントがログデータを基に問題解決を支援する環境を構築できます。

Jan 10, 2025 - 日記

MacOSのHostName3つある

mac-hostnames cover image

奇妙なことにMacOSには3種類のホスト名が存在します。それぞれ役割や設定方法が異なるため、混乱することもあるでしょう。 このブログでは、MacOSにおける3種類のホスト名の違いと設定方法、そして hostname コマンドによる一時的な変更手順について解説します。

結論: ホスト名を変更するときには HostNameComputerNameLocalHostNameすべて変更しましょう。