『プロになるためのWeb技術入門』
https://images-na.ssl-images-amazon.com/images/I/61YVe2oD4CL._SX397_BO1,204,203,200_.jpg https://www.amazon.co.jp/dp/4774142352
本を手にとった動機
Webサービスの開発をするための準備
本の概要
『なぜあなたはJavaでオブジェクト指向開発できないのか』の著者である小森祐介氏の新刊です。Webアプリケーションの開発方法を,インターネットの仕組みの根本原理から,じっくり解説します。Webアプリケーションとは何か?――という根本的な問いかけから始まり,基礎の基礎をかためつつ,本物の実力を養成することを目標に内容を構成しています。これにより一貫した流れでWebアプリケーション開発の真髄を学ぶことができます。図解をたくさん用意しましたので,これで直感的に楽しく理解も進むようになっています。
LESSON 0 はじめに
市民権を得た「Webアプリケーション」
「Webアプリケーション」開発の難しさ
「Webアプリケーション」の開発技術はどこで学べる?
なぜ,あなたはWebアプリケーション開発技術を学べないのか
本書の対象読者
本書を読む上での想定知識
最も効率よく「技術」を学ぶ方法
LESSON 1 「Webアプリケーション」とは何か
1.3 まとめ
LESSON 2 Webはどのように発展したか
インターネット普及の立役者・World-Wide WebとMosaic
WWWの誕生
2.2 Webを支える技術の発明
コラム 「クライアント」と「サーバ」偉いのはどっち?
コラム インターネットに公開された技術仕様・RFC 動的なコンテンツへの要求
CGIの誕生
Webの爆発的な普及
CGIにまつわる問題点
Javaでアプリケーションを開発することの利点
サーブレットの問題点
発想の逆転!JSPの誕生
サーブレットやJSPの問題点
Webアプリケーションフレームワークの誕生
2.7 まとめ
LESSON 3 HTTPを知る
横取り丸とInetSpyのインストール
HTTP通信をのぞいてみよう
HTTPでは1回で1つのリソースを取得
ファイル名を省略した場合のリクエスト
3.3 情報はどうやってインターネットの大海原を越えるのか
IPアドレスは誰が決めるのか
コラム IPアドレスと個人情報
DNSはどのようにして実現されるのか
3.4 Webサーバへの要求をどのように伝えるか
GETメソッドによるパラメータ渡し
アプリケーション側でのパラメータの受け取り
POSTメソッドによるパラメータ渡し
GETとPOSTどちらを使えばよい?
日本語はどのようにして渡せばよいか
3.5 まとめ
LESSON 4 CGIからWebアプリケーションへ
4.1 宅配ピザ注文サイトを作ろう
4.2 画面構成を考える
コラム 実際のWebシステム開発の流れ
4.3 画面モックを作ろう
4.4 ログイン認証機能を作成する
認証機能の動作を確認しよう
リダイレクト動作のHTTP通信を確認しよう
コラム PHPはどのように実行されるのか?CGIとモジュールの違い?
4.5 ログイン状態をどのようにして記憶するのか
ステートフルなプロトコルとステートレスなプロトコル
ステートレスなHTTP上で状態をどのように表現するか
Cookie利用の実際を確認する
4.6 安全に状態を保存するための技術 ?セッション?
Cookieにまつわる問題点
コラム Cookieはどこに保存されている?
口座開設業務の進行状況をどのように管理するか
セッションで処理の進行状況を管理する
セッションの状態をどこで保持するか
セッションID利用の実際を確認する
セッションIDによるユーザの識別
4.7 ピザ・ペントミノの完成
4.8 まとめ
LESSON 5 Webアプリケーションの構成要素
なぜWebアプリケーションの構成を理解しなければならないのか
コラム コンピュータは「節」?
5.1 WebサーバとWebクライアントの時代
WWWの黎明期
CGIの時代
コラム ソフトウェア? プログラム? アプリケーション? サーバ?
5.2 データベースサーバの登場
大量の情報をどのようにして管理するか
データベースに対する操作
データベースによる情報の管理
コラム データベース設計はITシステムの要
データベースから情報を抽出する
コラム データベースに対するCRUD操作とSQL文の関係
データベースとクライアントの関係
データベースサーバの分離
Webアプリケーションとデータベースの通信
コラム 代表的なデータベース製品
5.3 アプリケーションサーバの登場
ServletやJSPはどこで動いているのか
Webサーバとアプリケーションサーバの連携
Webサーバとアプリケーションサーバの分担
Webサーバとアプリケーションサーバ連携のメリット
Webサーバの機能を持ったアプリケーションサーバ
コラム アプリケーションサーバの提供する機能
5.4 Webシステムの三層構成
最小構成のWebシステム
一般的な構成
Webシステムの三層構成
コラム 現代のWebシステムを支えるオープンソース
5.5 まとめ
LESSON 6 Webアプリケーションを効率よく開発するための仕組み
6.1 サーブレット/JSPだけではいけないのか
Webアプリケーション開発のスタンダード・Java
サーブレットとJSPの連携
6.2 サーブレット/JSPで「ピザ・ペントミノ」のログイン処理を実現する
JSPによるログイン画面の表示
サーブレットの呼び出し
ログインサーブレットの処理
フォワードとリダイレクトの違い
リクエストスコープにおける情報の受け渡し
JSPにおけるリクエストスコープからの情報の取り出し
なぜリクエストスコープが必要なのか
セッションスコープとリクエストスコープの違い
コラム さまざまなセッションの実現方法
6.3 Webアプリケーションのアーキテクチャ
ロジックとデザインの分離
ソフトウェアの建築様式
コラム カスタムタグとJSTL
「ピザ・ペントミノ」の構造を俯瞰しよう
MVCモデルによるWebアプリケーションのアーキテクチャ MVCモデルによる処理の流れ
6.4 フレームワークによるアーキテクチャの実現
フレームワークとは何か
Strutsによる「ピザ・ペントミノ」のログイン処理
JSPからのログイン処理アクションの呼び出し
ログイン処理アクションでのログインチェック処理
商品一覧画面への遷移
6.5 レイヤパターンによるデータアクセス層の分離
モデルをどのように実現するか
JDBCによるデータベースからの情報の取得
レイヤパターンによるデータアクセス層の分離
DAOパターンによるデータアクセス層の実現
6.6 O/Rマッピングフレームワークによるデータアクセス層の実現
O/Rマッピングフレームワークの必要性
RDBとオブジェクトのインピーダンス・ミスマッチ
iBATISによるO/Rマッピングの実際
Data MapperとSQLマップファイルによるO/Rマッピング処理
Dao Frameworkを利用したDAOの作成
6.7 フレームワーク利用におけるメリットとデメリット
フレームワーク利用のメリット
フレームワーク利用のデメリット
6.8 まとめ
LESSON 7 セキュリティを確保するための仕組み
7.1 なぜセキュリティを確保しなければならないのか
Webアプリケーションが守るべきセキュリティ
7.2 代表的なWebアプリケーションの攻撃手法とその対策
7.3 設計・実装ミスに起因する誤動作やセキュリティ問題を防ぐための対策
hiddenタグに重要な情報を持たせない
デバッグ情報を出力させない
グローバル変数に情報を持たせない
7.4 まとめ
謝辞
LESSON 8 おわりに
LESSON 9 付録
9.1 参考書籍・サイト
Lesson 0
Lesson 2
Lesson 3
Lesson 4
Lesson 5
Lesson 6
Lesson 7
扱っている分野
ステータス
読んでる
第1~4章を読んだ