Grails徹底入門(山田 正樹 山本 剛 上原 潤二 永井 昌子 杉山 清美 杉浦 孝博 笠原 史郎 香月 孝太 福岡 竜一 伊堂寺 北斗)|翔泳社の本
  1. ホーム >
  2. 書籍 >
  3. Grails徹底入門

Grails徹底入門











形式:
書籍
発売日:
ISBN:
9784798117362
定価:
3,960(本体3,600円+税10%)
仕様:
B5変・544ページ
分類:
プログラミング・開発
シリーズ:
徹底入門
  • このエントリーをはてなブックマークに追加

大注目のWebフレームワーク 入門書+実践書がついに登場!!

Grailsは、Ruby On Railsの影響を受けて開発された、フルスタックWebアプリケーションフレームワークです。Groovy(Javaと極めて親和性の高い動的なスクリプト言語)を用いてビジネスロジックを記述します。Grailsの最大の特徴は、Java開発で蓄積された経験や資産(品質、信頼性、スケーラビリティ)をそのまま活かせるという点であり、Ruby On Railsが不得手としていたエンタープライズ系のシステム開発を迅速に行なうことができます。
本書では、Grailsの基礎から、モデル駆動開発によるGrailsアプリケーションの開発手法/手順、運用、Grailsの拡張(プラグイン作成)まで、わかりやすいサンプルプログラムを交えて徹底解説します。Javaシステム開発者(Web系アプリケーション開発者/システムアーキテクト/プロジェクト管理者)、Ruby On RailsとEJB/J2EEに限界を感じている開発者にお勧めの1冊です。


1 Grailsとは何か

1.1 Grailsの基盤
  1.1.1 言語/プラットフォーム
  1.1.2 フレームワーク
  1.1.3 内部DSL
1.2 Grailsは何に使えるか
1.3 Grailsの仕組み
  1.3.1 アーティファクト
  1.3.2 プラグイン
  1.3.3 Grailsコマンド
1.4 Spring/Hibernateとは
  1.4.1 Spring Framework
  1.4.2 Hibernate
1.5 日常会話的モデル駆動開発としてのGrails
1.6 Grailsとアスペクト
  1.6.1 アスペクト指向プログラミング(AOP)
  1.6.2 アーキテクチャ上のアスペクト
1.7 Grailsとテスト駆動開発
  1.7.1 表明
  1.7.2 単体/統合テスト
  1.7.3 機能テスト
1.8 Grailsを用いた開発プロセス
  1.8.1 どんなチームで?
  1.8.2 どんな時間フレームで?
  1.8.3 どうやって要求をまとめる?
  1.8.4 アジャイル開発プロセスとGrails
1.9 Grailsを使えるようにする
  1.9.1 手順1 Grailsをダウンロードする
  1.9.2 手順2 Grailsをインストールする
  1.9.3 手順3 Grailsを使えるように設定する
  1.9.4 手順4 Grailsを使ってみる
1.10 Grailsの開発環境
  1.10.1 シェル+エディタ
  1.10.2 IntelliJ IDEA
  1.10.3 Eclipse
  1.10.4 NetBeans

2 Groovyの概要

2.1 Groovyとは
2.2 Groovyひとめぐり
2.3 Groovyの実行
  2.3.1 Groovyコンソール
  2.3.2 Groovy端末シェル
  2.3.3 他の実行方法
2.4 クラス定義
  2.4.1 クラス宣言
  2.4.2 メソッドの定義と呼び出し
  2.4.3 フィールドの定義と参照
  2.4.4 コンストラクタ
2.5 データ型
  2.5.1 文字列型
  2.5.2 マップ
  2.5.3 リスト
  2.5.4 クロージャ
  2.5.5 その他数値型など
2.6 制御構造/構文
  2.6.1 真偽値の扱い
  2.6.2 for文
  2.6.3 switch-case文
  2.6.4 その他の違い
2.7 式と演算子
  2.7.1 Groovy特有の演算子
  2.7.2 比較演算
  2.7.3 演算子のオーバーロード
2.8 正規表現処理
  2.8.1 正規表現の演算子
  2.8.2 正規表現による置換処理
2.9 動的プログラミング機能
  2.9.1 ExpandoMetaClass
  2.9.2 invokeMethod()、get/setProperty()
  2.9.3 methodMissing()、PropertyMissing()
  2.9.4 use文/カテゴリ
2.10 その他の機能
  2.10.1 ビルダー

3 ドメインモデルとスカッフォールディング

