自分が参考になったブログの紹介します。 / Here are some blogs that I found helpful.
- Angular 20 → 21 のアップグレードガイド。大きな破壊的変更点と回避方法を解説。
- Karma → Vitest:テストランナーがデフォルトで Vitest に変更。既存の Karma 設定は変換・修正が必要。
- HttpClient:明示的な
provideHttpClient()が不要に。ルートインジェクタに自動で提供される。 - zone.js の扱い:新規プロジェクトでは Zoneless(Zone.js なし)がデフォルト。既存プロジェクトは継続可能。
- 新機能として Signal Forms(信号ベースのフォーム) や Angular Aria、テンプレート内 Regex リテラル のサポート。
- アップグレードチェックリスト(CLI 更新 → 依存更新 → 診断 → 移行順序)が掲載。
- Angular では現時点で Webpack がデフォルトで安定、Vite は実験・高速体験向け。
- Webpack の強み:最適化・ツリーシェイク・コードスプリッティングが堅牢。大規模・複雑プロジェクト向け。
- Vite の強み:esbuild ベースでビルド/サーバ起動が高速、設定が簡単。
- SSR や国際化、大規模モノレポ等は Webpack がまだ安全策。
- 結論:「Webpack は今使うべき標準」「Vite は開発体験向上に強い」立場が明確。
- Angular Signals は RxJS コードの多く(BehaviorSubject、combineLatest、map など)を置き換え可能に。
- Signals は 同期・細粒度・依存トラッキング に優れ、UI 状態/派生状態の管理が簡単。
- RxJS は今後も 非同期ストリーム(WebSocket、複雑なオーケストレーション) に必要。
- 例として:
BehaviorSubject→signal;combineLatest + map→computedなど形式的に変換できる。
- Angular 21 で Signal Forms による新しいフォーム管理手法を紹介。
- 旧来の
FormGroupや RxJS ベースの制御(複雑な boilerplate)から解放。 - Signal Forms は form state を signal として扱い、UI と双方向に同期 する。
- コード量・複雑さが大幅に減少し、フォーム開発がシンプルに。
A2UI(Agent-to-User Interface)とは? AI エージェントが自然言語テキストだけでなく、動的なユーザーインターフェイス(UI)を生成・送信できるプロトコル/データ形式 の OSS プロジェクト。([Google Developers Blog][1])
目的 ジェネレーティブエージェントがユーザーのやり取りに応じて最適な UI を生成・提示できるようにすること。チャットだけでなく、インタラクティブな UI 体験 を提供するため。([Google Developers Blog][1])
特徴
背後にある問題意識 単なるテキストのやり取りではユーザー体験が非効率的/断片的になりがちなので、インタラクティブ UI を動的に生成する仕組みが必要 とする視点。([Google Developers Blog][1])
利用例・連携
作成したサービス概要 Ruby on Rails の GitHub リポジトリにマージされた PR を 毎日自動で収集し、AI による日本語要約を付けたサイト を構築した紹介。
主な機能
構成
目的と背景 Rails の進化を追うために英語 PR の確認が煩雑であり、AI 要約で情報キャッチアップを効率化するため。
実装のこだわり
- 自動化と メンテナンス負担の最小化 を重視。
- コスト最適化(無料枠 + 低コスト API 利用)。
タイトルの主題
git stashを使わずに、複数ブランチの並行作業を快適にする方法(git worktree+ CLI ツールwtp)を紹介。問題提起
git stashを多用すると、作業コンテキストが曖昧になり、集中力が削がれる。git worktreeの利点ハンズオン例
- 実際の
git worktree addコマンドで別作業ディレクトリを作成し、機能開発とバグ修正を同時並行できる。
- 実際の
課題と CLI 補完ツール
wtp- 生の
git worktreeはパス指定や環境設定が手作業になりがち。 wtpを使うと 設定の自動化、コマンド簡略化、ワークフロー標準化 が可能。
- 生の