Webの世界に入ってから、ボロボロになるまで読んだ本を思い返す

私自身Web業界に入って、6年目になりますが、その間に様々な参考書を読みました。
読んだ本の中には思い出深い本もたくさんあります。

今回はその思い出に浸りつつ、参考書を買うときに自分が気をつけているポイントをご紹介します。

この記事で得られる事

  • 私がどうしてその本を買ったのかと勧める理由が分かる。
  • 参考者の選び方について、私流の選び方の基準が分かる。

私がボロボロになるまで読んだ本

ボロボロになるまで読んだ方は他にもありますが、特に思い入れが強いものを厳選して3冊紹介します。

速効!図解プログラミングPHP + MySQL

私がwebの世界に入った前後に、何度も読み返して考え方を確認した本です。
PHPMySQLがわからない私が、この技術で何ができるかを学んだ思い出の1冊です。

メリット

  • フレームワークも使わず、ライブラリもPEAR程度しか使わないプレーンな方法なので、純粋な言語の開発方法がわかる。
  • 基本的にプレーンで書いているので、フレームワークやライブラリで省略しがちな処理も順を追って学習できる。

デメリット

  • PHPのバージョンが古い。

Webを支える技術 -HTTP、URI、HTML、そしてREST

Webを支える技術 -HTTP、URI、HTML、そしてREST (WEB+DB PRESS plus)

Webを支える技術 -HTTP、URI、HTML、そしてREST (WEB+DB PRESS plus)

Webについて正確に理解がないと職場の人と会話が出来なくなった時、追い込まれて買った1冊です。
「ヘッダー情報?」、「formって何で動くの?」といった、webで検索して何気なく使っていたけど意味がわからない物がスッキリわかります。
雰囲気でしかわからなかったWebの技術と知識を根本から理解するのに役立ちました。

メリット

  • 読めば、「何でネットで情報が見れるのか?」を説明できるくらいの知識はつく。
  • 今作っている物の原理が分かるので、開発したものに対して疑問を持てるようになる。
  • 普遍的な情報なので、書いてある内容に追加される事があっても減る事は無い。
    ベースの部分なので勉強しても無駄になる事は確実にない。

Amazon Web Services 基礎からのネットワーク&サーバー構築

Amazon Web Services 基礎からのネットワーク&サーバー構築 改訂版

Amazon Web Services 基礎からのネットワーク&サーバー構築 改訂版

社内でAWSの管理者が退職してしまい、にっちもさっちも行かなかった時に買った思い出の1冊です。
サーバーの知識も心もとなく、ネットワークは学生の頃から苦手で敬遠していた私でも読めた本です。

メリッット

  • 初心者向けなので解説が丁寧。
    ネットワークについてもIPアドレスから説明してくれるので、ネットワークの知識がなくてもついていける。
  • この参考書で作りおえた環境は、そのまま案件に転用できるレベルの状態になる。
    ただし、案件によってはコストに見合わないのでチューンナップは必要になる。
    さすがに、案件の規模を考慮せずに、EC2インスタンスを3つ立てる構成は過剰な気もする。
  • ネットワークの構築も絡めて解説しているため、単純にEC2インスタンスを作って公開するより安全な環境づくりが学べる。

参考書を買う前にまず考える3つのポイント

私自身、様々な本を購入してきましたが、読み切れず捨てた本も少なくありません。
本を買っても、旬を逃してしまっては無駄になる可能性が高い知識になります。

私が参考書を買う時に気にするポイントを紹介します。

「逆引き」系や「コマンド一覧」系のリファレンスは開発に向かない

知識が無い状態では、優位性は無いと感じます。
やりたいことから逆引きする場合、索引から事象に近しいものを探して、それに近しいものを見つけて行きます。
ただ、確実に一致した回答にたどり着ける訳ではありません。

近年は、QiitaやOverstackflowなどの技術系のフォーラムや、個人ブログで紹介している事も多いです。
実際に辞書を読み進めて探して行くより、単語で検索した方が圧倒的に早いです。

公式ドキュメントを読んでもしっくり来ない時は入門書を買う。

まずは、公式ドキュメントを見て見てください。
公式ドキュメントでは、大概チュートリアルを用意してくれています。

ただ、全く免疫がない状態では、公式ドキュメントを読もうとすると、時間がかかる上に疲労します。
そのコストが高くなると感じた時は、素直に「超入門〇〇」のような本から入った方が開発の意欲を維持できます。

参考書の発行日を確認する

技術には旬があります。
その発行日が1年以上離れている場合は一旦冷静に考え直した方が良いです。

リーダブルコード」のような作法や、「アジャイルサムライ」のような開発手法は、簡単に更新されることもないので心配はありません。
しかし、「PHP入門」や「AWSの基礎」のように特定の技術を取り扱う参考書の場合は注意が必要です。
取り扱っているプログラムのバージョンが古くて、そのまま使えない事もあります。
例えば、AWSの参考資料を読んでる時、数年前の技術書と今の技術書を見比べたときにレイアウトが変わっていた事がありました。

そのため、古いと感じたら一旦冷静になって新しい版が無いか、他の出版社はどうなのか検討してみてから購入した方が良いです。



いかがでしたでしょうか?
明日から、参考書買いに行くときにふと思い出していただけると幸いです。

また、本は購入するだけでなく、古い本はどんどん捨ててた方が良いです。
webの技術は前に進む事があっても、後ろに戻る事は恐らくありません。
もう使わないと思った時は間髪入れず捨てた方が、本棚を圧迫せず長期的に見たらメリットの方が大きいです。

ここからは私の独り言です。

今からwebを勉強する人は不幸でもあり幸せでもあります。

昔は、html、phpjavascriptがかければ大抵の事ができた時代でした。
でも、今はそれに加えて、作業効率が上がる環境づくりや、ライブラリ選定など+αが無いと厳しい世界が広がっています。
作る事が楽しいだけではやっていけません。

ただ、幸いなことに、わからないことは調べればいずれ検索結果に届く環境が出来上がっています。
Qiitaやstackoverflowなどのフォーラムや、ドットインストールなど動画教材など、調べ方はいくらでもあります。
レガシーにコードを書いている時代に比べると初速が違います。
勉強しなかった自分の自業自得ではありますが、この状況は羨ましいです。

そんな中で参考書が持つ意味合いというのは、学習コストの削減だと思います。
いくら充実しているとはいえ、万人受けに作られたチュートリアルは読む人のレベルに左右されます。
読み手が知識も経験も少ない場合は、そこで壁を感じてしまいます。

例えば、「AWS」の事を言葉でしかわからない人が、いきなり「AWS」のドキュメントを読もうとすると、おそらく情報が多すぎて挫折してしまうと思います。
単純に「クラウド」な「サーバー 」という言葉を知っている程度では、話についていけません。 そんな時に、方法を1から教えてくれる参考書に出会えれば、挫折する前に学ぶ事ができます。

この記事が参考書を買うときの参考になれば嬉しいです。