WINGS(Www INtegrated Guide on Server-architecture)
Www INtegrated Guide on Server-architecture :
   ホーム お問い合わせ サーバーサイド環境構築設定 つぶやき ブックマーク レンタルサーバー 総合FAQ/訂正&ダウンロード このエントリーをはてなブックマークに追加        
  • 刊行書籍情報  [書籍マップ
  • オンライン公開 技術記事
  • シリーズ別書籍リスト
  • 「WINGS News」登録/解除
  • WINGSプロジェクト紹介
  • WINGSプロジェクトメンバ募集





【カテゴリ】 Ruby


Ruby on Rails 4アプリケーションプログラミング   サポート終了

Ruby on Rails 4アプリケーションプログラミング

山田祥寛/著
株式会社 技術評論社/発行
定価 3,850円
B5変版・ 544ページ・ 1色
ISBN 978-4-7741-6410-6
発刊日: 2014年4月11日

[Amazon.co.jpからオンライン購入する]

[お知らせ] Rails技術者認定試験 「Rails4ブロンズ試験」主教材に採用!

   FAQ 本書訂正 アンケート ダウンロード

本書の特徴

Ruby on Railsを初めて学ぶ人のために

初心者にもわかりやすく、Rails開発を行う上での基礎的な構文、キーワード、Model、View、Controllerについて詳しく解説します。
Rails4に対応しており、基礎はもちろん、ルーティング、テスト、クライアントサイド開発、Ajax対応、本番環境への移行方法など、実践的なアプリ開発を行っていくためのさまざまなテーマについて学びます。

まとめて読んで 更にスキルアップのこんな書籍

・SQLを使いこなそう
書き込み式SQLのドリル 改訂新版」(日経BP)
・JavaScriptを基礎からガッチリ
JavaScript本格入門 ~モダンスタイルによる基礎からAjax・jQueryまで」(技術評論社)
分野・レベル別マップ

本書について取り上げていただいたブログさま

・スーツとギークの狭間で - noimpslmtbrkさま
Ruby on Rails 4 アプリケーションプログラミング 書評 -WINGSプロジェクト( @yyamada ) (2014年4月30日)
・びーおーぷんどっとねっと - beopner12さま
Ruby on Rails4 アプリケーションプログラミングを読んだ!(2014年4月29日)
・ScriptWorks.JP - scriptworkさま
Rails4.0の入門書として新しくなったポイント ? Ruby on Rails 4 アプリケーションプログラミング(2014年4月27日)

  Contents


第1章 イントロダクション
1.1 Railsというフレームワーク
  1.1.1 アプリケーションフレームワークとは
  1.1.2 フレームワーク導入の利点
  1.1.3 Rubyで利用可能なフレームワーク
1.2 Railsを利用するための環境設定
  1.2.1 Railsプログラミングに必要なソフトウェア
  1.2.2 Windowsにおける環境設定の手順
  1.2.3 Linuxにおける環境設定の手順
  1.2.4 サンプルの配置方法(Windows/Linux共通)

第2章 Ruby on Railsの基本
2.1 アプリケーションの作成
2.2 コントローラの基本
  2.2.1 コントローラクラスの作成
  2.2.2 コントローラクラスの基本構文
  2.2.3 ルーティングの基礎を理解する
  2.2.4 サンプルの実行
  2.2.5 補足:コントローラの命名規則
2.3 ビューの基本
  2.3.1 テンプレート変数の設定
  2.3.2 テンプレートファイルの作成
  2.3.3 補足:共通レイアウトの適用
  2.3.4 補足:コメント構文
2.4 モデルの基本
  2.4.1 O/Rマッパーとは?
  2.4.2 データベース接続の設定
  2.4.3 モデルクラスの作成
  2.4.4 マイグレーションファイルによるテーブルの作成
  2.4.5 フィクスチャによるテストデータの準備
  2.4.6 補足:データベースクライアントの起動
  2.4.7 データ取得の基本
  2.4.8 補足:アプリケーションの実行環境を指定する
2.5 Railsの設定情報
  2.5.1 主な設定ファイルの配置
  2.5.2 利用可能な主な設定パラメータ
  2.5.3 アプリケーション固有の設定を定義する

第3章 Scaffolding機能によるRails開発の基礎
3.1 Scaffolding機能によるアプリケーション開発
  3.1.1 Scaffolding開発の手順
  3.1.2 自動生成されたルートを確認する - resourcesメソッド
3.2 一覧画面の作成(indexアクション)
  3.2.1 indexアクションメソッド
  3.2.2 index.html.erbテンプレート
3.3 詳細画面の作成(showアクション)
  3.3.1 showアクションメソッド
  3.3.2 show.html.erbテンプレート
3.4 新規登録画面の作成(new/createアクション)
  3.4.1 new.html.erbテンプレートファイル
  3.4.2 new/createアクションメソッド
3.5 編集画面の作成(edit/updateアクション)
  3.5.1 edit/updateアクションメソッド
  3.5.2 edit.html.erbテンプレートファイル
3.6 削除機能の確認(destroyアクション)
3.7 準備: 本書で使用するデータベース
  3.7.1 データベースの構造
  3.7.2 データベースの準備

第4章 ビュー開発
4.1 フォーム関連のビューヘルパー
  4.1.1 フォーム生成の基礎
  4.1.2 汎用的なフォームを出力する - form_tagメソッド
  4.1.3 モデル編集のためのフォームを生成する(1) - form_tagメソッド
  4.1.4 モデル編集のためのフォームを生成する(2) - form_forメソッド
  4.1.5 <input>、<textarea>要素を生成する - xxxxx _field、text_area、radio_button、check_boxメソッド
  4.1.6 HTML5対応の<input>要素を生成する - xxxxx _fieldメソッド(2)
  4.1.7 選択ボックス/リストボックスを生成する - selectメソッド
  4.1.8 データベースの情報をもとに選択肢を生成する - collection_selectメソッド
  4.1.9 選択ボックスの選択肢をグループ化する - grouped_collection_selectメソッド
  4.1.10 モデルと関連付かない選択ボックスを生成する - select_tagメソッド
  4.1.11 日付/時刻選択のための選択ボックスを生成する - xxxxx_selectメソッド
  4.1.12 データベースの情報をもとにラジオボタン/チェックボックスを生成する - collection_radio_buttons/collection_check_boxesメソッド
  4.1.13 その他のフォーム系ヘルパー
4.2 文字列/数値関連のビューヘルパー
  4.2.1 改行文字を<p>、<br>タグで置き換える - simple_formatメソッド
  4.2.2 文字列を指定桁で切り捨てる - truncateメソッド
  4.2.3 文字列から特定の部分のみを抜粋する - excerptメソッド
  4.2.4 テーブルやリストの背景色をn行おきに変更する - cycleメソッド
  4.2.5 特定のキーワードをハイライト表示する - highlightメソッド
  4.2.6 スクリプトブロックの中に出力コードを埋め込む - concatメソッド
  4.2.7 文字列をHTMLエスケープする - h / rawメソッド
  4.2.8 文字列からタグを除去する - sanitizeメソッド
  4.2.9 文字列を整形する - sprintfメソッド
  4.2.10 数値をさまざまな形式で加工する - number_xxxxxメソッド
  4.2.11 日付データを整形する - strftimeメソッド
4.3 リンク関連のビューヘルパー
  4.3.1 ハイパーリンクを生成する - link_toメソッド
  4.3.2 ルート定義から動的にURLを生成する - url_forメソッド
  4.3.3 条件に応じてリンクを生成する - link_to_if/link_to_unlessメソッド
  4.3.4 現在のページの場合はリンクを無効にする - link_to_unless_currentメソッド
  4.3.5 メールアドレスへのリンクを生成する - mail_toメソッド
4.4 外部リソース指定のためのビューヘルパー
  4.4.1 イメージタグを生成する - image_tagメソッド
  4.4.2 音声、動画をブラウザで再生する - audio_tag/video_tagメソッド
  4.4.3 ブラウザのフィード検出機能を有効にする - auto_discovery_link_tagメソッド
  4.4.4 サイトのFaviconを定義する - favicon_link_tagメソッド
  4.4.5 外部リソースのパスを取得する - path_to_xxxxx メソッド
4.5 その他のビューヘルパー
  4.5.1 構造化データをダンプ出力する - debugメソッド
  4.5.2 出力結果を変数に格納する - captureメソッド
  4.5.3 本体を持たない任意のタグを生成する - tagメソッド
  4.5.4 本体を持つ任意のタグを生成する - content_tagメソッド
4.6 ビューヘルパーの自作
  4.6.1 シンプルなビューヘルパー
  4.6.2 HTML文字列を返すビューヘルパー
  4.6.3 本体を持つビューヘルパー
4.7 アプリケーション共通のデザインを定義する - レイアウト
  4.7.1 レイアウトを適用するさまざまな方法
  4.7.2 ページ単位にタイトルを変更する
  4.7.3 レイアウトに複数のコンテンツ領域を設置する
  4.7.4 レイアウトを入れ子に配置する
4.8 テンプレートの一部をページ間で共有する - 部分テンプレート
  4.8.1 部分テンプレートの基本
  4.8.2 部分テンプレートにパラメータを引き渡す
  4.8.3 コレクションに繰り返し部分テンプレートを適用する - collectionオプション

第5章 モデル開発
5.1 データ取得の基本 - findメソッド
  5.1.1 主キー列による検索
  5.1.2 任意のキー列による検索 - find_byメソッド
5.2 より複雑な条件での検索を行う - クエリメソッド
  5.2.1 クエリメソッドの基礎
  5.2.2 基本的な条件式を設定する - whereメソッド
  5.2.3 プレイスホルダによる条件式の生成 - whereメソッド(2)
  5.2.4 名前付きパラメータと名前なしパラメータ
  5.2.5 否定の条件式を表す - notメソッド
  5.2.6 データを並べ替える - orderメソッド
  5.2.7 ソート式を上書きする - reorderメソッド
  5.2.8 取得列を明示的に指定する - selectメソッド
  5.2.9 重複のないレコードを取得する - distinctメソッド
  5.2.10 特定範囲のレコードだけを取得する - limit/offsetメソッド
  5.2.11 先頭/末尾のレコードを取得するには - first/lastメソッド
  5.2.12 データを集計する - groupメソッド
  5.2.13 集計結果をもとにデータを絞り込む - havingメソッド
  5.2.14 条件句を破壊的に代入する - where!メソッド
  5.2.15 クエリメソッドによる条件式を除去する - unscopeメソッド
  5.2.16 空の結果セットを取得する - noneメソッド
5.3 データ取得のためのその他のメソッド
  5.3.1 指定列の配列を取得する - pluckメソッド
  5.3.2 データの存在を確認する - exists?メソッド
  5.3.3 よく利用する条件句をあらかじめ準備する - 名前付きスコープ
  5.3.4 デフォルトのスコープを定義する - default_scopeメソッド
  5.3.5 検索結果の行数を取得する - countメソッド
  5.3.6 特定条件に合致するレコードの平均や最大/最小を求める
  5.3.7 生のSQL命令を直接指定する - find_by_sqlメソッド
5.4 レコードの登録/更新/削除
  5.4.1 複数のレコードをまとめて更新する - update_allメソッド
  5.4.2 レコードを削除する - destroy / deleteメソッド
  5.4.3 複数のレコードをまとめて削除する - destroy_allメソッド
  5.4.4 トランザクション処理を実装する - transactionメソッド
  5.4.5 補足:トランザクション分離レベルを指定する
  5.4.6 オプティミスティック同時実行制御
  5.4.7 補足:その他の更新系メソッド
5.5 検証機能の実装
  5.5.1 Active Modelで利用できる検証機能
  5.5.2 検証機能の基本
  5.5.3 その他の検証クラス
  5.5.4 検証クラス共通のパラメータ
  5.5.5 自作検証クラスの定義
  5.5.6 データベースに関連づかないモデルを定義する - ActiveModel::Modelモジュール
5.6 アソシエーションによる複数テーブルの処理
  5.6.1 リレーションシップと命名規則
  5.6.2 参照元テーブルから被参照テーブルの情報にアクセスする - belongs_toアソシエーション
  5.6.3 1:nの関係を表現する - has_manyアソシエーション
  5.6.4 1:1の関係を表現する - has_oneアソシエーション
  5.6.5 m:nの関係を表現する(1) - has_and_belongs_to_manyアソシエーション
  5.6.6 m:nの関係を表現する(2) - has_many throughアソシエーション
  5.6.7 アソシエーションによって追加されるメソッド
  5.6.8 アソシエーションで利用できるオプション
  5.6.9 関連するモデルと結合する - joinsメソッド
  5.6.10 関連するモデルをまとめて取得する - includesメソッド
5.7 コールバック
  5.7.1 利用可能なコールバックと実行タイミング
  5.7.2 コールバック実装の基本
  5.7.3 コールバックのさまざまな定義方法
5.8 マイグレーション
  5.8.1 マイグレーションのしくみ
  5.8.2 マイグレーションファイルの構造
  5.8.3 マイグレーションファイルの作成
  5.8.4 マイグレーションファイルで利用できる主なメソッド
  5.8.5 マイグレーションファイルの実行
  5.8.6 リバーシブルなマイグレーションファイル
  5.8.7 スキーマファイルによるデータベースの再構築
  5.8.8 データの初期化

第6章 コントローラ開発
6.1 リクエスト情報
  6.1.1 リクエスト情報を取得する - paramsメソッド
  6.1.2 マスアサインメント脆弱性を回避する - StrongParameters
  6.1.3 リクエストヘッダを取得する - headersメソッド
  6.1.4 リクエストヘッダやサーバ環境変数を取得するための専用メソッド
  6.1.5 ファイルをアップロードする(1) - ファイルシステムへの保存
  6.1.6 ファイルをアップロードする(2) - データベースへの保存
6.2 レスポンスの操作
  6.2.1 テンプレートファイルを呼び出す - renderメソッド(1)
  6.2.2 レスポンスをインラインで設定する - renderメソッド(2)
  6.2.3 空のコンテンツを出力する - render&headメソッド
  6.2.4 処理をリダイレクトする - redirect_toメソッド
  6.2.5 ファイルの内容を出力する - send_fileメソッド
  6.2.6 バイナリデータを出力する - send_dataメソッド
  6.2.7 補足:ログを出力する - loggerオブジェクト
6.3 HTML以外のレスポンス処理
  6.3.1 モデルの内容をXML/JSON形式で出力する
  6.3.2 テンプレート経由でJSON/XMLデータを生成する - JBuilder/Builder
  6.3.3 補足:Rubyスクリプトの結果を出力する - Rubyテンプレート
  6.3.4 マルチフォーマット出力に対応する - respond_toメソッド
6.4 状態管理
  6.4.1 クッキーを取得/設定する - cookiesメソッド
  6.4.2 補足:永続化クッキー、暗号化クッキー
  6.4.3 セッションを利用する - sessionメソッド
  6.4.4 フラッシュを利用する - flashメソッド
6.5 フィルタ
  6.5.1 アクションの事前/事後に処理を実行する - before/afterフィルタ
  6.5.2 アクションの前後で処理を実行する - aroundフィルタ
  6.5.3 フィルタの適用範囲をカスタマイズする
  6.5.4 例:フィルタによる基本認証の実装
  6.5.5 例:フィルタによるフォーム認証の実装
6.6 アプリケーション共通の挙動を定義する - Applicationコントローラ
  6.6.1 共通フィルタの定義 - ログイン機能の実装
  6.6.2 共通的な例外処理をまとめる - rescue_fromメソッド
  6.6.3 クロスサイトリクエストフォージェリ対策を行う - protect_from_forgeryメソッド
  6.6.4 独自のフラッシュメッセージを追加する - add_flash_typesメソッド
  6.6.5 補足:共通ロジックをモジュールにまとめる - concernsフォルダ

第7章 ルーティング
7.1 RESTfulインターフェイスとは
  7.1.1 RESTfulインターフェイスを定義する - resourcesメソッド
  7.1.2 単一のリソースを定義する - resourceメソッド
  7.1.3 補足:ルート定義を確認する
7.2 RESTfulインターフェイスのカスタマイズ
  7.2.1 ルートパラメータの制約条件 - constraintsオプション
  7.2.2 より複雑な制約条件の設定 - 制約クラスの定義
  7.2.3 formatパラメータを除去する - formatオプション
  7.2.4 コントローラクラス/Urlヘルパーの名前を修正する - controllers/asオプション
  7.2.5 モジュール配下のコントローラをマッピングする - namespace/scopeブロック
  7.2.6 RESTfulインターフェイスに自前のアクションを追加する - collection/memberブロック
  7.2.7 RESTfulインターフェイスのアクションを無効化する - only/exceptオプション
  7.2.8 階層構造を持ったリソースを表現する - resourcesメソッドのネスト
  7.2.9 リソースの「浅い」ネストを表現する - shallowオプション
  7.2.10 ルート定義を再利用可能にする - concernメソッド&concernsオプション
7.3 非RESTfulなルートの定義
  7.3.1 非RESTfulルートの基本 - matchメソッド
  7.3.2 さまざまな非RESTful ルートの表現
  7.3.3 ルートへのマッピングを定義する - rootメソッド

第8章 テスト
8.1 テストとは
8.2 テストの準備
  8.2.1 テストデータベースの構築
  8.2.2 テストデータを準備する
8.3 Unitテスト
  8.3.1 Unitテストの基本
  8.3.2 Unitテストの具体例
  8.3.3 テストの準備と後始末 - setup/teardownメソッド
8.4 Functionalテスト
  8.4.1 Functionalテストの基本
  8.4.2 Functionalテストで利用できるAssertionメソッド
8.5 Integrationテスト

第9章 クライアントサイド開発
9.1 JavaScript/スタイルシートのインポート
  9.1.1 マニフェストの基本
9.2 Asset Pipeline
  9.2.1 Asset Pipelineのしくみ
  9.2.2 実行環境による挙動の違い
  9.2.3 Asset Pipelineの挙動を制御する
9.3 CoffeeScript
  9.3.1 CoffeeScriptの基本
  9.3.2 CoffeeScriptの基本構文
  9.3.3 変数とリテラル表現
  9.3.4 演算子
  9.3.5 制御構文
  9.3.6 関数
  9.3.7 オブジェクト指向構文
  9.3.8 補足:即時関数
9.4 Sass(SCSS)
  9.4.1 SCSSの基本
  9.4.2 スタイル定義のネスト
  9.4.3 変数
  9.4.4 演算子
  9.4.5 関数
  9.4.6 ディレクティブ
  9.4.7 コメント
9.5 Ajax開発
  9.5.1 Ajaxの基礎知識
  9.5.2 Ajax対応のハイパーリンクを生成する - link_toメソッド
  9.5.3 補足:更新コンテンツの生成は部分テンプレートで
  9.5.4 Ajax対応のフォームを生成する - form_tag/form_forメソッド
  9.5.5 Ajax通信でJSONデータを利用する
  9.5.6 補足:Ajax呼び出しの際に進捗メッセージを表示する
  9.5.7 Slideshare APIを利用する
9.6 Turbolinks
  9.6.1 Turbolinksのしくみ
  9.6.2 Turbolinksの落とし穴
  9.6.3 Turbolinksを無効にする
  9.6.4 リンク単位でTurbolinksを無効にする

第10章 Railsの高度な機能
10.1 電子メールを送信する - Action Mailer
  10.1.1 Action Mailerを利用する準備
  10.1.2 メール送信の基本
  10.1.3 複数フォーマットでのメール配信
  10.1.4 メール送信前に任意の処理を実行する - インターセプタ
  10.1.5 メーラーのUnitテスト
10.2 キャッシュ機能の実装
  10.2.1 フラグメントキャッシュの基本
  10.2.2 フラグメントキャッシュを複数ページで共有する
  10.2.3 モデルをもとにキャッシュキーを決める
  10.2.4 指定の条件に応じてキャッシュを有効にする
  10.2.5 キャッシュの格納先を変更する
10.3 アプリケーションの国際化対応 - I18n API
  10.3.1 国際化対応アプリケーションの全体像
  10.3.2 国際化対応の基本的な手順
  10.3.3 ロケールを動的に設定する方法 - ApplicationController
  10.3.4 辞書ファイルのさまざまな配置と記法
  10.3.5 Rails標準の翻訳情報を追加する
  10.3.6 ビューヘルパーtの各種オプション
10.4 Rails の機能拡張
  10.4.1 Rails 4で利用できるライブラリ
  10.4.2 ページング機能を実装する - will_paginate
10.5 本番環境への移行
  10.5.1 Apache+Passenger環境への配置
  10.5.2 Heroku環境への配置

本ページへのリンクには、このロゴをご利用ください。


著作権情報個人情報保護について広告掲載についてRSSフィードについて
出版社の方々へ会社概要スタッフ紹介サイトマップ  
書籍/記事に関するご質問/お問い合わせは「WINGSお問い合わせフォーム」をご利用ください。
Copyright(c) 1998-2024,Yamada Yoshihiro.  All Right Reserved.