@ledsun blog

Hのキーがhellで、Sのキーがslaveだ、と彼は思った。そしてYのキーがyouだ。

PPLサマースクール2021

ss2021 - 日本ソフトウェア科学会 プログラミング論研究会 (JSSST-SIGPPL) (Special Interest Group on Programming and Programming Languages)

に参加というか、視聴しました。

例えば、あるHTML要素の上にマウスカーソルがあるときに

  1. マウスの左ボタンを押下
  2. 対称のHTML要素を消す
  3. マウスの左ボタンを放す

したときの挙動がブラウザによって違うように感じます。 自分は、こういう現象に出会ったときにChromiumソースコードやissueに当たれずに調査が行き詰まる経験がありました。 なので、少しでもChormeブラウザに入門できればなあ、という期待感で見ました。

講演2の途中から見ました。面白かったです。

Googleの中でGoogle Chormeブラウザを開発している人たちの話が聞けました。 Webアプリケーションを開発しているなかで、時々ブラウザの臭い動きを見かけます。

結論から言うと、Chromeソースコードを読む入り口としては、大分手前の方だったのでまだまだ先は長いなあという完走です。

ソースコードは2500万行、関連する開発者がGoogle以外も含めて数百人、GCリファクタリングに10年。 もう、何もかも規模が異次元過ぎて「大海って広いんだなあ」ってカエルになりました。

面白かったエピソード。

  • マルチプロセスのデバッグgdbやprintfで地道に頑張っている
  • input type="date"を実装した人だった
  • BetaチャンネルやDevチャンネルのユーザーの情報からパフォーマンス変化を収集している
  • Blink(レンダリングエンジン)をJavaScript書こうとするプロジェクトな何回も立ち上がったが、未だ達成されず
  • WebKitで複数JavaScriptエンジンをサポートしたときのつらい経験から、BlinkはV8専用で割り切った
  • GoogleMozillaからトップエンジニアを引き抜いてChormeを作った
  • それ以前から、Googleがブラウザ業界(?)にお金を落とすようになってJavaScriptエンジンは見る間に速くなった

クロスオリジンとかアイソレーションのイメージを掴まないと、なかなかブラウザ固有の要件への理解が追いつきません。

参考