@ledsun blog

無味の味は佳境に入らざればすなわち知れず

2024-01-01から1ヶ月間の記事一覧

Windows Formの同期イベントハンドラーから入れ子になった非同期関数を呼ぶとデッドロックする

await と Task.Result によるデッドロックによるとWindows FormでTaskを使ったときにデッドロックするケースがあるようです。 検証してみます。 デッドロックするソースコード 試しに次のようなコードを書いてみました。 namespace AwaitDeadLockEight { pub…

ruby.wasmのJS::Object#newにブロックでコールバック関数を渡す

ruby.wasmのKernel#sleepをどう実装したものか? - @ledsun blog の続きです。 次のようにruby.wasmで動くKernel#sleepを実装できます。 <html> <head> <title>Kernel#sleep</title> <script src="https://cdn.jsdelivr.net/npm/@ruby/head-wasm-wasi@2.4.1-2024-01-26-a/dist/browser.script.iife.js"></script> <script type="text/ruby" data-eval="async">…</head></html>

オートローダー設計調査

ruby.wasmでオートロードする - @ledsun blog でModule#const_missingをつかってオートローダーを書いてみました。 Module#const_missingのAPIで、汎用的なオートローダーを書くのは少し難しそうなことがわかりました。 難しそうですが、どれくらい難しいの…

ruby.wasmでオートロードする

kakikataというペン習字練習用紙を印刷するruby.wasmアプリケーションがあります。 ledsun.github.io 複数ページ印刷する機能を追加するついでに、requrie_relativeを使ってファイル分割していました。 やっている内に、単純作業が面倒臭くなってオートロー…

万年筆

万年筆を買いました。 ペン習字をはじめた - @ledsun blog のの一環です。 練習するなら良い道具を使った方が気持ちが盛り上がります。 セーラー万年筆 万年筆 プロフィットスタンダード アイボリー 太字 11-1219-617セーラー万年筆Amazon 以前、パイロット…

rustのWASI用のThreadのsleep関数を読む

https://github.com/rust-lang/rust/blob/e9271846294c4ee5bd7706df68180320c0b5ff20/library/std/src/sys/wasi/thread.rs#L137 *1 pub fn sleep(dur: Duration) { let nanos = dur.as_nanos(); assert!(nanos <= u64::MAX as u128); const USERDATA: wasi::…

ruby.wasmのKernel#sleepをどう実装したものか?

ruby.wasmを使ってブラウザ上でKernel#sleepを呼ぶとエラーが起きます。 <html> <body> <script src="https://cdn.jsdelivr.net/npm/@ruby/head-wasm-wasi@2.4.1-2024-01-05-a/dist/browser.script.iife.js"></script> <script type="text/ruby"> sleep 1 </script> </body> </html> エラーのスクリーンショット とりあえずこんなパッチを当てれば動くことはわかっています。 module Kernel de…

Rubyでテトリスを実装する その9

Rubyでテトリスを実装する その8 - @ledsun blog の続きです。 すべてのテトリミノを実装しリファクタリングしました。 github.com CLIバージョンはひとまず完成です。

Rubyでテトリスを実装する その8

Rubyでテトリスを実装する その7 - @ledsun blog の続きです。 今回は 行を消すロジックの修正 T字形テトリミノの追加 デバッグ表示の追加 です。 行を消すロジックの修正 より宣言的にならないか工夫してみました。 https://github.com/ledsun/tetoris/blob…

ペン習字をはじめた

私は字が汚いです。 理由はわかっています。 脳内に収納している字形の解像度が低すぎるのです。 空で字を書くと、脳内の間違ったモデルをお手本に書くので、必ず汚い字が書けます。 克服するためには、脳に正しい字形をインプットする必要があります。 そこ…