こんにちは。
以前に比べるとネットの環境はどんどんよくなってきています。
光通信が色々な場所で使われるようになり、ネットの速度は以前に比べて上がっています。
ユーザーも、WebサイトやWebアプリケーションを見る際に、以前のようなイライラを感じずに済むようになってきました。
しかし、そういう時代だからこそ、Webサイトの高速化というのは求められています。
以前は高速なWebサイトというのは差別化のためのものでしたが、今ではそれが「当たり前のもの」になってきています。
逆にいうと、高速化ができていないWebサービス・Webサイトは、それだけでユーザーの評価が下がり、ユーザーの離脱を招いてしまいます。
「当たり前」になりつつあるWebサイトの高速化ですが、ちゃんとその知識を体系的に身につけている人は少ないです。
今回は、フロントエンドとバッグエンド(サーバーサイド)の両方の視点から、Webサイトを高速化する際に役に立つおすすめの本を紹介していきます。
Contents
フロントエンドの高速化
まずはフロントエンドの高速化について勉強する際におすすめの本を紹介していきます。
これに関しては、Webエンジニアであれば誰もが知っておくべき知識なので、もしあなたがサーバーサイドのエンジニアであっても知っておいたほうがいいと個人的には思います。
では早速紹介していきます。
『超速 Webページ 速度改善ガイド』
最初に紹介したい本が「超速 Webページ 速度改善ガイド」です。
「フロントエンドの観点からみたサイトの高速化」について知りたいなら、この本を読んでおけば間違い無いです。
サイトの高速化をしようとすると、まずその前にそもそもどこにどれだけの時間がかかっているのかを知る必要があります。
何も知識がなければ、どうやって、どこの速度を測ればいいのか、、と悩むことになると思います。
この本にはそれに対する答えがかなり詳しく書かれています。
CSSやJavascriptに関する部分だけでなく、ネットワークに関わる部分に関してもかなり分かりやすく説明がされています。
また、理論的な説明にとどまらず、かなり実践的な部分の説明も多くなされています。
この本の通りにしっかりと計測をし、改善をすれば、かなりの高速化が見込めます。
ちゃんとした知識を身につけられると同時に、実践的でもあるのがこの本の大きな特徴です。
フロントエンドエンジニアはもちろんですが、サーバーサイドエンジニアもこの本ぐらいは読んでおくといいと思います。
非常におすすめな一冊です。
『Webフロントエンド ハイパフォーマンスチューニング』
続いて紹介する本が「Webフロントエンド ハイパフォーマンスチューニング」という本です。
こちらの本も、フロントエンドに絞って、Webサイトの高速化について書かれています。
先ほどの本同様、理論的な部分の説明が丁寧にされていて分かりやすいです。
また、実際にどのようにチューニングを行うのかといった部分もかなりの量を割いて書かれています。
ただ、正直あなたがサーバーサイドエンジニアであればこの本は読む必要は無いと思います。
先ほど紹介した本を読めば十分です。
一方、あなたがフロントエンドエンジニアであれば、この本も一緒に読んでおいて損はないです。
先ほどの本と被っている内容もありますが、もちろんそうでない部分も多くあるので勉強になります。
個人的にはもし一冊を選べと言われたら先ほど紹介した「超速 Webページ 速度改善ガイド」を選びますが、「Webフロントエンド ハイパフォーマンスチューニング」も分かりやすくていい本だと思うので、機会があれば読んでみてください。
サーバーサイドの高速化
ここまでフロントエンドの高速化について見てきました。
「Webサイトの高速化」というと、しばしばフロントエンドのみに焦点が当たりますが、実際にはサーバーサイドも非常に重要となってきます。
特に、遅いWebサイトのネックとなっているのが、DBとアプリケーションのやり取りをする部分であることが多々あります。
これを改善、解決することでWebサービスは非常に高速になります。
その観点から、おすすめの本をいくつか紹介していきます。
『SQL実践入門 高速でわかりやすいクエリの書き方』
サービスを高速化するために、サーバーサイドエンジニアに読んでもらいたいおすすめの本は「SQL実践入門 高速でわかりやすいクエリの書き方」という本です。
この本では、DBからデータを取り出す際に、いかに高速に取り出すのかが説明されています。
先ほども少し触れましたが、多くのWebサイトで速度的なボトルネックになっているのがDBからデータを取り出す部分と、DBにデータを保存する部分です。
そこをいかに高速化するのかがかなり詳しく書かれています。
SQLの基本が身についていれば、そんなに時間がかからずに読めると思います。
普段何気なく書いているSQL文ですが、書き方1つでかなり速度が変わってきます。
特に規模が大きくなればなるほど、その差が歴然となっていきます。
これまでなんとなくSQL文を発行していたな、という人であればこの本は絶対に読んでおいたほうがいいです。
『nginx実践入門』
続いて紹介したいのが「nginx実践入門」です。
「おい、インフラ側の本じゃないか!」とツッコミが入りそうですね。笑
正直、サーバーサイドエンジニアにおすすめしたい本は、先ほどの「SQL実践入門」だけでした。
もちろんアプリケーションのコードを改善することでサイトの高速化は望めますが、その効果は正直微々たるものです。
DBとのやり取りの部分、そしてフロントエンドでの高速化を行えば、十分な高速化が見込めます。
なので、サーバーサイドエンジニアは、フロントエンドの本一冊と、SQLの高速化の本一冊を読めば正直十分です。
が、もしあなたがインフラの知識を持っているのであれば「nginx実践入門」も読んでみてほしいです。
nginxはWebサーバーで、Apacheと双璧をなしています。
そして、Apacheよりも基本的には高速に動作します。
モダンな環境であれば、Apacheでなくnginxを採用しているところが多いのはこのためです。
「nginx実践入門」は、nginxについての説明、またその導入方法がかなりわかりやすく、そして詳しく書かれています。
サーバーサイドエンジニアであっても、インフラ周りの知識を持っておくとエンジニアとしての価値が上がります。
特にこれからであればnginxに関する知識はApacheの知識よりも重宝されます。
フロントエンドやdb周りの高速化を実施して、さらにもっと高速化させたいとなったら間違いなくWebサーバーをApacheからnginxに変えることになるので、そうなる前に一度「nginx実践入門」を読んでみてください。