技術記事以外

技術記事以外の振り返りやその日学んだことのちょっとしたメモなどを置く予定です

今日の学習メモ

The W3C Markup Validation Service

  • Markupのバリデーションしてくれるらしい。便利そう(まあでもJSのロード待ってはくれないのでSPAではheadしかチェックしてくれない)

<abbr>

  • 略語を括る用のタグがあったとは知らなかった。これで括ってtitleに正式名称入れたりするそうな。

web.dev

同じサイトでもHTTPとHTTPSCookie上別サイトと認識される

What the heck is the event loop

  • stackに積まれた内容をJSエンジンが実行する。settimeoutなどのasyncメソッドの実装はブラウザが提供しており、stack内の処理でこれらが呼び出されるとそちらのWebAPI側で実行される。WebAPI側は処理が完了するとcallbackをtaskqueueに積み上げる。JSエンジン側はイベントループが回ってきたときにstackが空になったタイミングでqueueの先頭を引っ張ってきて処理する。
  • これとは別に、ブラウザは優先度の高いタスクとしてRenderをとても頻繁に実行する。ただし、既定のタイミングが巡ってきてもstackで何かが処理されている途中だとこれがpendingになる。画面は更新されないし、この間にユーザーが何らかのイベントを発火させてもpendingになる。これをblocking operationといい、これが空になったタイミングでpendingになっていたものは一気に処理される。だからこそ時間のかかる処理はasyncにされるべきである。