Ajax on Rails

[cover photo]
TOPICS
Programming , Web , JavaScript , Ruby
発行年月日
PRINT LENGTH
392
ISBN
978-4-87311-332-6
原書
Ajax on Rails
FORMAT
PDF
Print
3,080円
この商品は品切れ再入荷未定です

今日のWeb開発において最も重要な2つのアプローチである「Ajax」と「Ruby on Rails」を使って、動的でインタラクティブなWebアプリケーションの構築方法について学びます。読者対象は、少なくともAjaxかRailsのどちらか片方についての知識を有する中上級のWeb開発者です。Railsを使い始めるにあたってのTIPS、実践的なRails/Ajaxアプリケーションの例、Ajaxユーザビリティのための最新の設計事例などから、現在開発中のアプリケーションをAjax化するための知識を得ることができます。

目次

はじめに

1章 イントロダクション
	1.1 対象とする読者
	1.2 Ajaxとは
		1.2.1 従来のモデル
		1.2.2 Ajaxのモデル
		1.2.3 Ajaxは本当に簡単です
		1.2.4 Web開発と人類の歴史
		1.2.5 Ajaxの歴史
		1.2.6 AsynchronousでもXMLでもないAjax
	1.3 Railsとは
		1.3.1 Railsの理念
	1.4 Ajaxをレールに乗せる
	1.5 はじめの一歩
		1.5.1 Rubyのインストールと情報源
		1.5.2 Railsのインストールと情報源
		1.5.3 その他のソフトウェアの準備
		1.5.4 初めてのRailsアプリケーション
		1.5.5 Railsの全体像
	1.6 まとめ

2章 Railsの世界に飛び込もう
	2.1 従来のAjaxアプリケーション
		2.1.1 プロジェクトの生成
	2.2 JavaScriptのライブラリとPrototype
	2.3 Railsの機能を利用する
		2.3.1 ERbの基礎
		2.3.2 レイアウト
		2.3.3 部分テンプレート
		2.3.4 ヘルパ
		2.3.5 Ajaxふたたび
	2.4 まとめ

3章 Prototype
	3.1 作業の準備
	3.2 Ajaxのリンク
		3.2.1 コールバック
		3.2.2 その他のオプション
	3.3 フォーム
		3.3.1 フォームタグヘルパ
		3.3.2 フォームヘルパ
	3.4 Ajaxのフォーム
	3.5 ボタン
		3.5.1 任意の関数を呼び出すボタン
		3.5.2 自作のヘルパ
	3.6 フォームの監視
		3.6.1 フォーム全体の監視
	3.7 まとめ

4章 script.aculo.us
	4.1 表示効果
		4.1.1 要素のトグル
		4.1.2 オプション
		4.1.3 キュー
		4.1.4 コールバック
		4.1.5 トランジション
		4.1.6 表示効果関連のヘルパ
	4.2 ドラッグ&ドロップ
		4.2.1 Draggable
		4.2.2 Droppables
		4.2.3 Sortable
	4.3 まとめ

5章 RJS(Ruby-Generated JavaScript)
	5.1 コンテンツではなく、コードを生成する
	5.2 RubyとRJS
		5.2.1 作業の準備
		5.2.2 RJSを使わずにJavaScriptのコードを生成する
		5.2.3 RJSによるコードの生成
		5.2.4 要素プロキシ
		5.2.5 コレクションプロキシ
		5.2.6 JavaScriptGenerator
		5.2.7 RJSのヘルパ
		5.2.8 Ajaxを使わないRJS
	5.3 実例
		5.3.1 従来のコード
		5.3.2 RJSの導入
	5.4 まとめ

6章 Ajaxとユーザビリティ
	6.1 ユーザビリティの原則
		6.1.1 秘書として(関心の対象を管理)
		6.1.2 ツアーガイドとして(ユーザーの期待を管理)
		6.1.3 アドバイザーとして(学習する手段を提供)
		6.1.4 トレーナーとして(即座のフィードバック)
	6.2 Web特有の考慮点
		6.2.1 HTTP
		6.2.2 ページ
	6.3 Webのユーザビリティ
		6.3.1 どこでAjaxを使うべきで、どこで使ってはならないかを知る
		6.3.2 アプリケーションに一貫性を持たせる
		6.3.3 キーボードでも操作できるようにする
		6.3.4 Ajaxを使って応答性を向上させる
		6.3.5 応答性の大幅な向上に対処する
		6.3.6 白紙のページ、サンプルデータ、ヒント情報
	6.4 クロスプラットフォーム向けの開発
		6.4.1 プラットフォームとは
		6.4.2 Railsでの方針
		6.4.3 緩やかな機能制限と段階的な機能追加
	6.5 まとめ

