らいふうっどの閑話休題

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

2025.10.12 覚書 / 2025.10.12 memo's

2025.10.12 覚書 / 2025.10.12 memo's

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

Angular

dev.to

  • Angular Signals(シグナル)というリアクティブ・ステート管理の新しい仕組みを紹介
  • 従来の Zone ベースの変更検知より、より細粒度・効率的な更新が可能になる点を強調
  • カウントダウンタイマーのサンプルを通じて以下を解説:
    • Writable signals(状態を直接更新できる信号)
    • Computed signals(他のシグナルから導出される値)
    • Effects(副作用的処理。シグナル変化時に実行)
  • シグナルの導入におけるベストプラクティス(読み取り専用公開、複雑なロジックを避ける、クリーンアップ処理など)を提示
  • シグナルは既存の RxJS や observable と共存可能で、徐々に移行する方式が推奨されている

dev.to

  • 古い Angular アプリケーションのマイグレーションでの課題(API 廃止、テンプレート修正、モジュール変換など)を述べる
  • 著者が AI を使って Angular のマイグレーションを「数分」で自動化した実験を紹介
  • Angular v19.2 でのテンプレート構文改善(@if, @for, @switch など)を強調
  • 将来的な方向性として、AI を使ったスキャフォールディング、リファクタリング、エラー修正などの自動化を予測
  • 結論として、Angular は AI と融合しながら進化し、開発者は「コードを書く人」から「設計・ロジックを考える人」にシフトする可能性を示唆

medium.com

  • Angular 20 で導入された “selectorless components”(セレクタなしコンポーネント)を紹介
  • 通常、Angular コンポーネントには selector(HTML タグ名など)が必要だが、selectorless コンポーネントは表示要素を持たず、テンプレートやホスト要素も持たない
  • このコンセプトはコンポーネントを UI 表示よりもアーキテクチャ的な役割(サービス的・ロジック的な層)として使う発想を可能にする
  • テンプレート内に直接 “見えるコンポーネント” として使うのではなく、内部処理や組織構造を整理する道具として利用していくという観点
  • Angular の設計思想の幅を広げる可能性を示唆

medium.com

  • Angular 19 で導入された httpResource(リソース API)と従来の HttpClient との関係を検討
  • httpResource は signal ベースでリモートデータ取得を簡潔に扱える抽象レイヤーを提供
  • 例として TODO アプリを構築し、検索クエリに応じて自動で HTTP リクエストを再実行する仕組みを示す
  • httpResource には isLoading(), error(), reload() などの補助的なシグナルが備わっている
  • ただし、mutation(POST, PUT, DELETE 等)処理は想定外で、また入力変化時の再取得戦略(キャンセル&再実行)はカスタマイズ性に制限あり
  • 結論としては、httpResourceHttpClient を置き換えるものではなく、取得処理に特化した補助レイヤーと見るべき、というスタンス
React

react.dev

  • React と React Native を Meta から「React Foundation(独立財団)」へ移管する計画を発表
  • 独立した技術ガバナンス体制を導入し、一企業に依存しない運営を目指す
  • React Foundation の役割として、GitHub・CI・商標管理、React エコシステム支援(助成金、プログラム)、コミュニティ運営などを挙げる
  • 初期の出資・参加企業には Amazon, Callstack, Expo, Meta, Microsoft, Software Mansion, Vercel など
  • 技術方針決定は貢献者主体とし、一企業の影響力を抑える設計を意図
  • この移行により、React の将来の持続性、透明性、公平性を高めたいというビジョン
Rust

dev.to

  • C 言語出身者の視点で、Rust を使い始める際に知っておきたかったポイントをまとめる
  • 所有権 (ownership), 借用 (borrowing), ライフタイム (lifetimes) の概念の重要性と、その落とし穴
  • 安全性 (safety) を確保するための設計思想と、C では典型だったエラー源(ヌルポインタ、ダングリングポインタ等)への回避策
  • マクロ(macro_rules!)やジェネリクス (generics) の扱い方、トレイト (trait) の設計など
  • パフォーマンスと抽象化のトレードオフについての考察
  • 開発生産性を高めるためのツール、コンパイラのメッセージ活用、デバッグ技法なども触れている

dev.to

  • Rust を使って複数言語対応の実行環境(マルチ言語実行ランナー)およびスマート REPL(Read-Eval-Print Loop)を実装したプロジェクト紹介
  • 各言語(Python, JavaScript, Rust 等)を統一的に扱える抽象レベルを設計
  • コマンドライン引数、入力データ、標準入出力のラッピング、時間制限やメモリ制限などの制約制御機構を備える
  • 内部で言語固有の処理系を起動・管理し、結果の収集とエラー処理を整理
  • REPL モードでは補完(autocomplete)、履歴、入力支援機能などを備え、インタラクティブな実行体験を提供
  • Rust の安全性、高速性、ツールエコシステムを活用しつつ、複数言語実行基盤を統合するアーキテクチャを示す

dev.to

  • AI(特に計算集約型処理)用途における Rust の技術的優位点を論じる
  • メモリ安全性、所有権システム、ゼロコスト抽象化 (zero-cost abstractions) による高効率性
  • 並列処理、非同期処理、低遅延 I/O、SIMD 最適化などの活用可能性
  • GCガベージコレクション)がない点がリアルタイム性を要求される AI 処理に適している点
  • Rust エコシステムでの機械学習 / 数値計算ライブラリ(例:ndarray, tch, burn 等)の紹介と限界点
  • 将来の方向性として、GPU / TPU 対応、分散処理、メモリ最適化戦略などの課題と展望