ゆとり日記

心にゆとりを持って生きたいプログラマーの雑記です。気が向いたら書きます。

Chrome Tech Talk Night #10に参加してきた。

朝起きたら書こうと思ったが、絶対書かない未来が見えたので寝る前にブログを書く。

イベントURLは↓。 Google Developers Japan: Chrome Tech Talk Night #10 を開催します

  • Progressive Web Appsの名付け親が来るのかー、面白そう。」
  • 「HTTP/2はめっちゃ気になるから聞こう。」
  • 「ServiceWorkerはプロダクトで使ってないからよく知らんけど、まあ・・とりあえず聞いとこう。」
  • 「通訳無しだけど、DevFest.asiaで二日間英語漬けになった時に比べればチョロいでしょ」

こんな感じの心境で参加したので、適当に感想書いてきます。

一部のセッションを除いて、↓で録画が見れるので気になる人は見てみると良いかもしれないです。

www.youtube.com

“HTTP/2” 😂

@DasSurma さんのセッション。

「HTTP/2化すれば、とりあえずページの表示早くなるよ」的な話からスタート。 その後は、HTTP/1.1だとなんでページの表示が遅くなるのかを聞いた。

主な理由は

  • 「レスポンスが遅いリクエストが一個あると、その後にリクエストにも影響が出る(ヘッドオブラインブロッキング)」
  • 「一度に張れるリクエストの数が少ない(6つとかそれくらい)」

HTTP/2だとTCPコネクション内でストリームの多重化が出来たり、張れるリクエストの数が多くなるから効率的ですね、という流れ。

(HTTP/1.1環境での高速化を図る場合は、画像とかSVGのSprite化をしたり、JSのbundle化とかして頑張るのが一般的なので 早くwebpack捨てたいなって思いながら聞いてた。)

その後は、

  • HPACKを使ったヘッダー圧縮の話
  • HTTP/2を使うならHTTPS化ほぼ必須なのでは
  • ローカルでHTTP/2サーバー作って開発する
  • HTTP2 PUSHの話

など、色々な話を聞いてた。その中でも、ローカルでHTTP2サーバー試せる話は良かった。 URLは GitHub - GoogleChrome/simplehttp2server: A simple HTTP/2 server for development。まだ試してないけど、dockerでも動かせるっぽい。

HTTP/2以降ガイド、みたいなページも共有されていた気がするけど、動画から掘り起こすのが面倒になったので省略。

Streams (Streamy streamy stream stream)

@jaffathecake さんのセッション。ServiceWorkerの仕様決めに関わっている方からのServiceWorkerの話。

async awaitを使ったコード説明からスタート。次にasync Iteratorsの話になって一気に分からなくなった/(^o^)\。

帰り道に調べたんですが、ES2017の仕様なんですねー。 GitHub - tc39/proposal-async-iteration: Asynchronous iteration for JavaScript

セッションのメインになっていたのは、Streamsという新たな仕様の話でした。 集中して聞いてたつもりなんですが、正直あまり理解できてないので明日復習します。

HTMLのパースが始まるまで、他のリソース(CSSとかJSとか画像とか)のリクエストが始まらなくて表示が遅れるからasync属性で並行してリクエストしておく。SPAは最初に読み込むJSがデカイから初回表示が遅い。SPAは複雑だから、streamを使ってHTMLを構成していく仕組みを作ろうとしている。という感じの話は聞いた気がするけど、脳内で上手く纏まってない。

Real World PWA Performance

@slightlylate さんのセッション。

動画も非公開だし、ここでは詳細を書かないことにするが、ページの表示速度についての話が主だった。 パフォーマンス計測をWebPagetestで行って、色々デモをやっていた感じ。

スペックがそんなに高くなくて、回線状況も良くない端末でページを開いた時に firstviewまで何秒かかるかとかを可視化出来るので、使った事がない人は触ってみると良いかもしれないです。

懇親会

夕飯も食べずにセッションに集中して腹ペコだったので、ピザを遠慮なくムシャムシャしてました。

話しかけた人がたまたま「Angular使ってる人」「ScalaとかJavaでサーバ側やってる人」「Railsやってる人」という面々で、それぞれ違う目線の話が聞けて楽しかった。自分もReactの話とかすれば良かったし、名刺交換とかすれば良かったなとちょっと後悔している。

反省

英語を話せないと、普段出会えない人と話すチャンスすら掴めないと強く感じたので、本気でなんとかしようと思った。

ある程度は聞けて書けるとはいえ、やっぱり日常会話レベルで話せないと気軽に質問とかするのは辛い。