mizchi
- mizchi / Quipper
- JavaScriptが専門でCSS書けないフロントエンドエンジニア
- 元兄貴動画の工作員(2007年06月頃~2007年08月頃)
- デスマ中(再来週がリリース)
JavaScript勢がいなかったから
アップロードするスタイルシート間違えた
Chromeのデベロッパーツールと向き合う
- jquery引っ張るCDNで引っかかってる
- 大量のアセットを並列で読むのが詰まってる
- cdnのjQueryからローカルのjQueryへ(20s -> 3.0sぐらい?)
- jsやcssをbrunchにのっけて結合(3.0s -> 2.5s)
- brunchでproductionビルド(2.5s -> 1.8s)
- jQueryからlodash(1.8秒 -> 1.5s)
- 画像の先読み(キャッシュ効かせる)
(記憶が曖昧)
- Brunch | ultra-fast HTML5 build tool
- タスクを特化したGruntみたいなもの
- シングルページアプリケーションを組み立てるのに有用
- 読み込み順を負荷考えて並び替えた(1.5s -> 1.2s)
- JSから非同期通信を抜いて固定データにすり替え(1.2s -> 0.8s) //やや卑怯
- CSSスプライト化(0.8s -> 0.4s)
- CSSの圧縮(0.4s -> 0.35s) // ここでミスった
- タイムラインの画像を結合
- たぶんあと0.5sぐらい速くなる
- CSS/JSの不要な部分削除
- 画像の方がインパクト大きい
- gzip化
- サーバーサイドで有効になってない
- Network IO(通信)
- CPU(JavaScript/DOMツリー構築)
- GPU(CSS/Canvas)
負荷を掛ける順を調整することで解決したい
例: 画像へ非同期通信を投げといて(Network IO)その間にHTMLレンダリング
(サーバーの性能を上げる) > CSSスプライト > 各種遅延ロード
- クライアントで稼げるのは精々3秒.
- あとはサーバーサイドで頑張ってください
- トップページの負荷が高いポータル系サイト
- Amazon
- Yahoo
- ニコ動のこれ
- JavaScriptも書ける
マークアップエンジニア
- CSSスプライトは効果が大きいけど大変
- 昨日はじめて書いたので時間掛かった
- ムズい…
- CSSスプライト使うのわかってたんだから予習してくればよかった
- デプロイ手順を整理しておくんだった
- 寝坊…