3.1 要求
3.2 プロセス
3.3 ドメインモデリング
  3.3.1 ユースケースの作成
  3.3.2 ドメインモデルの作成
  3.3.3 プロジェクトの作成
  3.3.4 ドメインクラスの作成
  3.3.5 ドメインクラスのテスト
  3.3.6 スカッフォールディング
  3.3.7 アプリケーションの起動

4 コントローラ

4.1 ビジネスプロセス、ビジネスルールの検討
  4.1.1 ビジネスプロセスの検討
  4.1.2 ビジネスルールの検討
4.2 画面の検討
  4.2.1 画面遷移とレイアウト
4.3 アプリケーションの構成
  4.3.1 全体の構成
  4.3.2 MVCモデルとの対比
  4.3.3 実装の範囲について
4.4 コントローラの作成
  4.4.1 コントローラの作成方針
  4.4.2 Web Flowとは
  4.4.3 状態遷移図の作成
  4.4.4 コントローラの作成
  4.4.5 アクションの作成
  4.4.6 Flowアクションの作成
  4.4.7 ステートの作成
4.5 コントローラのテスト
  4.5.1 コントローラのテストについて
  4.5.2 Web Flowのテスト
  4.5.3 コントローラのテストケース作成
  4.5.4 テストケースの実行

5 サービス

5.1 サービスの作成
  5.1.1 サービスとは
  5.1.2 サービスの作成
  5.1.3 サービスのトランザクションについて
  5.1.4 ビジネスロジックの記述
  5.1.5 コントローラの変更
  5.1.6 サービスのインジェクション
5.2 サービスのテスト
  5.2.1 サービスのテストケース作成
  5.2.2 サービスのテストケースの実行
  5.2.3 コントローラのテストケースの再実行
  5.2.4 コントローラのテストケースの変更
  5.2.5 コントローラのテストケースの実行

6 ビューと機能テスト

6.1 ビューの作成
  6.1.1 GSPとは
  6.1.2 ビューへ値を渡す
  6.1.3 コントローラから渡された値を使う
  6.1.4 GSPで参照できる変数
  6.1.5 GSPタグ
  6.1.6 Sitemeshとは
  6.1.7 GSPによるビューの作成
  6.1.8 アプリケーションの実行とファイルの変更
6.2 機能テスト
  6.2.1 機能テストとは
  6.2.2 Canoo WebTestプラグインのインストール
  6.2.3 Canoo WebTestを使用したテストケースの作成
  6.2.4 テストケースの実行
  6.2.5 イテレーション2~ビジネスプロセス/ルールのまとめ

7 プラグインを使ったセキュリティとAjax

7.1 セキュリティ対策
  7.1.1 アカウントの作成
  7.1.2 セキュリティ対策の検討
  7.1.3 Acegi Plugin
7.2 例外処理
  7.2.1 error.gsp
7.3 ブラッシュアップ
  7.3.1 Grails+Ajax
  7.3.2 Rich Client/Ajax Plugins
  7.3.3 ファイルのアップロード
  7.3.4 メッセージ

8 運用

8.1 ログ出力の設定
  8.1.1 log4jの設定
8.2 データベースの設定
  8.2.1 DataSourceの設定
  8.2.2 PostgreSQLを使う
8.3 Java VMのメモリサイズの設定
  8.3.1 Grailsの設定
  8.3.2 Tomcatの設定
8.4 アプリケーションサーバへの配備
  8.4.1 warファイルの作成
  8.4.2 warファイルのアプリケーションサーバへの配備
8.5 ログファイルの移動
  8.5.1 Quartzプラグインを使う
  8.5.2 Jobファイルの作成

9 プラグインの概要と基礎

9.1 プラグインの概要
  9.1.1 Grails組み込みプラグインを知る
  9.1.2 プラグインで追加できる機能
  9.1.3 プラグイン開発に必要な知識と実装別の難易度
9.2 プラグインプロジェクトの構造~プロジェクト作成とパッケージング
  9.2.1 プラグインプロジェクトの作成
  9.2.2 プラグインプロジェクトのパッケージング
  9.2.3 パッケージ時に含まれるファイルと含まれないファイル
9.3 シンプルなプラグイン
  9.3.1 プラグインプロジェクトの作成

10 プラグイン記述ファイル~高機能なプラグイン開発

10.1 プラグイン記述ファイル~XXXXGrailsPlugin.groovy
10.2 プラグイン記述ファイルのプロパティ
  10.2.1 プラグイン情報定義プロパティ
  10.2.2 プラグイン詳細定義プロパティ
10.3 プラグインからGrailsを操作する各クロージャと参照できるプロパティ
  10.3.1 doWith~読み込みの仕組み
