2004年から続くブログサービス「アメブロ」が2016年9月にシステムをリニューアル。本連載では、そこで取り入れた主要な技術や、その効果を紹介していく。今回は、React/Redux/Node.jsを使ったIsomorphic JavaScript特有のパフォーマンスチューニング手法や実際にあった問題および、その解決方法について。
![大規模ブログサイト表示速度改善 大解剖](https://cdn-ak-scissors.b.st-hatena.com/image/square/0b6fdd7b3bdbcb7a53e8a02ea0b23dea656c3832/height=288;version=1;width=512/https%3A%2F%2Fimage.itmedia.co.jp%2Fimages%2Fog_img_series.gif)
2004年から続くブログサービス「アメブロ」が2016年9月にシステムをリニューアル。本連載では、そこで取り入れた主要な技術や、その効果を紹介していく。今回は、React/Redux/Node.jsを使ったIsomorphic JavaScript特有のパフォーマンスチューニング手法や実際にあった問題および、その解決方法について。
新 Firebase のどの機能を React Native で使えるのか調べてみた。 現在使える機能 基本的に次のページで Web で使える機能は React Native でも使えるよう。 Realtime Database 以外は未検証。 Cloud Messaging Authentication Realtime Database Storage Hosting その他の機能は bridge 経由になる。 Analytics はすでに bridge がある。 それ以外はいまのところ自前で bridge を書く必要がある。 セットアップ方法 Firebase プロジェクト作成 次のボタンを押して新しいプロジェクトを作成する。 config の情報を次の位置から取得する。 次の apiKey, authDoamin, databaseURL, storageBucket の値をひかえ
Firebaseを利用してHTML,Javascript,CSSだけで超簡単にLINE風チャットアプリを作るHTMLCSSJavaScriptLINEFirebase はじめに そうだ、WEBでチャットアプリ作って公開してみよう。 でも、HerokuだとDBとかKVS使う場合はクレカ登録必要になるっぽいからやだなぁ。 ・・・と思って色々見てたら、Firebaseならデータストアも無料枠で使えるしホスティングもできるっぽい! ということで、試してみた。 新規プロジェクト作成 1.https://firebase.google.com/にアクセス。 2.[GET STARTED FOR FREE]を押す。 3.Googleアカウントでログイン。 4.[新規プロジェクトを作成]を押す。 5.プロジェクト名と国/地域を入力して[プロジェクトを作成]を押す。 WEBアプリ作成 ローカルでHTML、J
最近フロントエンドの速度改善をほんの少しだけやって、いろんな資料を参考にしたので、今後また速度改善をする時に備えて、参考になった資料をまとめておく。今回パフォーマンス改善やった項目としてはExpiresヘッダ付ける、gzip圧縮かける、JSをbodyの一番下にとか基本的なことしかやらなかったので、そのあたりはこの記事ではまとめていません。 今回は「測定する」「ブラウザがどう表示しているか知る」「改善を検討する」の流れで調べていったのでその順にまとめる。 測定する 何はともあれ測定しないと何も始まらないので、まずは測定の仕方について調べた。 PageSpeed Insights( https://developers.google.com/speed/pagespeed/insights/ )と、webpagetest( http://www.webpagetest.org/ ) はとりあえ
11:10~ 課題ページの確認&PageSpeed Insightsの実行目的:チューニング対象のウェブサイトの改善の余地を調査 上記のgruntプラグインをインストールする npm install コマンドを実行しながら、ブラウザやIDEでチューニング対象のウェブサイトを確認し始めました。 少し見ただけでもCSSの構文エラーがあったり、使っていないJavaScriptライブラリがインポートされていたり…。 まるで無茶な運用を数ヶ月続けたかのような、カオスなファイル群でした。 ここで実行した PageSpeed Insights に画像サイズの最適化をオススメされたので、まずはそこから行うことにしました。 11:20~ 画像ファイルの最適化目的:画像ファイルサイズの削減 30 x 30pxで表示している画像ファイルが実際には150 x 150pxで保存されていたりする画像がそこそこあったの
Chrome Developer Toolsを使ったWebページのパフォーマンス計測・改善についての説明です Networkパネル、Timelineパネル、Profilesパネルの使い方を説明してから パフォーマンスの計測・改善について説明していきます Networkパネル Networkパネルはページのリクエストをしてからの通信内容の一覧を表示します 記録方法 左上のRecordボタンを押すと記録が始まる もう一度押すと記録が停止する 必要に応じて、Disable cacheやCapture screenshotsを設定する 表示項目の変更 赤枠で囲んだ部分を右クリックすると こんな感じでメニューが出てくるので表示したい項目をクリックする 項目の一例 Name:リソースの名前 Method:HTTPメソッドの種類 Status:レスポンスのステータスコードとテキスト Type:リソースの
以前の番組表 ↓↓↓ AbemaTV 新番組表 大きく変わったところ チャンネルが横スクロールですべて見れるようになった サイドバーにチャンネル一覧ができた 日付切り替えがセレクトボックスからカレンダー表示になった etc. 今まではチャンネルが 5ch 毎に区切られていたので、わざわざページを切り替えて見ないといけなかったのを、横スクロールですべてのチャンネルが一覧で見られるようになりました。 さらにチャンネル毎の番組表にもアクセスしやすくなり、日付の切り替えもしやすくなったかと思います。 このリリースによって、ユーザービリティが少しでも向上していれば幸いです。 しかし、便利になった反面、このリリースに至るまでに、パフォーマンス面で様々なところで問題になりました。 今回は実際にリニューアル中に課題となった箇所と解決方法の一部を紹介します。 AbemaTV 以外であまり参考にならないかもし
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く