Rust

SeaORM でテーブル作成とデータ操作

github で SeaORM という Rust 用の ORM を見つけたので軽く試してみました。 SeaORM 0.8 sea-orm-cli というツールを使うと、既存のテーブルから Entity 定義を自動生成してくれるようですが、ここでは自前で定義した Entity を基にテーブル作成とデータ操…

juniper による GraphQL の処理を WebAssembly 化する

juniper を使った GraphQL の処理を WebAssembly 化し、Deno 用の JavaScript で実行してみました。 juniper v0.15.9 ソースコードは https://github.com/fits/try_samples/tree/master/blog/20220224/ はじめに 今回は wasm-bindgen と wasm-pack を使いま…

辞書ベースの日本語 Tokenizer - Kuromoji, Sudachi, Fugashi, Kagome, Lindera

辞書をベースに処理する日本語 Tokenizer のいくつかをコードを書いて実行してみました。 (a) Lucene Kuromoji (b) atilika Kuromoji (c) Sudachi (d) Kuromoji.js (e) Fugashi (f) Kagome (g) Lindera 今回は以下の文を処理して分割された単語と品詞を出力…

イベントベースで考える在庫管理モデル

従来のイベントソーシングのような手法だと、特定の State(というよりは Entity かも)を永続化するための手段として Event を用いるというような、あくまでも State 中心の発想になると思います。 そこで、ここでは下記のような Event 中心の発想に切り替…

Go言語と Rust で Mutex による排他制御

以下の 3通りを Go 言語と Rust でそれぞれ実装してみました。 (a) 排他制御なし (b) Mutex による排他制御 (c) RWロック(Readers-writer lock)による排他制御 サンプルコードは http://github.com/fits/try_samples/tree/master/blog/20201122/ Go 言語の…

rusty_v8 を使って Rust から JavaScript を実行

Node.js の製作者が新たに作り直した Deno という JavaScript/TypeScript 実行環境があります。 Deno の内部では、V8 JavaScript エンジンの呼び出しに rusty_v8 という Rust 用バインディングを使っていたので、今回はこの rusty_v8 を使って Rust コード内…

Rust で WASI 対応の WebAssembly を作成して実行

Rust で WASI 対応の WebAssembly を作って、スタンドアロン実行や Web ブラウザ上での実行を試してみました。 WASI(WebAssembly System Interface) は WebAssembly のコードを様々なプラットフォームで実行するためのインターフェースで、これに対応した …

Windows上で Rust 1.3 を使用

以前、「Windows 上で Rust を使用」 では Rust 0.9 を使いましたが、今回は Rust 1.3 で試してみました。 Rust 1.3.0 https://www.rust-lang.org/ https://github.com/rust-lang/rust 環境構築 https://www.rust-lang.org/ から Windows installer をダウン…

Windows上で Rust を使用

今回は Windows 上で Rust を使ってみます。 Rust 0.9 http://www.rust-lang.org/ https://github.com/mozilla/rust Rust はトレイト・パターンマッチ・アトリビュート等のモダンな言語機能を持ち、オブジェクト指向と純粋関数型のプログラミングスタイルを…