関連サイト
本書の関連ページが用意されています。
内容紹介
「これからWebプログラミングを学んでみたい」けれど、「1つの言語を学んでも、別の言語では学びなおしになるのが面倒」。そんな風に思っている方にぴったりの1冊です。
本書では、例としてPHPやJavaScriptを取り上げながら、さまざまなプログラミング言語に共通する基本部分を中心に学習していきます。
言語によってい少しずつ用語や特徴は違っていますが、根幹の仕組みを理解しておくことで、新しい言語を学ぶ際に、短期間で身につけることができるでしょう。
また本書では、インターネットの仕組みや、Webページがコンテンツを表示する仕組み、Cookieやセッション、フレームワークやライブラリ、データベースといった関連する技術に関しても、包括的にまとめています。
プログラムが、どのようにデータを処理しているのか、WebブラウザとWebサーバの間でどのようなやりとりが行われているのかなど、プログラムに関する一連の仕組みもちゃんと理解することで、しっかりとした長く使える知識を身につけることができます。
「一度プログラミングを学習してみたけれど、挫折してしまった」、「業務でプログラムに触れることがあり、もう少し知識を広げてみたい」。そんな方にもお勧めの1冊です。
(以下本書より抜粋)
Chapter1からChapter3では、インターネットやWebの仕組みを説明します。Webプログラムをするには、そもそも、それが動作するWebサーバが必要です。実際にインターネット上にWebプログラムを置く場合、Webサーバは、どのような環境のものを用意し、どこに構築すればよいのか、その要件も説明します。
Chapter4とChapter5が、プログラミングの基本的な話になります。この2つの章は、実際に、簡単に試せる構成にしました。Chapter4では、Windowsに「XAMPP」というWebプログラムを実行できる環境をインストールし、PHPを使ってプログラムする方法を説明します。Chapter5では、PHPを題材に、実際に簡単なWebプログラムを示しながら、プログラムの基本的な流れと構文を説明します。言語はPHPですが、大きくPHPに依存する題材は、ありません。ここで扱う内容は、文法の差こそあれ、どのようなプログラミング言語にも通用するものです。
Chapter6以降は、応用です。実際のWebプログラム開発の現場では、どのような技術が使われているのか、そのトレンドを紹介します。Chapter6では、省力化できるライブラリや操作性を向上させるJavaScriptの扱い方を説明します。Chapter7では、ショッピングサイトで「カゴの中身」を実現するのに不可欠な、Cookieの仕組みを説明します。最後のChapter8では、データベースの使い方を説明します。
書誌情報
- 著者: 大澤 文孝
- ページ数: 338ページ(PDF版換算)
- 対応フォーマット: PDF
- 出版社: マイナビ出版
対象読者
Webサイトやブログの更新をするなど、Webに関係する仕事をしている人。これからWebプログラミングを始めようとしている人。アフィリエイトなどでソースコードに触れているけれども、仕組みがよく分からない人。
著者について
大澤 文孝
テクニカルライター。プログラマー。情報処理技術者(「情報セキュリティスペシャリスト」「ネットワークスペシャリスト」)。Webシステムの設計・開発に従事するかたわら、実践的な開発者向けの書籍を多数執筆。主に著書に「Amazon Web Services クラウドデザインパターン実装ガイド」(日経BP)、「UIまで手の回らないプログラマのためのBootstrap 3実用ガイド」(翔泳社)、「プログラムを作るとは?」(工学社)など
目次
Chapter1 WebブラウザでWeb ページが表示される仕組み
Section 1 Webブラウザの役割
- Webサイトのコンテンツのやりとり
- 「静的ページ」と「動的ページ
- Webブラウザの働き
Section 2 Webページを構成する「HTML」
- 「HTML」という言語
- Webブラウザによる「レンダリング」
- リンクから別のページに辿る仕組み
- 画像や動画は別に読み込まれてHTMLにはめ込まれる
Section 3 文字コードと文字化け
- 文字化けとその解消方法
- 文字コード
- UnicodeとUTF-8
- UTF-8が使われる理由
Section 4 レイアウトを指定するCSS
- 要素に対してレイアウトを指定する
- CSSを変えるとデザインが変わる
Section 5 Webブラウザでプログラムを実行するJavaScript
- JavaScriptのプログラムを実行する
- JavaScriptの利用例
Chapter2 WebサーバからWebブラウザにコンテンツが届くまで
Section 1 インターネットを構成するネットワーク
- 日本のインターネットを司る「IX(インターネット・エクスチェンジ)」
- ユーザーの回線とサーバの関係
Section 2 IPアドレスの割り当て
- 相手を区別するIPアドレス
- IPアドレスの決め方
Section 3 ルータを使った環境でのIPアドレス
- ルータが内蔵するNAT機能
- 同じIPアドレスでも、違うクライアントを指すことがある
Section 4 ドメイン名とIPアドレスとの関係
- ドメイン名をIPアドレスに変換する
- 階層化されたドメイン名
Section 5 ドメイン名とIPアドレスを相互変換する「DNSサーバ」
- ドメイン名を検索するためのDNSサーバ
- DNSサーバでドメイン名がたどられる仕組み
- Webサーバをドメイン名で運用するために必要なこと
Section 6 通信を振り分ける「ポート」
「保証された通信」と「保証されない通信」
- 通信が混じらないようにする「ポート番号」
- ウェルノウンポートとエフェメラルポート
Section 7 WebサーバソフトとHTTP
- HTTPを使った通信
- Webサーバの応答
Section 8 暗号化するSSL
- データを暗号化するSSL
- 公開鍵暗号方式
- SSLを使うには
Section 9 Webサーバを構築するには
- Webサーバを設置する
- DNSサーバを設定する
- Webサーバソフトをインストール・設定する
- Web以外に必要な設定
Chapter3 Webプログラムがコンテンツを作る仕組み
Section 1 クライアントサイドとサーバサイド
- クライアントサイドのプログラム
- サーバサイドのプログラム
Section 2 Webサーバで実行可能なプログラミング言語
- サーバサイドで実行できる主なプログラミング言語
- インタプリタとコンパイラの違い
- 人気のプログラミング言語
Section 3 Webサーバでプログラムを実行する仕組み
- ファイルを見せるのではなくプログラムの実行結果を返す
- CGI
- モジュール
Section 4 入力された内容を送信する入力フォーム
- 入力フォームとは
- フォームを構成する要素
- フォームの送信方式
- URLエンコード
Section 5 JavaScriptとAjax
- JavaScriptはHTMLと連携する
- イベントドリブンによるプログラミング
- 要素をidで指定して操作するのがJavaScript流のプログラミング
- サーバサイドのプログラムと連携するAjax
Section 6 データベースの必要性
- データを保存して検索できるようにするデータベース
- 主なデータベースソフト
Chapter4 Webプログラムを動かしてみよう
Section 1 Webプログラミングの開発環境を揃える
- プログラミング言語を決める
- オールインワンパッケージの実行環境「XAMPP」
Section 2 XAMPPの入手とインストール
- XAMPPのインストール
- XAMPPを起動する
- XAMPPのドキュメントルートの場所
Section 3 テキストエディタでPHPのプログラムを記述する
- テキストエディタを用意する
- 拡張子を表示するようにしておく
- PHPのプログラムを記述する
- 実行してみる
Section 4 PHPプログラムの基本
- プログラムの部分を「<?php」と「?>」で囲む
- 文末には「;」を記述する
- 文字の並びを示すときは、「""」または「'」で囲む
- 空白や改行は、見やすくするためだけのもの
- プログラムにはコメントを記述できる
- エラーがあるときは、エラーメッセージが表示される
- 警告とエラーの違い
- バグはエラーとは限らない
Chapter5 Webプログラミングをしてみよう
Section 1 入力フォームのデータを読む - ①GETメソッドの場合
- 入力フォームを作る
- 入力された名前を、そのまま返すプログラム
- COLUMN HTMLをPHPに含める
- オウム返しにはHTMLエンコードが必須
Section 2 入力フォームのデータを読む - ②POSTメソッドの場合
- POSTメソッドを使った例
- 開発者機能を使って送受信されるデータを見る
Section 3 関数について知る
- 関数は、何かまとまった処理をするもの
- 関数の例
- 関数リファレンスを参照する
Section 4 変数、四則演算、データ型
- 足し算する例
- 変数と型
Section 5 条件判定する
- フォームを介さずに呼び出したときのエラー
- 条件を判定するif文
- POSTの値が設定されていなかったときにエラーメッセージを表示する
- 値の大小を比較する
- 複数の条件は括弧で括って組み合わせるのが安全
Section 6 繰り返し処理
- 繰り返し処理するための構文
- 回数を数える
- 繰り返しのためのfor構文
- 二項演算子で表記を簡単に記述する
- ループ処理を途中でやめたいとき
Section 7 データをまとめる配列とハッシュ
- 一連のデータをまとめて扱う
- 配列のメリット
- ハッシュ
Chapter6 ライブラリやJavaScript を使ったプログラミング
Section 1 ライブラリとAPI
- ライブラリとAPI
- ライブラリを使うとコードの記述量が減る
- ライブラリやAPIを使うには、インストールが必要
Section 2 正規表現で書式をチェックする
- 正規表現を使ったバリデート
- 正規表現を使って文字列の並びをチェックする
- PHPで正規表現を使う
- 文字列を分割したり置換したりする
Section 3 出力をテンプレート化する
- 表形式でデータを出力する例
- テンプレートを作って流し込む
- Smartyを使ってテンプレート処理する
Section 4 CSSとJavaScriptで装飾する
- 操作性を良くする工夫
- 動きを付けるためにCSSとJavaScriptを組み合わせる
- JavaScriptの互換性を吸収するライブラリ
- 各種ユーザーインターフェイスを提供するライブラリ
Chapter7 ユーザーを追跡するCookieとセッション情報
Section 01 ユーザーの状態を管理する
- 複数のページから構成されるWebプログラム
- ユーザーの操作情報を保存しておく
- 共通領域をクライアント側に保存するかサーバ側に保存するか
Section 02 クライアント側にデータを保持するCookieの仕組み
- Cookieの仕組み
- Cookieを使った実例
- 開発者ツールでCookieを見る
- Cookieは確実ではない
Section 03 サーバ側にデータを保存するセッション情報
- セッション情報ではユーザーを識別するIDを付ける
- セッション情報を使った実例
- セッションIDを見る
- セッションのタイムアウト
- セッション情報を使う場合の注意点
Chapter8 データベースを使ったプログラミング
Section 1 データベースとは
- データベースとプログラミング言語との関係
- リレーショナルデータベース
- SQLを使ったデータベース操作
Section 2 データベースやテーブルを作成する
- MySQLを起動する
- mysqlの管理ツールを起動する
- データベースを作成する
- ユーザーを作成する
- テーブルを作成する
Section 3 SQLでデータ操作する
- INSERT文でレコードを追加する
- SELECT文でレコードを参照する
- UPDATE文でレコードを更新する
- DELETE文でレコードを削除する
Section 4 プログラムからテーブルを操作する
- データベース操作の基本
- PHPからMySQLデータベースにINSERT文を発行してレコードを追加する
- PHPからMySQLデータベースにSELECT発行してレコードを取得する
Section 05 フォームからレコードを操作する
- フォームに入力された情報をレコードとして登録する
- 不正な文字が入力できないように対策する