備忘録 blog

Docker/Machine Learning/Linux

rust

Rust のポリモルフィズムとトレイトオブジェクト

Rust で、「ある構造体のフィールドに、ある条件(=トレイト)を満たす他の構造体と動的に取り替え可能なフィールドを設定したい」と思うことがある。例えば、struct Binary で定義している、バイナリファイルを、struct BinaryReader 経由で読み込むときに…

Rust で Write Offset を取得したい

tl;dr Rust で、Write + Seek トレイトを実装したストリームにバイナリを書き出していくときに、いまどれだけ書き出したのかが分かっているとする。このとき 書き始めた位置の Offset を持っておくと、その offset 位置から読み出したり、逆にその位置からデ…

Python から Rust を呼ぶライブラリを比べる

tl;dr Rust で実装されたライブラリに対して Python 側から関数呼び出しをしたいと考えたとき、Rust に対して Python binding を提供してくれるライブラリとして maturin、setuptools-rust、milksnake があり、それぞれのツールの間で微妙に特徴が違うので、…

Rustの覚書

全体的に postd.cc https://japaric.github.io/discovery/ インストール rustを手元の環境に導入する方法として、rustc(rustコンパイラ)を直に入れるほかにrustupと呼ばれるツールチェーン管理用のソフトウェアを介してインストールする方法がある。これはni…