年末年始でセレクタエンジンHayate.jsを書いてみた

年末年始の課題

年末年始の合間を縫いつつセレクタエンジンを書いてみました.・・・なんか大仰な響きだけはしますね.例によってコンセプトの足りてない習作系の再発明品です.

いくつかのpseudoについて真剣に解決が見つからなかったり,サボったりしていますが,とりあえずSlickSpeed Selectors Testのデフォルトセットは通るようにしている(はず)です.

Hayate.js

バンダイチャンネルで某アニメを見ながら書き始めたので,こんな名前がついていますが,より多く作業中に見たアニメは僕は友達が少ないでした.ついついラノベ原作のほうも買ってしまいましたよHAHAHA...

振り返ると

学びとしては...

  • CSSでも普段つかっていなかったセレクタを振り返れた
  • だってCSS3のセレクタとかあんまり使いませんよね...
  • 処理速度のシビアなチューニングを垣間見た
  • やり方ひとつで,1msになったり300msになったりおもしろい
  • 正規表現のコストと向き合えた
  • ブラウザ間のCSSセレクタのサポート差違を調べられた
  • 高速化を突き詰める深淵クラスタすごいと思えた

ぱっと見で,他の国産ライブラリと比べても精度・対応範囲に対してコード全体の行数がかさんでしまっているので,実用性についてはアレな感じですね.速度面で極端に劣ることはないようにしているつもり.

あとは,Sizzleみたいに独自pseudoとか,Selectors Level 4に対応したら面白いかな〜と思いつつコツコツ手を入れていく予定です.

大変なモンですね...

セレクタエンジンの再発明とか,暇人も甚だしい上に,このロジックの勘所を押さえたところで,滅び行く技術&レガシーIEも消え去る運命っちゃ運命ですが...なかなか勉強になったとおもいます.

年末年始を楽しみつつですね


いせえび姿造り

伊勢エビ惨殺したりとか


年越し蕎麦

年を越すための必死そば


おせち

お取り寄せ系のおせち


海老をむさぼったり,そばをすすったり,おせち食べたり,雑煮つくったり,色々する中の時間で書いてました.

つきましては,明けましておめでとうございました m(_ _)m