Filament の dehydrated メソッドは、フォームフィールドを保存対象に含めるかどうかを制御します。本記事では dehydrate という概念の意味、基本的な使い方、よくある活用パターンを整理します。
Interlocked は、複数スレッドから共有される変数をロックなしで安全に更新するための仕組みです。本記事では、counter++ が危険な理由、アトミック操作の意味、Increment や CompareExchange の使いどころを整理します。
Laravelの throttle:5,1 は、一定時間内のリクエスト回数を制限するレート制限の設定です。本記事では、その意味や内部の仕組み、OTPなど認証処理でなぜ重要になるのかを整理します。
ImmutableHashSet<T> は、一度作った集合を変更せず、新しい集合を返す不変コレクションです。本記事では、通常の HashSet<T> との違い、不変であることの利点、状態管理や並行処理での使いどころを整理します。
HashSet<T> は、重複を許さず高速な存在チェックができる集合コレクションです。本記事では、List<T> との違いや内部の考え方、集合演算、Equals と GetHashCode が重要になる理由まで整理します。
AttributeとReflectionを組み合わせることで、宣言的にコードの振る舞いを制御できます。設定と処理を分離し、拡張性や可読性を高める設計として、ルーティングやバリデーションなど多くの実務で活用されています。
Reflectionは、実行時に型情報やAttributeなどのメタ情報を取得するための仕組みです。Attributeが付加する「情報」を読み取り、動作を切り替える役割を担い、フレームワークや自作処理で広く利用されています。
C#の [ ] で記述されるAttributeは、コードに追加の意味や設定を与える仕組みです。処理そのものではなくメタ情報として付与され、コンパイラやフレームワーク、実行時の仕組みによって解釈されて初めて意味を持ちます。
非同期処理では、同じリソースへの同時アクセスによる競合が起こりやすくなります。本記事では、lock、SemaphoreSlim、キュー、Interlocked などを使った代表的な競合対策を整理します。
async/await は別スレッドを作る仕組みではなく、処理を中断・再開して待ち時間を効率化するための仕組みです。本記事では、awaitする場合としない場合の違いを含めて、その挙動を整理します。