JSConf JP 2019 Day2参加記録

概要

JSConf JP 2019に参加してきました。
https://jsconf.jp/2019/

自分用メモとしてブログに残します。

Day1はこちら
JSConf JP 2019 Day1参加記録 - tom-256.log

以下スケジュールです。

f:id:mMQnaZ7vL2DWkoU:20191204130319p:plain
スケジュール

時間はただの幻想である… JavaScriptにおいては

まとめ

WEB の自重

まとめ

  • ブラウザは追加仕様を受け入れることでどんどん肥大化している
  • ブラウザの多様性はあるが、ブラウザエンジンの多様性が減っている
  • レイヤを下げ、責務をアプリに移すことでブラウザの仕様を小さくしていけるのではないだろうか
    https://mozilla.github.io/standards-positions/

GraphQLを用いたECサイトにおけるパフォーマンス改善

まとめ

  • 継続的な観測を行うことでパフォーマンスを改善した
  • パフォーマンス改善のアプローチをフロントエンド、サーバサイド、GraphQLの3つに分けて説明した
  • GraphQLのデメリットをカバーするポイントについて説明した

資料

https://speakerdeck.com/nobuhikosawai/improving-online-shopping-site-performance-which-using-the-graphql

マイクロフロントエンドについての話

マイクロフロントエンドについて雑に話してきました
https://speakerdeck.com/nobuhikosawai/the-theory-and-practice-of-micro-frontends

Q.ログに関して
A.統合レイヤーにイベント送信したほうが責務が統一されて良さそう

Q.バンドルサイズ調整の事例
A.toBのシステムなのである程度諦めている。
マイクロフロントエンドアーキテクチャは開発スピードとアプリケーションの速度はトレードオフだと思う
thoughtworksの資料があるのでそれを参考にすると良さそう(ベストプラクティスかは怪しい,資料見つけられず)

JavaScriptのままでTypeScriptを始める

まとめ

資料

https://speakerdeck.com/ginpei/start-typescript-leaving-javascript-as-js

Your Benchmark May Not Guide a Real Application Performance

まとめ

Recruit Speed Hackathon(ワークショップ)

まとめ

  • Lighthouseで100点出せた
  • Lighthouseはv6でスコアの項目と重みが変わる予定
  • 40%のサイトは改善後6ヶ月で性能が戻ってしまう→継続的な計測・改善が必要
  • パフォーマンスハッカソンの良さ→Biz要件(制約)を一旦無視して考える事ができる

資料

リクルートのパフォーマンス改善について

ワークショップが終わったあと講師の https://twitter.com/maxmellon_9039 さんにインタビューしてきました

Q.パフォーマンスバジェットで読み込みにかかる時間が3秒とのことだったが妥当性は?
A.Googleが提唱している資料から決めた

Q.パフォーマンスバジェットはいつ決めた?
A.機能を全部入れてから。目標値があるわけではなく、これ以上悪くならないように意識する目的。

Q.Real User Monitoringどうやってる?
A.独自基盤を作っている
 reduxのアクションの間の時間を記録
 CPUの負荷が低いときにLambdaでデータを送信する
 ElasticSearch,Kibanaで可視化
 一般的な指標では足りなかったので自分たちで改善指標を決めた

持ち帰ったアクション

  • 独自のパフォーマンス指標を4つほど考えてみた(ブログでは書けないので内容は省略)