ローファイ日記

出てくるコード片、ぼくが書いたものは断りがない場合 MIT License としています http://udzura.mit-license.org/

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

読んだ: 詳解 Rustアトミック操作とロック

www.oreilly.co.jp ちょっとしたご縁があり読む機会がありました。感想を残しておきます。あと、1ヶ月に1回は技術ブログ記事書かな〜ということで...*1。 最初に全体的な感想を残しておくと、この本は僕のように漠然と型を書き、 Clone::clone() を呼び、深…

余は如何にしてRubyKaigi 2025の資料を作りし乎

RubyKaigi 2025、お疲れ様でした。 今年も発表者の末席を務めさせていただきました。 rubykaigi.org 資料は以下です。 udzura.jp 今年も英語での発表をしたわけですが、英語での登壇準備は年を追うごとにツールのノウハウが積み重なっていくのを感じ、特に今…

YJITがRubyの命令を機械語にコンパイルした結果を眺める

Rubyを、以下のオプションでビルドするとYJITのデバッグ機能が使える(rbenvを利用する例)。 $ export CONFIGURE_OPTS="--enable-yjit=dev" $ rbenv install 3.4.2 その中にはISeqが機械語にコンパイルされた結果を確認する RubyVM::YJIT.disasm(isec) とい…

Component Model対応したruby.wasmをビルドする方法

あまり公式にアナウンスされていない気がするが*1、 ruby.wasm は実はComponent Model対応が済んでいる。 github.com 多分この辺から。なので、RubyKaigi 2024の段階ではComponent Model対応したものを動かせていた。スライドで言うとこの辺 *2。 この記事で…

wasmbotsをRubyで遊ぼう

まず、wasmbotsとは という話をしないといけません。これはwasmバイナリを作って、ダンジョン探索をするゲームです。 shaneliesegang.com 具体的には? ダンジョンを探索するためのプログラムを書いて、それを特定のインタフェースを満たしたWASMファイルに…

mruby/edge バージョン 1.0.3 の話【募集あり】

mruby/edge バージョン 1.0.3 を出した。 https://crates.io/crates/mrubyedge これは mruby/edge バージョン 1.0.0 ではないのかという話だが、ちょっと前に 1.0.0 を出したのだが、その時点では Hash と Object#== がなかったりしたので後から追加していた…

Rust + WASM Component + mruby/edge (w/ WASI p2!) のバイナリを作る【令和最新版】

令和最新版、と一度言ってみたかった。 先日、手作りでWASM Componentのバイナリを作ってみたんですが、mruby/edgeは全部Rustで書いているので、では最近のRustではどうするといいかをしゅっと残しときます。 結論ファースト zenn.dev ここに書いてある通りで…

RubyスクリプトからComponent Model対応WASMバイナリを作った(実験的バージョン)

まずは実験的ツールの紹介 componentize_any というコマンドラインツールを作りました。Rubyで書いたので以下の方法でインストールしてください。 $ gem install componentize_any ## もしくは $ git clone https://github.com/udzura/componentize_any.git …

mruby/edge のVMを書き換えた

明けましておめでとうございます! タイトルの通り。mruby/edge のVMを、mruby/c 1.2 相当の内容に書き換えた。 mruby/c 1.2 の実装は以前軽く読んだ。 udzura.hatenablog.jp PRはめちゃでかい。 +2,605 −1,376 だそうです。 github.com 合わせてcrateをいく…