サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
ドラクエ3
bokuweb.github.io
ZigでWriting an OS in 1,000 Linesをやる #2023-11-21 自作 OS で学ぶマイクロカーネルの設計と実装(通称エナガ本)の補足資料として公開されているWriting an OS in 1,000 Linesを、できるだけZigでやってみることにした。 目次成果物 #repositoryは以下。 さいしょに #エナガ本は一通り読んでいたのだが、機能に対していくつかのOSの実装を眺める。という構成になっており、個人的には「同じような難易度でRV32を対象に 0->1 でシンプルなOSを作る書籍があるといいなあ」と思いながら読んでいたのだが、まさに欲していたものが公開されたので大喜びで実装を開始した。 自分はそのまま写経してしまうと頭に入らないため、異なる言語で書いてみたり、何らかの制約を課して実施することが多い。今回はZigで書いてみることにした。 概ね問
Visual Regression Testをサポートするreg-actionsをリリースした #2023-11-18 Visual Regression Test(以下VRT)をやろうと思うと画像をどこに保存するかを検討する必要がでてくるケースがある。 (web アプリケーションのVRTを前提とすると)多くの場合、テキスト形式である*.snapとは異なり、画像取得時のOSやfont、ブラウザのversionなどにより差分がでやすくなってしまう。そのため画像はCIなど環境を極力そろえた状態で取得し、S3などに上げVRT対象の画像を管理するケースがみられる。 今回はこのフロー・管理の簡略化を目指しactionsを作成・リリースした。 目次
RustでRISC-Vエミュレータを書いてNOMMU Linuxをブラウザで動かした #2023-05-23 以前からRISC-Vエミュレータを書いてみようと思っていたのだが、書いては飽きてを繰り返して全然進められずにいた。そんな中、以下のRepositoryで、rv32ima,Zifencei,Zicsr、あとはCLINTを実装すればLinuxが動くと知り、飽きずに進められそうな気がしてきたので今度こそ、と実装してみることにした。 https://github.com/cnlohr/mini-rv32ima目次成果物 #Repositoryは以下。本記事では実装の概要の記載もあるが、簡略化していたり抜粋だったりするので適宜参照いただきたい。基本的にはcoreというcrateが実装の中枢となっている。appはcoreにcliの皮を被せただけだ。 また以下にPlaygroundも用意した。
wit-bindgenとjcoでWebAssembly Component Modelに入門する #2023-04-18 WebAssembly Component Modelを追えていなかったのでHello World的なものを動かし概要を理解したい。 目次WebAssembly Component Model #WebAssembly/component-modelにspecは定義されており、現在のPhaseはPhase 1 - Feature Proposal (CG)となっている。 Goals #上記においてGoalsとして以下を挙げている。 ポータブルで効率的なバイナリフォーマットの定義ポータブルで仮想化可能なインターフェースのサポートWebAssemblyのユニークな価値提案の維持Component Modelの段階的定義MVP における usecase #またMVPにおけるu
「Linux Container Book Linuxコンテナがわかる本」を読んだ #2023-03-01 コンテナ周りの理解を深めたいと思い読むことにした。 メモを残しておく。 Linux Container Book (1) Namespace / Network 編 目次コンテナのファイルシステム #コンテナの概要から説明が入り、第2章コンテナのファイルシステムに入っていく。 この章ではchroot,pivot_root,bind mountあたりの説明がされていた。 chrootの場合環境内からさらにchrootすることで隔離空間を抜け出せてしまうのでコンテナの要件としてはpivot_rootを使用する必要がある。ただpivot_rootを使うにはいくつかの条件があり、その中の1つとしてnew_rootはmount pointであるという条件があり、これを回避するためにはbind
containerd/runwasiを読む #2023-02-24 以下を見て興味が湧いたので、軽く試したり読んだりしてみた。 とりあえず分かったことを記録しておく。 コンテナランタイムのcontainerdに、WebAssemblyをコンテナとして扱うための「runwasi」が統合。これからのコンテナランタイムはWebAssemblyと統合されていくhttps://t.co/FAFSwMpOY5 — Publickey (@publickey) February 21, 2023目次Hello runwasi #とりあずREADME通りに試してみる。 wasmedgeをインストールし、make build, sudo make install。 demo を build しloadする。
WebAssembly SIMD を pixelmatch に適用した #ついに Safari にWebAssembly SIMDが来るとのことで試してみた。 対象はpixelmatchあたりが手頃そうなのでこれを対象とする。 Safari as the last browser finally supports WebAssembly SIMD 🎉 pic.twitter.com/HVX3gZTrRi — CryZe (@CryZe107) December 23, 2022目次モチベーション #RustからWebAssembly SIMDをどう使うのか学びたいWebAssembly SIMDによるパフォーマンスの変化を観測したいまたreg-viz/reg-cliがpixelmatchに依存しており、reg-viz/reg-cliをRust,wasm製にしたいという活動の一環でもある。
「Rust Atomics and Locks」を読んだ #2023-02-05 発売前からすごく楽しみにしていた本で、発売日に買って年末から一生懸命読んでいた。 今なら以下から無料で読める。 https://marabos.nl/atomics/ 内容としては求めるものが分かりやすく書かれており、すでに2023 年に読んで良かった本の1つに入りそう。 目次書籍を通して得たかった知識 #例えば以下のようなコードを書いた際に、println!でどのような数値のペアが表示されるのか。結論から書くと0 0,10 20といった値がまずは思い浮かぶと思うが、0 20というペアで表示される可能性もあるとされており、その際以下のような疑問・不明点があった。 0 20と表示になるのはどのような条件で何が起こった場合なのか強いメモリモデルとされるx86でも0 20というペアは発生するのか本ケースにおいてx8
GopherBoy LOADROM Fork me on GitHub
このページを最初にブックマークしてみませんか?
『bokuweb.github.io』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く