shuntaka.dev
shuntaka.dev
26年3月振り返り

03/29 15:15 2026

03/29 15:39 2026

東京は暑いですね!

2月につづき3月の振り返りをやっていきます!

26年1月振り返り
shuntaka.dev
26年2月振り返り
shuntaka.dev

3月は2本記事を書いた。

「Claude Code活用時のつらみと隙間を埋めるツール」というタイトルで登壇しました #zenncafe | DevelopersIO
dev.classmethod.jp
LWA(Lambda Web Adapter)でAurora DSQLに接続する際の認証トークン期限切れに注意 | DevelopersIO
dev.classmethod.jp

1本目は自分のClaude Codeの足回りについて書いた。AI時代は、自分専用のツールを量産できるいい時代だということを伝えたかった。

隙間時間の趣味開発は、先のスライドにあるagentoastとchathist。新たに3月末slacliというのを作った。簡単に言えばAgent likeでマルチワークスペースに対応したSlack CLI。後から気づいたがこれはSlackのClaudeアプリが入っている人にとってはほぼ不要(Claudeのデスクトップでコネクタ連携するとClaude Codeでも適用されるため😳)で、@Claudeから送信クレジットが付与されるのが気持ち悪いとか、Slack Appの権限でReadが強めなのが気になる人以外は不要かもしれない。

CLIとAgent Skillsを同梱して配布する足回りのイメージができた(以下のブログのインスパイアですが...)

あなたのGo製CLIをAI Agent Readyにするskillsmith | おそらくはそれさえも平凡な日々
CLIをAI AgentフレンドリーにするためにAgent Skillsがあると嬉しい。Agent Skillsは絶賛リポジトリで協議されているが、オープンスタンダードであり、各ベンダーがそれなり...
songmu.jp

デスクトップアプリの検証の難しさを感じている。TauriはWebViewなのでplaywrightなどブラウザのエコシステムでチェックできる項目もあるが、macOSのトレイ座標の位置関係などはOSの設定だし限界がある。

実際に遭遇したクラッシュの例を挙げると、あるアプリが全画面になった状態でグローバルショートカットからagentoastを起動するとクラッシュするというものがあった。デバッグログを仕込んで調べたところ、以下のことがわかった。

monitor[0] pos=(0, 0) size=6016x3384
cursor phys=(4897, 691)       → monitor match=true
tray icon phys=(5068, -136)   → monitor match=false

agentoastはメニューバーのトレイアイコン直下にパネルを表示するため、tray.rect()でトレイアイコンの座標を取得し、その座標がどのモニターに属するかをavailable_monitors()で探す。ところが全画面モードではmacOSがメニューバーを画面上端から上方向にスライドアウトして隠すため、トレイアイコンのY座標が-136という画面外の値になっていた。モニター範囲は(0, 0)から始まるのでy = -136はどのモニターにもヒットせず、expect()でパニック→クラッシュしていた。つまりメニューバーが隠れると、トレイアイコンが物理的に画面外に追い出されるということだった。

こうしたデスクトップアプリ特有のテストを自動化できないかと思い、ClaudeのCoworkのdispatchで動作検証を回せないか試してみた。ただ現状は1回の検証サイクルが遅すぎて実用には程遠い。体感あと50倍速くなれば寝ている間に回しておける、100倍速くなれば開発中のイテレーションに組み込めるかなという感じ。

将来のマイルストーンとしては以下があるかなーと思っている

  • Kiro CLI TUI v2のpreviewが消えたら対応
  • agentoast(Tauri)のLinux(GNOME)対応

2本目はこのshuntaka.devの話。1月に移行してからちょいちょい500エラーが観測されていた。発生頻度が稀だったのですがちょい致命的だったのでいい加減原因を調べたところ、Aurora DSQLの認証トークン起因だった。Lambdaのフリーズ状態に想いを馳せるのがLWAだったせいか抜け落ちていた。

LWA(Lambda Web Adapter)でAurora DSQLに接続する際の認証トークン期限切れに注意 | DevelopersIO
dev.classmethod.jp

実際の対応は以下で、それ以降同じ問題は発生していない。

fix(blog-api): add DSQL IAM auth token auto-refresh to prevent access…...
… denied errors

Replace static ConnectionPool(PgPool) with Arc<RwLock<PgPool>> and spaw...

github.com


3月はネイティブアプリ開発に着手しようと思っていたんですが、時間が取れず。。iPhone 17 Proも買ったので、4月はApple Intelligenceで何か作る!その過程でのブログはMUSTで書きます!

明日から社会人10年生なので世の中にSome(value)を返せるようがんばります。