emahiro/b.log

日々の勉強の記録とか育児の記録とか。

Gemini CLI -> Antigravity へ移行した

タイトルの通りです。 僕はプライベートでは Claude でも Codex でもなく Google AI Pro を使っていて、Gemini をメインで使っています。先日の Google I/O の発表であった Antigravity の大幅アップデートとそれに伴う Gemini CLI の終了がアナウンスされた…

36歳になった

今日で36歳になった。 干支3周目。節目の年だ。 節目の年の誕生日の朝は、何故か知らないがいつもより1時間早く起きた娘に叩き起こされた最悪の寝覚めだった。 節目といって何かが劇的に変わることはなく、2年ぶりに保育園の洗礼を受けて GW あたりからずっ…

石垣島に家族旅行に行ってきた

先週4日間の休暇をもらって家族で石垣島に旅行に行ってきた。 新婚旅行も石垣島(竹富島の星のやに泊まった)に行ったので、これで2回目だった。 新婚旅行の時は夫婦だけだったが、今回は子供2人も連れて旅行だったので、ニューメンバーがいたこともあり、少…

sql.NullXXX を sql.Null[XXX] に移行したら JSON の下位互換が壊れた話

Go

Overview 何が起きたか 旧: sql.NullString 新: sql.Null[string] 具体的にどう壊れたか 再現コード なぜ気づきにくいか 対策 1. カスタム JSON タグで互換性を維持する 2. そもそも sql.Null を JSON に入れない 3. 移行時にデータマイグレーションを挟む …

git worktree 管理は自前のツールを使うようになった

Overview git worktree ラッパー -> 自前コマンドに移行した理由 その他 まとめ Overview git worktree を管理するライブラリを使ってましたが、結局使わずに自前でコマンドを作って対応することにした話です。 git worktree ラッパー -> 自前コマンドに移行…

gh auth token が Coding Agent の設定で便利すぎる

Overview モチベ 各 Agent 間の設定 まとめ Overview gh コマンドで認証後に gh auth token コマンドを叩くとその時に有効な PAT が出力される、ということを知って便利すぎたので備忘録です。 モチベ Claude Code などの Coding Agent を使っていると、MCP …

gRPC の service config でリトライの設定をする

Overview gRPC の service config とは ハマったところ 指定するサービス名は proto の完全修飾名にする まとめ Overview proto から gRPC クライアントを生成して、サービスを呼び出すときにリトライ設定を入れたいケースで service config を使った話です…

proto を syntax から edition にマイグレする

Overview 前提 移行方法 optional -> features.field_presence = IMPLICIT reserved カスタムプラグインの edition のサポート ハマったところ 非サポート plugin があるとマイグレできない まとめ Overview proto の edition 移行をやったのでその備忘録で…

Mac の IME に azooKey-Desktop を採用してみた

IME

Overview ずっとしっくりくる IME がないな〜と思っていたのですが、最近 azooKey-Desktop という IME があることを知って使い始めてみたら案外良かった、という話です。 azooKey-Desktop とは github.com 元々 iOS/iPadOS 向けの azooKey という IME の Des…

Claude Code のために Wezterm に戻ってきた

Overview ターミナルエミュレーター の変遷 その他 Ctrl + h 問題 keybind や設定周り Overview ターミナルエミュレーターを色々触ってきましたが、結局 wezterm に戻ってきた、という話です。 wezterm.org ターミナルエミュレーター の変遷 自分が Mac で仕…

Claude Code のメモリをユーザースコープで管理する

Overview Motivation Claude Code におけるユーザースコープのメモリ 自分用のメモリ管理 自分用の hooks 自分用の skills まとめ Overview ずっと素の状態で Claude Code を使っていたのですが、公式のドキュメント によると自分の使用履歴兼カスタマイズの…

Claude Code の plugin で LSP と serena を入れる

Overview 自分が使ってる plugin plugin 版 serena の設定 serena の activate/on-boarding の設定 まとめ Overview Claude Code の plugin のなかで各種便利なツールが提供されてる中で自分が好んで使っている LSP ツールと serena が提供されていたので乗…

「無事是名馬」

2026年1発目の記事です。 新年初っ端からとりとめのない思考の dump を投下します。 自分が社会人をはじめてからうっすら意識していたことに「凡人でもとにかく健康であり続け、あらゆる面で "穴をあけない" ようにする」ということがあるのですが、最近にな…

2025 年振り返り

まえがき 私生活 家族が増える イヤイヤ期が始まる 英語学習 筋トレ ポートフォリオサイト Rebuild 仕事 昇進した Agentic Coding を取り入れた 来年に向けて まえがき 年の瀬なので今年1年を振り返ります。 去年の振り返りはこちら ema-hiro.hatenablog.com…

2025年に買ったもの

Overview ガジェット Nintendo Switch2 iPhone 17 Pro AirPods Pro3 Switchbot ロボット掃除機 S20 MSI ゲーミングモニター MPG 274URF 書籍 イン・ザ・メガチャーチ マネジメントは嫌いですけど Overview 毎年恒例今年買ったものの中で良かったものを紹介し…

