備忘録 blog

Docker/Machine Learning/Linux

2020-01-01から1年間の記事一覧

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 があり、それぞれのツールの間で微妙に特徴が違うので、…

Docker / Singularity の実用面での違い

Singularity と Docker の互換性の問題 Singularity は、 Docker image を変換してSingularity image として実行することができる機能を有している。Singularity が導入されているマシンでは、no-root でDocker image を実行することができる。このほかにも…