Mapion マピオンラボ ネタ Web開発の地図を手に入れよう - 『プロになるためのWeb技術入門 - なぜ、あなたはWebシステムを開発できないのか』
技術評論者様から献本いただきましたのでさっそく読ませていただきました。
副題が挑発的ですね。
私は以下のように読み解きました。
『なぜあなたは(コードが書けるのにも関わらず!)Webシステムを開発できないのか』
プログラミング(コード)とWebシステムは一対一ではありません。大部分はコードかもしれませんが、それらプログラムとプログラムの間に存在する無数の隙間を埋めていかなければWebシステムとして成り立ちません。
車の乗り方を覚えただけでは目的に辿り着けないのと同じように、プログラミングだけ出来てもWebシステムは動かないのです。
必要なのは目的地(安全で・安定したWebシステム)に辿り着くためのロードマップ。
『プロになるためのWeb技術入門』はWebシステムを完成させるのに必要な地図を読者に与えてくれます。
本の構成
- LESSON0: プロローグ
- LESSON1: 「Webアプリケーション」とは何か
- LESSON2: Webはどのように発展したか
- WWWの誕生と普及
- Webを支える技術と発明
- CGIの誕生
- サーブレット
- JSPの誕生
- Webアプリケーションフレームワークの時代
- まとめ
- LESSON3: HTTPを知る
- HTTPの知識はなぜ必要か
- WebブラウザとWebサーバの通信をのぞいてみよう
- 情報はどうやってインターネットの大海原を越えるのか
- Webサーバへの要求をどのように伝えるか
- まとめ
- LESSON4: CGIからWebアプリケーションへ
- 宅配ピザ注文サイトを作ろう
- 画面構成を考える
- 画面モックを作ろう
- ログイン認証機能を作成する
- ログイン状態をどのようにして記憶するのか
- 安全に状態を保存するための技術 -セッション-
- ピザ・ペントミノの完成
- まとめ
- LESSON5: Webアプリケーションの構成要素
- WebサーバとWebクライアントの時代
- データベースサーバの登場
- アプリケーションサーバの登場
- Webシステムの三層構成
- まとめ
- LESSON6: Webアプリケーションを効率よく開発するための仕組み
- サーブレット/JSPだけではいけないのか
- サーブレット/JSP「ピザ・ペントミノ」のログイン処理を実現する
- Webアプリケーションのアーキテクチャ
- フレームワークによるアーキテクチャの実現
- レイヤパターンによるデータアクセス層の分離
- O/Rマッピングフレームワークによるデータアクセス層の実現
- フレームワーク利用におけるメリットとデメリット
- まとめ
- LESSON7: セキュリティを確保するための仕組み
- なぜセキュリティを確保しなければならないのか
- 代表的なWebアプリケーションの攻撃手法とその対策
- 設計・実装ミスに起因する誤動作やセキュリティ問題を防ぐための対策
- まとめ
- おわりに
- 付録
詰め過ぎず、偏りすぎずの絶妙なバランス
一章の長さ、一つのパラグラフの長さが均質的でテンポ良く読めます。
一つの章に対して「内容は詰め込みすぎない」「出来るだけイメージで補足する」という構成であるため理解もしやすい。
きっちりとした製品としてこの本をデザインしたという感覚が伝わってきます。
HTTPはWebの基本
HTTPに関する説明が理解しやすく、これなら飽きっぽい人間でも読んでくれるだろうと思います。
IPアドレスやDNSの仕組み、ステータスコードの説明など基礎的な部分で退屈になりがちなところを、簡潔な文と図で説明されています。
Web開発初級者でも(きっと!)読み込んでくれるに違いありません。
アプリケーションのチェック項目として役立つセキュリティの章
有名な以下セキュリティホールに関する説明と対策が記述されています。
- SQLインジェクション
- XSS(クロスサイトスクリプティング)
- セッションハイジャック
- CSRF(クロスサイトリクエストフォージェリ)
- 強制ブラウズ
- ディレクトリトラバーサル
セキュリティは初級者~上級者関係なく常に頭に入れておかないとヤバイ知識です。
分量も例の如く簡潔にまとまっているので、空いた時間にさっと手にとって、バッと読んで確認するには最適です。
まとめ
後半はJavaの話も混ざりますが、この本にとって言語はあくまでも脇役。
重要なことは、歴史や概念、そして仕組みについて。
「なぜそうなっているのか」「なぜそうするのか」ということに焦点を当てています。
実習という意味では「LESSON4 CGIからWebアプリケーションへ」と「LESSON6 Webアプリケーションを効率よく開発するための仕組み」の二つだけで、それも「ステートレスとは何か」「なぜセッションが必要なのか」と言った説明を交えながらのサンプル作成になります。
あくまでも知識ベースです。
サンプルをいっぱい作って覚える派の人には向かないかもしれません。
タイトルがタイトルだけに初級者向けであることは確かなのですが、むしろある程度仕事に慣れてきた中級者にとっても基礎を再確認できる教科書的存在だと思います。
何か哲学的なひらめきが生まれたり、アイデアを湧き出させるような鋭さはないかもしれません。
しかし、確実に目的に到達するための実用書であり、Web技術を俯瞰的に眺める教科書なのです。

-
この記事のトラックバックURLhttp://labs.mapion.co.jp/mtos/mt-tb.cgi/56