Cloudflare Pages でデプロイ時にコンテンツが更新されないときはビルドキャッシュを削除する

Overview SSG × Cloudflare Workers & Pages でホスティングしているウェブサイトにおいて、Cloudflare Workers のデプロイパイプライン上でビルド -> デプロイをしてもサイト内のコンテンツ(特にブログの一覧)が更新されないときはデプロイ前にビルドキャ…

serena MCP で gopls を有効にする

Overview Docker イメージのビルド方法 余談: Claude Code は自前で Language Server Protocol 対応してきた Overview LLM でのコーディングの補助ツールとして serena を利用しているなかで、サンプルそのままで利用しても gopls が機能してなかったので、…

ブログを書くモチベが変わった

Overview AI 時代に技術的なブログを書く意味 AI が詳しすぎる じゃあ何を書くのか? 余談: AI 時代に AI でブログを書くか? Overview ここ最近本業が非常に忙しく、ブログを書く時間がただただ取れなかっただけなのですが、そんな中色々考えて、今後ブログ…

仕事と人生のバランスなんてものはわからない

Overview 今仕事と人生のバランスはどうなのか? AI 時代は自分にとっては僥倖 まとめ Overview 以下のポッドキャストに自分のブログが引用されていたついでになんとなく考えていることを dump として吐き出してみます。 it-trio-no.com ちなみにこのポッド…

Claude Code on AWS Bedrock で 認証が切れのときに自動で回復する

サマリ Claude Code を AWS Bedrock 経由で利用するときに、利用中に AWS の認証(セッション情報)が切れてしまうと、 Thinking 中なのかセッションが切れてるのかがわからず作業が停滞してしまうのがちょっと不便でした。 終わると思っていた作業がセッシ…

LLM と serena をセットで使い続けている

LLM

Overview タイトルのとおりなんですが、Serena MCPはClaude Codeを救うのか? の記事に触発されて、ここ2ヶ月くらい LLM (Claud Code) と serena をセットで利用しています。 最初はトークン数を削減できるとか、Agentic Coding ならではのペインを解決でき…

protovalidate でリクエスト内部の時刻型を検証するときに考えたこと

Overview 1. そのまま prorovalidate を書く 2. 外部の定義を利用する google/protobuf/timestamp.proto を利用する googleapis/googleapis/datetime.proto を利用する その他 google/protobuf は外部の定義を確認したいときに確認する カスタムエラーメッセ…

Firebase の API をエミュレートしてローカルでテストしやすくする

Overview ※ Firebase Go SDK のお話です。 Firebase を始め、GCP の公式の Go のライブラリは interceptor 等を公式で提供していないことが多く、local でテストをするときに GCP のライブラリそのものをモックするのが一般的なテスト方法かと思いますが、そ…

Go で protoc のカスタムプラグインを書く

Overview なぜ protoc プラグインを自前で用意したくなったのか カスタムプラグインの作成 まとめ Overview protoc のプラグインを自分で書いてみたのでその備忘録です。 なぜ protoc プラグインを自前で用意したくなったのか ちょうど業務で RBAC 制御の実…

protoc のプラグインを go tool で管理・実行する

Overview buf.gen.yaml で local の protoc コマンドを hook して実行するときに go tool 経由で実行すると個人の環境差異にとらわれずに実行できて便利、という話です。 Motivation proto からコードを生成するときに、今では buf generate を利用するのが…

GitHub のレビュー画面で他の人のコメントを見えないようにする

ソースコードレビューをしてて 他の人のコメントに引きづられて、コードをちゃんと自分事として見れない。 シンプルに他の人のコメントが自分がレビューするときに邪魔 と思ったことはありませんか? 自分は過去何度もあります。 他の人のコメントが見えなけ…

Claude Code でもの作りが"本当に"変わるかもと思った

Cluade Code を体感して、"驚いてしまった" ことは前回のエントリに書いたのですが、このツールを触ってみたことでもの作り、特にソフトウェア開発における不可逆な変化を感じたので雑文として書き残しておきます。 ema-hiro.hatenablog.com なお、明日には…

Claude Code に入門して衝撃を受けた

Overview 巷で大流行の Claude Code ですが、6/5 のアップデートで MAX プランに加入せずとも Pro プランである程度(Opus は使えないけど)使えるようになったので試してみて、そして衝撃を受けました。 今まで Copilot だ! Cursor だ!モデルは何だ!など…

apple/container を触ってみた

Overview www.apple.com WWDC 2025 で発表された apple/container を触ってみました。 github.com How to use 以下にすべて書いてますのでここに書いてある通りにして実際にコンテナを立ち上げることができました。 how to tutorial 再起動後に container sy…

35歳になった

昨日 5/26 日で 35 歳になった。 そして世間で言うアラフォーというやつについに足を突っ込んだ。 今月第二子が生まれていて、プライベートはものすごくてんやわんやしているので、自分がまた1つ歳を重ねたという実感は実はあまりない。 35歳になったらキャ…