タグ

ブックマーク / saneyukis.hatenablog.com (3)

  • Virtual DOMのアルゴリズムが知りたくてvirtual-domのコードを読んだ話 - saneyuki_s log

    Reactの登場以来気になっていた、Virtual DOMアプローチの具体的な差分抽出手法について、virtual-domを読んで確認してみた。 Reactをいきなり読むのは面倒くさかった・ミニマムな実装から読みたかったというのが、こっちを選択した理由。Reactのアルゴリズムが参考にされているものの、Reactには存在する特定の最適化が入ってないかもしれないので、あくまでもReact系のVirtual DOMを実装するには最低限何が必要かを知る程度のものと判断してほしい。 virtual-domについて ReactのVirtual DOM部分だけを切り出して再利用可能な形で再実装したライブラリ。elm-htmlとかMercuryといった箇所でvDOMインフラとして既に使われているので、まったくの趣味プロダクトという訳でもなくなっている。 README.md中での触れられている通り、Vir

    Virtual DOMのアルゴリズムが知りたくてvirtual-domのコードを読んだ話 - saneyuki_s log
  • Promiseはコールバックに対する聖杯ではない - saneyuki_s log

    ES6ならびにDOM4にPromiseが投入されることとなり、すっかりJavaScriptでよく陥るコールバック地獄に対する至高の解決策のように扱われているPromiseだが、万能の解・聖杯ではない。 たぶん誰かが既に似たようなこと書いてると思うけど、とりあえず自分の思考の整理に書く。 Promiseといえば以下のようにコールバックによるコードの無限ネストを解決するものとして扱われることが多い。 var p = new Promise(); p.then(function () { ... }).then(function () { ... }) だが、これはコールバックをPromiseというラッパーを用いてネストしない形に変換しただけに他ならず、Promiseの利点ではない。適当なラッパー関数を作って解決しているのと大差はない。 質的にはPromiseとは将来的などこかの時点になれば値

    Promiseはコールバックに対する聖杯ではない - saneyuki_s log
  • Servoの現況概説的なおはなし - saneyuki_s log

    ゆるふわ系Rust勉強会で話した内容のスライドを公開していなかったので今更ながら話した事について簡単にまとめます。 About Servo Mozillaが行っているRustで書かれたブラウザエンジン実験プロジェクト Rustのセールスポイントである並列性・安全性にフォーカスした実験 現時点における、Rustの主要使用用途にして最大のプロダクトのひとつ Rust言語そのものの開発との事実上の相互フィードバック関係にある Blinkと比較されることが多いが、WebKit Chromium portの延長であったBlinkに対し、Rustは完全な新規の実験プロジェクト。その域を脱してはいない。 モダンブラウザエンジン(デザイン・アーキテクチャに挑戦している的な意味で) Servoの実験領域 モダンハードウェアにおける新しいブラウザエンジンの探求 メニーコアなどのモダンハードウェア環境における並

    Servoの現況概説的なおはなし - saneyuki_s log
  • 1