タグ

ブックマーク / zenn.dev/akatsuki (3)

  • ロックマンエグゼで快適なネット対戦ができるようになるかもしれない話

    みなさん、ロックマンエグゼという作品を知っていますか? ロックマンエグゼは、カプコンから2001年に発売されたゲームボーイアドバンス(以降、GBA)用のゲームソフトで、ポケモンと同様にGBAの人気を支えたゲームです。 ナンバリング作品として、1~6までがGBAで発売されました。2005年に発売した6でストーリーが終了したため続編は発売されていません。 エグゼシリーズの人気コンテンツの1つに通信ケーブルを使った通信対戦機能があります。 現在でもインターネットを介して通信対戦をする人がいるほどです。 ネット対戦? 実は、GBA体にインターネットに接続する機能はありません。 最近はスマホやゲーム機がもれなくインターネットと接続して情報をやりとりする時代ですが、GBAが発売されたのは2001年なのでインターネット接続機能はありませんでした。 なので先ほど述べた通信対戦も、2台のGBA同士を有線の

    ロックマンエグゼで快適なネット対戦ができるようになるかもしれない話
    hush_in
    hush_in 2022/05/07
  • Webassemblyコンパイラを自作しよう

    この記事はBuild your own WebAssembly Compilerを翻訳・意訳したものです。また独自の説明を加えた部分もあります。 前置き もしあなたがWebAssemblyについて聞いたことがなく、当に詳しい紹介をしてほしいのであれば、Lin Clark氏のCartoon Guideを読むことをお勧めします。 このブログ記事ではWebAssemblyが「何か」を学ぶことができますが、「なぜ存在するのか」についても簡単に触れておきたいと思います。 私の視点では、この図が非常に簡潔にまとめられています。 上の図は、ブラウザ内での JavaScriptコードの実行を簡略化したタイムラインです。左から右に向かって、コード(一般的にはminifyされた状態で提供されます)は AST に解析され、最初はインタプリタで実行され、徐々に最適化/再最適化されて、最終的には非常に高速に実行さ

    Webassemblyコンパイラを自作しよう
  • Reactを自作しよう

    この記事は Build your own React を翻訳したものです。 Reactを1から書き直していきます。 実際のReactコードのアーキテクチャに従いますが、最適化機能と必須ではない機能は今回は実装しません。 Step 1: createElement関数 Step 2: render関数 Step 3: 並列モード Step 4: ファイバー Step 5: Render Phase と Commit Phase Step 6: 差分検出 Step 7: 関数コンポーネント Step 8: Hooks Step 0 復習 最初にいくつかの基的な概念を確認しましょう。 React、JSX、およびDOM要素がどのように機能するかをすでに理解している場合は、この章はスキップしても構いません。 今回は、次のわずか3行のコードをReactアプリの例として使用します。 const ele

    Reactを自作しよう
  • 1