らいふうっどの閑話休題

興味のあることをゆる~く書いていく

2025.12.17 覚書 / 2025.12.17 memo's

2025.12.17 覚書 / 2025.12.17 memo's

自分が参考になったブログの紹介します。 / Here are some blogs that I found helpful.

Angular

dev.to

  • Angular 20 → 21 のアップグレードガイド。大きな破壊的変更点と回避方法を解説。
  • Karma → Vitest:テストランナーがデフォルトで Vitest に変更。既存の Karma 設定は変換・修正が必要。
  • HttpClient:明示的な provideHttpClient() が不要に。ルートインジェクタに自動で提供される。
  • zone.js の扱い:新規プロジェクトでは Zoneless(Zone.js なし)がデフォルト。既存プロジェクトは継続可能。
  • 新機能として Signal Forms(信号ベースのフォーム) や Angular Aria、テンプレート内 Regex リテラル のサポート。
  • アップグレードチェックリスト(CLI 更新 → 依存更新 → 診断 → 移行順序)が掲載。

dev.to

  • Angular では現時点で Webpack がデフォルトで安定、Vite は実験・高速体験向け。
  • Webpack の強み:最適化・ツリーシェイク・コードスプリッティングが堅牢。大規模・複雑プロジェクト向け。
  • Vite の強み:esbuild ベースでビルド/サーバ起動が高速、設定が簡単。
  • SSR や国際化、大規模モノレポ等は Webpack がまだ安全策。
  • 結論:「Webpack は今使うべき標準」「Vite は開発体験向上に強い」立場が明確。

medium.com

  • Angular Signals は RxJS コードの多く(BehaviorSubject、combineLatest、map など)を置き換え可能に。
  • Signals は 同期・細粒度・依存トラッキング に優れ、UI 状態/派生状態の管理が簡単。
  • RxJS は今後も 非同期ストリーム(WebSocket、複雑なオーケストレーション) に必要。
  • 例として:BehaviorSubject → signal; combineLatest + map → computed など形式的に変換できる。

ganeshlawand2002.medium.com

  • Angular 21 で Signal Forms による新しいフォーム管理手法を紹介。
  • 旧来の FormGroup や RxJS ベースの制御(複雑な boilerplate)から解放。
  • Signal Forms は form state を signal として扱い、UI と双方向に同期 する。
  • コード量・複雑さが大幅に減少し、フォーム開発がシンプルに。
Develop

developers.googleblog.com

  • A2UI(Agent-to-User Interface)とは? AI エージェントが自然言語テキストだけでなく、動的なユーザーインターフェイス(UI)を生成・送信できるプロトコル/データ形式 の OSS プロジェクト。([Google Developers Blog][1])

  • 目的 ジェネレーティブエージェントがユーザーのやり取りに応じて最適な UI を生成・提示できるようにすること。チャットだけでなく、インタラクティブな UI 体験 を提供するため。([Google Developers Blog][1])

  • 特徴

    • エージェントが直接コードを送るのではなく、宣言的な UI 構造データ を送信。安全性とカスタマイズ性を確保。
    • フロントエンド側にコンポーネントカタログを用意し、そこから安全に UI をレンダリング。([Google Developers Blog][1])
    • フレームワーク非依存(Angular、Lit、Flutter などで利用可能) な設計。
  • 背後にある問題意識 単なるテキストのやり取りではユーザー体験が非効率的/断片的になりがちなので、インタラクティブ UI を動的に生成する仕組みが必要 とする視点。([Google Developers Blog][1])

  • 利用例・連携

    • AG UI / CopilotKit との連携例。エージェント生成 UI を安全にホストアプリ側でレンダリング。([Google Developers Blog][1])
    • Opal ミニアプリ、Gemini Enterprise など、すでに実運用・連携し始めている例もある。([Google Developers Blog][1])
  • コミュニティと OSS 化の意図 Apache 2.0 ライセンスで公開し、エコシステムの拡大・共創 を促進する狙い。

zenn.dev

  • 作成したサービス概要 Ruby on Rails の GitHub リポジトリにマージされた PR を 毎日自動で収集し、AI による日本語要約を付けたサイト を構築した紹介。

  • 主な機能

    • GitHub API で最新の PR を収集。
    • OpenAI GPT-5.1 を使い 概要/変更内容/影響範囲を日本語 AI 要約。
    • 日別・月別アーカイブ構造で整理された UI。
  • 構成

    • PR収集/要約/Markdown 生成/自動デプロイ を GitHub Actions + VitePress で自動化。
    • 重複チェックや自動更新の仕組みも組み込み、手動運用不要 のフロー。
  • 目的と背景 Rails の進化を追うために英語 PR の確認が煩雑であり、AI 要約で情報キャッチアップを効率化するため。

  • 実装のこだわり

    • 自動化と メンテナンス負担の最小化 を重視。
    • コスト最適化(無料枠 + 低コスト API 利用)。

zenn.dev

  • タイトルの主題 git stash を使わずに、複数ブランチの並行作業を快適にする方法(git worktree + CLI ツール wtp)を紹介。

  • 問題提起 git stash を多用すると、作業コンテキストが曖昧になり、集中力が削がれる。

  • git worktree の利点

  • ハンズオン例

    • 実際の git worktree add コマンドで別作業ディレクトリを作成し、機能開発とバグ修正を同時並行できる。
  • 課題と CLI 補完ツール wtp

    • 生の git worktree はパス指定や環境設定が手作業になりがち。
    • wtp を使うと 設定の自動化、コマンド簡略化、ワークフロー標準化 が可能。
Rust

dev.to

  • Rust の公式ドキュメント(docs.rs)を直接 AI アシスタントが参照できるようにする rust-docs (MCP サーバ) を開発。
  • 通常の AI 支援では古い情報/存在しない API を提案してしまう問題があるため、常に 最新のドキュメントを参照する仕組み を提供。
  • リアルタイムで Rust API や構文情報を検索 して IDE 内で提示可能にする。
  • 例として tokio の select! や serde の機能フラグ確認が AI から可能になる。