WEB

【コンピュータの名著】Web技術に関する入門書(お薦め3つ)

【※ 当記事は2020年7月2日時点の情報です】

ペイヴメント(@pavement1234)です。

エンジニア
エンジニア

将来的にWebエンジニアになりたくてブログ開始。
独自ドメイン取ってレンタルサーバ借りてWordPressインストールしたんだけど、
SSLDNSの設定が難しく感じたり。
もうちょっとWebを支える技術について詳しくなりたい。


Webエンジニアを目指すのなら
Webを支える技術について知っておいて損はありません。
オススメの書籍をご紹介します。

Webを支える技術


まず1冊目
2010年に初版が発売された書籍なので2020年現在と少なからずギャップがあるものの、
Webの歴史を知るための文献という意味では網羅性が高く良い本と思います。
Webの歴史から始まり、
REST、URI、HTTP、HTML、HTTPメソッド、
ステータスコード(例:404 not found)などの基礎知識を1つ1つ解説し、
最後にWebサービスやリソース設計について紹介する形で締めくくられます。

Webを代表とする分散システムで複数のソフトウェアが
リソース(情報)を共有する場合の指針としてRESTがあります。
RESTとはRepresentational State Transferの略語であり、
以下のような特徴を持ちます。
RESTにしっかり準拠しているとRESTfulと呼ばれます。

ステートレス
クライアントとサーバの間でセッションなどの状態を持たないこと

キャッシュ
クライアントとサーバ間の通信を減らすために、
クライアントが取得したデータを使いまわすこと

標準化されたコマンド体系
HTTPの場合、GET、POSTなど

リソースを一意に決めるアドレスがある
URI、URLのこと

ハイパーメディア
HTMLやXMLのように他のリソースへのハイパーリンクが可能

著者の山本陽平氏が2004~2010年に書かれていた
yohei-y:weblogというブログがあります。
「Webを支える技術」を書かれるに至った経緯が感じられて面白いです。
≫参考: yohei-y:weblog XML と REST/Web サービス関連の話題が中心の weblog です

良い点
Webの歴史を詳しく知ることが出来る。
HTTPコマンドやHTMLコードなどを具体的に示していて実践的

残念な点
コマンドやコードの生データが書かれているため、
中級者にはありがたいが、初級者には理解しにくい

Web技術の基本


続いて2冊目 2017年初版の比較的新しい本です。
全体的に図が多く非常にわかりやすいので、初級者の方にお勧めします。
逆に中級、上級の方は若干物足りなさを感じるかもしれません。

この本で一番お薦めは「Chapter6 Webのセキュリティと認証」です。
イマドキの流行を押さえているので、
サイバーセキュリティの基礎知識を得たい方はまずこれを読むと
攻撃方法と防御方法の概要を知ることが出来ます。

但し基本的にキーワードと簡単な概要しか書かれていないので、
これを読んだだけで分かった気になるとヤバイです。
それぞれ技術の細かいところは別の本で補足すると良いでしょう。

良い点
すごくわかりやすく、サラっと読める

残念な点
技術に関する踏み込みが浅く、この本だけでは実用的でない。
基本情報処理試験の教科書みたい

プロになるためのWeb技術入門


最後、3冊目 2010年初版なので古いハズなのですが、
とてもバランスの良い本です。
Perlなどで構築されたCGIから
Javaによるアプリケーションサーバに移行する過渡期に作られたことがうかがえます。
Java(サーブレット、JSP)でWebサービスを作りたい人は
手元に置いておくと良いと思います。

イマドキはNginx(エンジンエックス)や
ClowdFlare(クラウドフレア)などの新しいサーバが出てきましたが、
当時はWindowsならIIS(アイアイエス)、
UNIX系ならApatche(アパッチ)の2択という雰囲気でした。
ApatcheはJava言語と相性が良く、
Apatcheソフトウェア財団はJakarta Projectという
オープンソースソフトウェアの開発プロジェクトを持っていました。
Javaの名称の由来であるジャワ島の都市ジャカルタがその名の由来です。
Jakarta ProjectではWEBサーバだけでなく、
Ant(単体試験ツール)、
Tomcat(アプリケーションサーバ)、
Struts(Webアプリフレームワーク)などが無償で供給されていました。
2000年代前半、
私を含む若手~中堅エンジニアたちは
自由に自宅のLinuxサーバにWebサーバを構築して遊んだりしていたものです。

Apatcheライセンスは無料で使える反面デメリットが若干あります。
Apatcheライセンスが付いているソフトウェアを自社ソフトウェアに組み込むと、
特許を主張できなくなるというものです。
これには諸説あるので必ずしも正しい表現ではないと思いますが、
Androidの関連ソフトウェアにApatcheライセンスが付与されていて
特許訴訟でいろいろ揉めたという記事は探すと出てきますので、
詳細を知りたい方は調べてみてください。
もしApatcheライセンスのソフトウェアを自社プログラムに組み込んで使いたい場合、
大きい会社なら法務部と相談したり、
中小企業なら知的財産権に関する知見をもった人にアドバイスを求めると安全です。

良い点
図表が多くわかりやすく、
さらに技術に対する踏み込みも程よくありバランスが良い

残念な点
あまりないが、
強いていえば説明がJavaに偏っている

まとめ

Web技術に関する入門書を3冊ご紹介しました。
読み比べてみると似たようなことが書かれているので、
正直好みで選べばよいと思います。

恐らく1冊読み切ると、Web技術に関する基礎概念がふわっと出来上がるので、
それぞれのキーワードを深堀していくことをお薦めします。
例えばHTTP、DNS、SSL、Java、サイバーセキュリティみたいな単語をヒントに
色々調べると世界が広がると思います。

ABOUT ME
ペイヴメント
ペイヴメントのエンジニア塾(当ブログ)では20年以上の経験から得られたプログラミング系ノウハウについてベテランにも満足して頂けるような内容の濃いコンテンツを初心者にも分かりやすい形で日々発信しています。【経歴】ベンチャーのソフトハウスで4年勤務後、精密機器メーカーのソフト開発部門に勤務し今に至ります。
error: Content is protected !!