らいふうっどの閑話休題

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

2025.05.18 覚書 / 2025.05.18 memo's

2025.05.18 覚書 / 2025.05.18 memo's

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

Angular

dev.to

  • NgRx SignalStore の新機能を紹介。
  • Angular イベント管理の改善。
  • Nx v21 のアップデート内容。

medium.com

  • エージェント的(agentic)Angular アプリのトレンドを解説。
  • AI/LLM との統合を見据えた設計思想。

developerchandan.medium.com

  • Angular 開発者に役立つ AI ツールを10個紹介。
  • コード補完、UIデザイン、デバッグ支援など多岐に渡る用途。

dev.to

  • takeUntilDestroyed (v16+): コンポーネントやサービスの破棄時にObservableを自動で完了させ、手動でのクリーンアップが不要に。
  • inject() (v14+): コンストラクタ外でも依存性注入が可能になり、ユーティリティ関数やスタンドアロンコンポーネントでの利用が容易に。
  • NgOptimizedImage (v15+): 画像の遅延読み込みや自動的なsrcset生成により、パフォーマンスとレイアウトの安定性を向上。
  • provideHttpClient() (v15+): スタンドアロンアプリケーションでのHTTPサービス設定を簡素化し、インターセプターのサポートも提供。
  • input/output with Signals (v17+): 従来の@Input/@Outputデコレーターの代替として、Signalベースのデータバインディングを導入。

qiita.com

  • バージョンアップの追従困難: ウォーターフォール開発では、Angularやライブラリの頻繁な更新に対応しきれず、リリース時にサポート終了間近となるリスクがある。
  • 経験者不在でのAngular採用: 日本国内でのAngularの情報が少なく、英語の資料に頼らざるを得ない状況に。
  • AIエディタの導入遅延: Copilot Chatの導入により作業効率は向上したが、プロジェクト全体でのAIエディタの活用が進まず、手動テストが続けられた。
  • Angular Materialの利点: サンプルが豊富で、デザイナー不在でも見栄えの良いUIを実現可能。
  • 疎結合の重要性: コンポーネント間の依存関係を減らすことで、再利用性と保守性が向上。

qiita.com

  • エラーの原因: クラスフィールドの初期化子がコンストラクタの依存性注入より先に評価されるため、未定義のプロパティにアクセスしようとしてエラーが発生。
  • 解決策: Angularのinject()関数を使用して、フィールドの初期化前に依存性を注入することで、初期化順序の問題を回避。
  • バージョン依存性: Angular 17 / NgRx 15以降では、inject()とフィールド定義の組み合わせが推奨され、初期化順序のバグを自然に防止できる。
Develop

medium.com

  • MCP(Model Context Protocol)に対応した AI フレームワークを7つ紹介。
  • アプリへの AI 統合を容易にする開発基盤の進化を解説。
NgRx

zenn.dev

  • NgRx Signal Store の導入背景と基本構造を解説。
  • Signalベースのリアクティブステート管理が可能に。
Rust

zenn.dev

  • プロジェクト概要: Rustでカーネル、ユーザーランド、ビルドシステムを全て実装したUnixライクなOS「octox」の紹介。
  • 特徴:

    • Rustの標準機能を最大限活用し、型安全性とメモリ安全性を確保。
    • カーネルはライブラリクレートとしても使用可能。
    • ユーザーランドにはRustのstdに似た使いやすいライブラリを含み、シェルなどのUnix系コマンドを実装。
    • ジャーナリング機能を備えたファイルシステム
    • マルチコア対応のプリエンプティブカーネルを採用。
  • ビルドと実行: Rustとqemuがあれば、Windows(mingw64またはWSL)、LinuxmacOSで同一の手順でビルドとテストが可能。
RxJS

dev.to

  • RxJSの基本である Observables(観測可能な値)について解説。
  • subscribe の使い方や非同期処理との関係。

dev.to

  • RxJS オペレーターの役割と習得の意義。
  • mapfiltermergeMap などを紹介。

dev.to

  • combineLatestwithLatestFrom など、複数のストリームを結合する方法を解説。

dev.to

  • 完了しないストリームがメモリリークなどの問題を引き起こす可能性を解説。
  • takeUntilunsubscribe の適切な使い方を紹介。