下記に参加してきましたー!
キャリアについてのお話もありましたが、私は前半の技術パート狙いでした
ブラウザの仕組みの概要をわかりやすく説明してくださって興味が出ました!
読みたい技術書がどんどん増えて困るわw
メモ書きですが備忘録として!
Rustとは?
RustはFireFoxのレンダリングエンジンをかくために作られた言語
ちょっとJSに似ているな・・・
https://qiita.com/tkomamsu/items/98fab16cfee0cb23a957
ブラウザとは?
その機能を担っているのは下記のコンポーネント
(ブラウザによって呼び方や意味合いは変わる)
レンダリングと最低限のUIと最低限のネットワーク
ChromeとEdgeの中身が一緒?
レンダリングの中身(= コンポーネント)が同じだからということ
IEがなくなる時によっしゃーってなったのはEdgeが開発者がよく使うChromeと同じになったからか・・・
そしてSafariでなんか違うーってなることが多いのもこれか・・・
ネットワーク部分
HTTP1.1ではテキストベース
HTMLの解釈
HTMLの文字列からタグからトークンを作って、DOMツリーが作られる
トークンはどうやって作成されている?(簡易版)
図では状態は4つだが本来は十数種類あるらしい
HTMLの仕様書に丁寧に書いてある(HTMLリビングスタンダード)
https://momdo.github.io/html/
DOMツリーはどうやって作成される?
HTMLは規則(このタグの中にはこれを書けないor書ける)を扱いやすくするためこのような
CSS
CSSもHTTMLと似たような解釈方法
HTML + CSS = レイアウトツリー
レイアウトツリーで各要素の位置や大きさの情報も計算している
JS
JSもHTMLやCSSのような感じ
たくさんツリー構造を作っている
全部でツリー構造4種類
4種類
-
HTML
- DOMツリー
-
CSS
- CSSOM
-
JS
- ここはなんだったんだろう?
-
レイアウトツリー(DOMツリー + CSSOM)