10.4 Springビーンビルダ~doWithSpring
  10.4.1 Springビーンビルダの利用
  10.4.2 ビーンビルダ実験用スクリプト~SpringBuilder.groovy
  10.4.3 Springビーンビルダの基本
  10.4.4 Factoryメソッドの使用例とクロージャの最初の引数
  10.4.5 Factoryビーンの使用例
  10.4.6 ダイナミックにビーン名を定義する
  10.4.7 匿名入れ子ビーン
  10.4.8 抽象ビーン、チャイルドビーンを定義する
  10.4.9 ビーンの参照
10.5 ApplicationContextポスト処理~doWithApplicationContext
10.6 web.xmlの編集~doWithWebDescriptor
  10.6.1 doWithWebDescriptorクロージャ
  10.6.2 サーブレットの追加
  10.6.3 XmlSlurperの使用例
10.7 ダイナミックメソッドの追加~doWithDynamicMethods
  10.7.1 GrailsApplicationの評価ルールとGrailsClassの利用方法
  10.7.2 doWithDynamicMethodsクロージャでメソッドを追加する
  10.7.3 doWithDynamicMethodsの第1引数
10.8 自動リロードイベント~watchedResources、onChange
  10.8.1 イベントオブジェクト
  10.8.2 プラグイン依存連携用プロパティ
10.9 Email Senderプラグインを開発する
  10.9.1 プラグイン開発準備
  10.9.2 メール送信用ビーンの実装
  10.9.3 メールサーバ情報、メール送信者を簡単に変更できるようにする
  10.9.4 メール送信メソッドの追加
  10.9.5 リロードイベント対応とプラグイン依存の設定

11 プラグインを便利にする機能~スクリプト、アーティファクト

11.1 スクリプト~コマンドの追加
  11.1.1 Gantスクリプト
  11.1.2 スクリプトのイベント処理
11.2 独自アーティファクト(Artefect)タイプの追加
  11.2.1 Artefact APIとその仕組み
  11.2.2 Emailアーティファクトを作ってみる
11.3 公式Grailsプラグイン
  11.3.1 主要な公式Grailsプラグイン

A Grailsコマンドリファレンス

A.1 使い方
A.2 組み込みコマンド
全コマンド一覧

B GSPタグリファレンス

B.1 使い方
B.2 組み込みGSPタグ

C ダイナミックメソッドリファレンス

C.1 すべてのオブジェクトに共通のダイナミックメソッド
C.2 すべてのアーティファクトに共通のダイナミックメソッド
C.3 ドメインクラスのダイナミックメソッド
C.4 コントローラのダイナミックメソッド
C.5 サービスのダイナミックメソッド
ダイナミックメソッド一覧

D その他の技術情報~制約記述、Hibernateクライテリアビルダ、ダイナミックファインダ、組み込みプラグイン

D.1 制約記述(1)~ドメインクラスの制約
D.2 制約記述(2)~スカッフォールディングでの利用
D.3 制約記述(3)~スキーマ生成での利用
D.4 Hibernateクライテリアビルダ
D.5 ダイナミックファインダ
D.6 組み込みプラグイン

COLUMN

Grailsコミュニティ
Groovyの歴史
GroovyとGrails
Java SE 5の取り込みと進化
URLマッピング
デフォルトアクション
REST
Web Flowを使わない画面遷移
interactiveモード
BDD
デバッグ
パッケージのLogger設定
プラグイン開発は大変?
実はあなどれないシンプルなプラグイン
プラグインロードの内部処理
イベント処理のサンプル
アーティファクトのスペル
公式プラグインのコミッターへの道

本書は付属データの提供はございません。

書籍への問い合わせ

正誤表、追加情報をご確認の上、こちらよりお問い合わせください

書影の利用許諾について

本書籍に関する利用許諾申請はこちらになります

追加情報はありません。

ご購入いただいた書籍の種類を選択してください。

書籍の刷数を選択してください。

刷数は奥付(書籍の最終ページ)に記載されています。

現在表示されている正誤表の対象書籍

書籍の種類:

書籍の刷数:

本書に誤りまたは不十分な記述がありました。下記のとおり訂正し、お詫び申し上げます。

対象の書籍は正誤表がありません。

最終更新日:2011年07月12日
発生刷 ページ数 書籍改訂刷 電子書籍訂正 内容 登録日
1刷 015
リスト1.2の2行目
<bean id="bookservice" class="BookService">
<bean id="bookservice" class="BookServiceImpl">
2011.07.12
1刷 016
リスト1.3の2行目
bookservice(BookService)
bookservice(BookServiceImpl)
2011.07.12