やってみる

アウトプットすべく己を導くためのブログ。その試行錯誤すらたれ流す。

2020-10-01から1ヶ月間の記事一覧

Rust学習まとめ(ドキュメント)

三ヶ月半におよぶRust学習のリンク集。111記事。

Rustのサーバ(シャットダウン)

優美かどうかはわからない。

Rustのサーバ(マルチスレッド)

難しすぎてついていけない。もうただのコピペマン。

Rustのサーバ(シングルスレッド)

HTTP、TCP。

最新MONOインストール(Raspberry Pi 4)

C#

6.12.0.90。

Rustの高度な機能(関数、クロージャ)

関数ポインタ、クロージャの返却。

Rustの高度な機能(型)

型エイリアス、never型、Sizedトレイト。

Rustの高度な機能(トレイト)

関連型、ジェネリック型、スーパートレイト、ニュータイプパターン。

Rustの高度な機能(ライフタイム)

3つの機能について。

Rustの高度な機能(Unsafe Rust)

メモリ非安全コードを書く。

Rustパターン(記法)

すべての記法を網羅する。

Rustのパターン(論駁可能性)

パターンに一致しない可能性がある場合。

Rustのパターン

タプルを代入する式とかで使う。

Rustのオブジェクト指向(デザインパターン)

必ずしもRustにおいて最善とは言えない。

RustのOOP(トレイトオブジェクト)

Vec<Box<MyTrait>>とすることでtrait(インタフェース)を実装した型を受け入れる。</box<mytrait>

Rustのオブジェクト指向

struct, impl, pub, trait, トレイト境界where T: trait1, trait2、を用いて実現する。

Rustのスレッド(Send、Syncトレイト)

コード例がないのでよくわからんかった。

Rustのスレッド(Mutex、Arc)

1度に1スレッドのみアクセス可にすることで整合性を保つ。

Rustのスレッド(メッセージ送受信)

スレッド間データ通信。

Rustのスレッド

並行(並列、同時)に実行する。

Rustのスマートポインタ(Weak<T>)

弱参照。強参照の参照カウンタがゼロになれば弱参照は循環していようが削除される。

Rustのスマートポインタ(RefCell<T>)

借用規則をコンパイル時でなく実行時に適用する。

はてなブログにタグが実装された。どう使うべき?

イメージを掴むために調べてみた。ツイッターのハッシュタグ劣化版?

Rustのスマートポインタ(Rc<T>)

複数の所有者をもたせる。参照カウント式。

Rustのスマートポインタ(Dropトレイト)

デストラクタ。スコープを抜けるときに実行する。リソース解放などに使う。

Rustのスマートポインタ(Derefトレイト)

参照外し*の振る舞いをカスタマイズできる。

RustのスマートポインタBox<T>

ヒープに格納する。(スタックでなく) 型定義を自己参照するときに有用。

ラズパイ4B(4GB)にRaspbianPiOS(2020-08-20)32bit版をインストールしてUSBブートした

USBブートが正式対応されたらしいので試してみた。無事に成功!

Rustのスマートポインタ

複数の所有者をもたせること等ができる。

Rustのcargoを拡張する方法

やり方だけ確認する。