7章 デバッグとテスト
	7.1 デバッグ
		7.1.1 Railsでの例外の仕組み
		7.1.2 ログ
		7.1.3 コンソール
		7.1.4 インスペクタ
	7.2 テスト
		7.2.1 機能テスト
		7.2.2 RJSのテスト
		7.2.3 HTMLの正しさをテストする
		7.2.4 統合テスト
		7.2.5 JavaScriptに対するユニットテスト
	7.3 まとめ

8章 セキュリティ
	8.1 健全な懐疑主義(ユーザーの入力を信じない)
		8.1.1 制限付きのデータベースアクセス
		8.1.2 ランダムな文字列を使ったURL
		8.1.3 mass assignment
		8.1.4 フォームの内容チェック
		8.1.5 SQLインジェクション
		8.1.6 session fixation攻撃
		8.1.7 クロスサイトスクリプティング
	8.2 パスワードのハッシュ値
	8.3 ログの抑制
	8.4 same-origin policy
		8.4.1 Ajax用プロキシ
		8.4.2 XMLHttpRequestを使わないリクエスト
	8.5 HTTPのリクエスト形式の選択
	8.6 暗号化と証明書
		8.6.1 SSLを使ったAjaxリクエスト
	8.7 Rails Securityメーリングリスト
	8.8 まとめ

9章 処理能力の向上
	9.1 開発向け環境と実運用向け環境
	9.2 セッション情報の保存
		9.2.1 ActiveRecordStore
		9.2.2 SQLSessionStore
		9.2.3 memcached
		9.2.4 セッション管理の無効化
	9.3 出力のキャッシュ
		9.3.1 ページキャッシュ
		9.3.2 アクションキャッシュ
		9.3.3 フラグメントキャッシュ
		9.3.4 キャッシュ項目の無効化
	9.4 外部ファイルのパッケージ化
	9.5 長時間の処理
	9.6 まとめ

10章 Prototypeリファレンス
	10.1 Ajaxのサポート
		10.1.1 基底クラス
		10.1.2 Ajax.Request
		10.1.3 Ajax.Updater
		10.1.4 Ajax.PeriodicalUpdater
		10.1.5 Ajax.Responders
	10.2 DOMの操作
		10.2.1 $()
		10.2.2 $F()
		10.2.3 セレクタ
		10.2.4 Elementのメソッド
		10.2.5 クラスElement.ClassNames
		10.2.6 コンテンツの挿入
		10.2.7 要素の表示位置
		10.2.8 フォームの監視
	10.3 言語のコアに対する拡張
		10.3.1 配列の拡張
		10.3.2 ハッシュ
		10.3.3 値の範囲
		10.3.4 Enumerable
		10.3.5 文字列に対する拡張
		10.3.6 数値に対する拡張
		10.3.7 イベント
		10.3.8 関数に対する拡張
		10.3.9 オブジェクトに対する拡張
		10.3.10 クラス
		10.3.11 PeriodicalExecuter
		10.3.12 Try.these()
		10.3.13 Prototype

11章 script.aculo.usリファレンス
	11.1 表示効果
		11.1.1 コアの表示効果
		11.1.2 コンビネーションエフェクト
		11.1.3 オプション項目
		11.1.4 インスタンスメソッドとプロパティ
		11.1.5 トランジション
		11.1.6 コールバック
		11.1.7 キュー
		11.1.8 staticメソッド
	11.2 ドラッグ&ドロップ
		11.2.1 Draggable
		11.2.2 Draggables
		11.2.3 Droppables
		11.2.4 Sortable
	11.3 コントロール
		11.3.1 入力の補完
		11.3.2 インラインのエディタ
		11.3.3 スライダ
	11.4 要素に対する拡張
	11.5 DOMビルダ
	11.6 JavaScriptに対するユニットテスト
		11.6.1 アサーション
	11.7 補助的メソッド

付録A Review Quizアプリケーション
	A.1 概要
	A.2 スキーマとモデル
	A.3 ルーティング定義、コントローラ、ビュー
	A.4 JavaScriptとCSS

付録B Photo Galleryアプリケーション
	B.1 概要
	B.2 スキーマとモデル
	B.3 ルーティング定義、コントローラ、ビュー
	B.4 JavaScriptとCSS

付録C Intranet Workgroup Collaborationアプリケーション
	C.1 概要
	C.2 スキーマとモデル
	C.3 ルーティング定義、コントローラ、ビュー
	C.4 アプリケーション
	C.5 Post
	C.6 Comment
	C.7 Contact
	C.8 Document
	C.9 Message
	C.10 Plan
	C.11 Project
	C.12 Session
	C.13 User
	C.14 JavaScriptとCSS

索 引