2024-07-01から1ヶ月間の記事一覧
LazyCell LazyLock LazyCell と LazyLock は遅延初期化を提供する構造体で、Rust 1.80.0 で安定版となった。 LazyLock はスレッドセーフであり、static 変数を遅延初期化できる。 LazyCell LazyCell は初回アクセス時に指定された関数 F で値を初期化し、そ…
はじめに 集約ルートの指定と型制約 リポジトリに対する制約 外部の集約ルート参照に対する制約 はじめに この記事は、以下の記事の補足説明です。 blog1.mammb.com 集約ルートの指定と型制約 エンティティが、別の集約ルートに属するエンティティとコンポジ…
はじめに この記事は、以下の記事の補足説明です。 blog1.mammb.com 識別子による外部の集約の参照 集約ルートである以下のような Order がある。 @Entity public class Order { @Id private Long id; @OneToMany private List<LineItem> lineItems; @ManyToOne privat</lineitem>…
DDD コンセプト表現 アーキテクチャ コンセプト表現 CQRS・アーキテクチャ ヘキサゴナル・アーキテクチャ レイヤード・アーキテクチャ オニオン・アーキテクチャ オニオン・アーキテクチャ(ドメインモデルとサービスを分離しない) インターフェース型に基づ…
sized 型 std::marker::Sized トレイト sized 型 Rust のほとんどの型は、値のメモリ上におけるサイズが既知であり、このような型を sized型 と呼ぶ。 u64は 8 バイトであり、(f32, f32, f32)型のタプルは 12 バイトであり、sized型 である。 さらに、列挙型…
OsStr と OsString &OsStr の生成 OsString の生成 &OsStr と OsString の相互変換 OsStr と str の相互変換 OsString と String の相互変換 std::env::Args の例 std::fs::DirEntry の例 OsStr と OsString Rust の文字列は常に有効な Unicode であることが…