タグ

ブックマーク / zenn.dev/tanakh (5)

  • YewとaxumとShuttleで RealWorld example を書いてみた

    #[shuttle_service::main] async fn axum(#[shuttle_aws_rds::Postgres] pool: PgPool) -> ShuttleAxum { ... } のように引数に必要とするリソースを書くと、自動で必要なものがプロビジョニングされて、何も考えなくてもプログラムから使える状態にしてくれるみたいです。Infrastructure-From-Codeと呼ばれるパラダイムのようです。あんまり良く知らなかったのですが、別途インフラ設定のコードを書くのに比べると、リソースの定義がそれを必要とするコードに直接書かれているし、コンパイラのチェックも入れられるので、たしかに筋が良いような感じを受けました。 shuttle依存の部分はここだけなので、あとはaxumを用いた普通のREST APIのコードを書いていくだけです。 axumはRustのデファ

    YewとaxumとShuttleで RealWorld example を書いてみた
    xef
    xef 2022/12/22
  • 自作のRust製エミュレーターをWebブラウザーで動くようにした

    最近Rustでちょいちょい書いてたエミュレーターをWebブラウザーで動くようにしました。 現在のところ、ゲームボーイ・ゲームボーイカラー、ゲームボーイアドバンス、ファミコン、スーパーファミコンが動きます。 当初からブラウザーでも動かすことを念頭に置いていたので、コア開発が一段落したら対応させたいと思っていました。実際に動かすに当たっては思い通りに進んだところもあり、そうでないところもありといったところで、ところどころで気づいたところを書いておいたら誰かの参考になるかもしれないので、とりとめのない話ですが書き残しておくことにします。 一応ウェブアプリなのにJavaScriptTypeScriptも、ReactAngularも、npmwebpackも使わない、インド人完全無視カレーみたいなものになりましたが、それでもそこそこに良い感じにできた気はするので、私のようにフロントエンドから取り

    自作のRust製エミュレーターをWebブラウザーで動くようにした
  • Rustでファミコンとスーパーファミコンのエミュレーターを書いた

    ゲームボーイエミュレーター、ゲームボーイアドバンスエミュレーターに続いて、Rustでファミコンエミュレーター"Sabicom"とスーパーファミコンエミュレーター"Super Sabicom"を書きました。 名前にRustっぽさを出してみました。 前回作ったマルチエミュレーターMERUのコアとして実装したので、ステートセーブや巻き戻しなどの機能も使えます。MERUの対応コアはこれで4つになりました。 こちらからWindowsLinuxのプリコンパイルバイナリがダウンロードできるようになっています。 他のプラットフォームおよびソースコードからコンパイルする場合は ファミコンとスーパーファミコンどちらも一通り体の機能は実装してあるつもりです。スーパーファミコンは割と細かいところまでちゃんと動くようにしてあるはずなので、動かなかったり表示がおかしかったりするソフトがあればバグですので、ぜひご報

    Rustでファミコンとスーパーファミコンのエミュレーターを書いた
  • Rustでゲームボーイアドバンスエミュレーターを書いた

    一通りちゃんと実装したので、大抵はちゃんと動いてくれるはずです。動かなかったり、画面がおかしかったり、音がおかしかったりしたらバグなので、ご報告いただけるとうれしいです。 エミュレーションコアが2つになったので、せっかくなのでエミュレーションコアのインターフェースを抽象化して、マルチエミュレーターにしました。 リリースページ からコンパイル済みバイナリをダウンロードできます。 マルチエミュレーター エミュレーターを作るうえで割と面倒でバカにならないのがフロントエンドUIの作成です。GUIアプリを作るのはそもそも結構大変で、ましてや昨今のアプリケーションはPCだけでなくスマホやWebといったタイプの異なる複数のプラットフォームで動かしたいというモチベーションがあります。特定プラットフォームにべったりで何となく動くように書けばいいやというのと比べると、取れる選択肢も限られてかなり面倒になってき

    Rustでゲームボーイアドバンスエミュレーターを書いた
  • Rustでゲームボーイエミュレーターを書いた

    RustでTGB-Rというゲームボーイエミュレーターを書きました。 とりあえずWindowsLinuxで動作確認をしていて、エミュレーションの精度もそれなりに出ているはずです(以下は非公式ROMによるスクリーンショット)。 GameBoy WORDLE 2048gb Hi-Colour Demo Bad Apple!! 名前は、以前私が書いていたゲームボーイエミュレーターの精神的後継だったり、Rustで書いていたりとかでこうなりました。 以前書いたエミュレーターもオープンソースで公開していたのですが、ふと検索してみたら、GitHubプロジェクトができていて、メンテナンスが続けられていました。 私がこれを書いていた時期はGitHubどころかgit自体が存在しないような時代で、サーバーを借りてそこに手作りのアーカイブをしこしこアップロードしていたような、あまりに素朴な開発でしたが、そんな時

    Rustでゲームボーイエミュレーターを書いた
  • 1