ローファイ日記

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

Vivariumとは何か〜Rubyのための次世代セキュリティと可観測性ツール〜

Vivariumというツールを作っている。前の記事で少しだけ紹介した。 udzura.hatenablog.jp ツナギメオフライン ベンキョウカイ #8 でも開発中のものを紹介した。 udzura.jp 本記事ではVivariumというツール自体についてと、今実現できている機能を紹介する。 …

RbBCCの進捗と新しく作ってるもの

RubyKaigi から帰って、RbBCCにPRが来ていたりして、それからRubyKaigi で吸収した色々とが脳内で合わさって作りたいものが出てきた。 前段階としてRbBCCを頑張って整備し直した。 色々な細かいバグが直ったのと、pin周りを本家BCCよりちょっと使いやすくし…

mruby/edge 振り返り【RubyKaigi 2026】

帰福以来の微妙な喉の痛みも落ち着いたのと、経費精算におそらく成功したのでようやくRubyKaigiを締めることができる...。 ひとまず、発表もしたmruby/edgeとUzumibiに関しての振り返りを日本語で書く。AIは文章を書く上では使わない。はてなブログはなァ、A…

Uzumibi on CloudflareでDurable Object、Fetch、Queueをサポートした

タイトル通りです。 ぜ〜んぶ、Rubyから触れます!

Uzumibi の進捗...の話...

Uzumibi 0.5 をリリースした リリースしたよ。 github.com 変えたところをいくつか。 router 、 * でマッチ可能にした class App < Uzumibi::Router get '/hello' do |req, res| ... end get '/*' do |req, res| # catchallな処理を書く puts req.params[:*]…

mruby/edge 進捗 どうやって

進捗はない... 本質的な課題からも逃げがち... ではありますが、最近mruby/edgeでやってることを殴り書きします。 Playgroundをリリースした mrubyedge.github.io しました。正直まだそれなりに機能も足りず、バグもあるでしょうが、遊んでやってください。 …

Uzumibi 0.3 のリリース

Uzumibi 0.3 を出した。やっと- post, put, delete をサポート...- クエリとrequest bodyをサポート...- "/users/:id" って書けるようにした...これでもう少しまともに使えるかなhttps://t.co/h8C5SWXXKt— Uchio Kondo💥 (@udzura) 2026年1月24日 リリースした…

mruby/edgeで使うSipHashとFNVをかるっと比較

開発メモが流行ってるらしいので...、茶飲み話でも残すか...。 mruby/edge のHash 実装方針はこうしている: 基本、標準のHashMapをそのまま使う キーに関しては、オブジェクトごとに Hash トレートを実装してそれを使わせればいいじゃない... ところでRustの…

Uzumibi: あらゆるエッジでRubyを動かすために

明けましておめでとうございます。 Uzumibi (埋み火)と言う、あらゆるエッジでRubyを動かすためのウェブフレームワークを作っています。この度RC版を出したので使い方を共有します。 github.com What is Uzumibi Uzumibi は各種エッジコンピューティングサ…

PHPカンファレンス福岡2025で登壇しました! feat. 私とPHPカンファレンス福岡

PHPカンファレンス福岡について語ってほしい! Advent Calendar 2025 の10日目の記事です。公開が遅くなり、申し訳ありません! adventar.org 少し前になりますが、11月8日に開催された「PHPカンファレンス福岡2025」に登壇してきました。 phpcon.fukuoka.jp…

Coding AgentにWasm製のrmを使わせて安全にできないか?

WebAssembly / Wasm Advent Calendar 2025 23日目の記事です。 qiita.com

Rubyがエッジで動く日

Ruby/Rails Advent Calendar 2025 22日目の記事です。 qiita.com RubyKaigi 2024 で発表した mruby/edge の進捗をつらつら書きます。 udzura.jp

プロジェクトのrust-analyzerにdefault以外のfeatureを認識させる

追記‍♂️: 2026/01/13 何かを勘違いしていて検討違いのファイルパスを記載していました。VSCodeの場合のファイルパスを追記しました。 特にアドベントカレンダーは関係なく、備忘録としてブログを書きます。 Rustで書いたmruby VMの実装を最近また再開してい…

AI Agentの実装でWebAssemblyは使えるか?

地球人の皆さん、こんにちはだっピ...。 先日エンジニアカフェのLT大会で、AI Agentの実装でWebAssembly (Wasm) を使った話をした。スライドだけだと色々とラフなので詳細を書き起こしておきたい。 udzura.jp

読んだ: 詳解 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をいく…

mruby/c 1.2 のコードを読んで理解するmruby VMの実装

mrubyファミリ (組み込み向け軽量Ruby) Advent Calendar 2024、23日目の記事です。メリークリスマス! qiita.com mrubyファミリAdvent Calendar、今年は1日目からyharaさんによる衝撃的な記事がありました。 yhara.jp なぜ衝撃的だったかというと、僕も全く…

Ruby製の自作WASM Runtimeの実行時間を43%削った話

Ruby Advent Calendar 2024の20日目の記事です。 qiita.com 今年後半からWarditeという名前のPure Ruby WASM Runtimeを作り始めたのですが、 github.com udzura.hatenablog.jp その内部の話とかは今日は置いといて(東京Ruby会議12前夜祭で話しちゃおっかな…

最もプリミティブなやり方(WAT)で入門するWASM Component Model

WebAssembly Advent Calendar 2024の18日目の記事です。 qiita.com @udzura です。趣味でPure RubyのWASM Runtimeを作ったり、mrubyをベースにRubyスクリプトをWASMバイナリに固めるくんのPoCを作ったりしています(なおいわゆるruby.wasmにはほとんど関わっ…

JXAでMacのちょっとしたブラウザ操作を自動化する

SmartHR Advent Calendar 2024、14日目の記事です。昨日のご担当は tnagatomi さんでした! qiita.com 株式会社SmartHRのプロダクトエンジニア @udzura です。労務基本機能を開発するチームで働いています。 今日は最近知った JXA で、Macのちょっとしたブラ…

自作WASM Runtimeでグレースケール処理を動かすまで

あらすじ udzura.hatenablog.jp tl;dr 自作WASM Runtimeでグレースケール処理を動かした グレースケール処理はRustで書いたもの WebAssembly specificationはテストケース付きで公開されてるので便利

Pure Ruby なWASM Runtimeを型付きで実装してみた

Wardite というWASM Runtimeを作っていました。 github.com 今の所、「RustでWasm Runtimeを実装する」の内容を一通り実装した段階です。 zenn.dev fibまで動くようになったので、ゴリラさんのコースの範囲は一旦完成あとはwasm坂を登り続けるだけだ... pic.…

手を動かして理解するwasmCloud 〜旅立ち編〜

wasmの可能性を「理解」したくてwasmCloudをさわってみている。動かしてみたメモや感想などを晒しておく 免責事項 wasmCloud公式のGetting Startedに書いてあるレベルのことしかしていないので、これから学ぶ人は直接そっちを読んだほうがいいと思う。 wasmc…