お問い合わせ

コース概要

Groovy 入門

  • Apache Groovy 入門
  • Groovyの歴史と進化
  • GroovyとJava仮想マシン(JVM)
  • スクリプト言語およびプログラミング言語としてのGroovy
  • Groovyの一般的なユースケース
  • JavaベースのプロジェクトにおけるGroovy
  • Javaと併用するGroovyの利点
  • サンプルアプリケーションの概要

Groovyの機能概要

  • 動的型付けと任意の静的型付け
  • Groovyのスクリプト機能
  • 簡潔な構文と言語強化
  • クロージャと関数型プログラミング
  • Groovyコレクションと強化されたAPI
  • 演算子のオーバーロード
  • 文字列補間
  • 安全ナビゲーションとElvis演算子
  • ドメイン固有言語(DSL)の開発
  • メタプログラミング機能
  • Groovy Development Kit (GDK)

開発環境のセットアップ

  • Groovyのインストールと設定
  • Groovyディストリビューションの扱い
  • コマンドラインからのGroovyの利用
  • Groovyスクリプトの実行
  • IDEのセットアップ
  • Groovyプロジェクトの作成
  • 依存関係の管理
  • JavaプロジェクトとのGroovy統合
  • コンテナ向け開発環境の設定

最初のGroovyアプリケーションの作成

  • 基本的なGroovyスクリプトの作成
  • Groovyスクリプトの構造の理解
  • Groovyアプリケーションの実行
  • printlnステートメントの使用
  • 変数との操作
  • メソッドの定義
  • コメントとドキュメントの追加
  • シンプルなサンプルアプリケーションの構築
  • Groovyコードのコンパイル

Groovyの構文に慣れる

  • Groovyのステートメントと式
  • セミコロンと任意の構文要素
  • 変数と定数
  • 動的型付けと明示的な型付け
  • 文字列リテラルと補間
  • 1行と複数行の文字列
  • 演算子と式
  • Groovyの演算子とショートカット
  • ヌル処理
  • 安全ナビゲーション
  • Elvis演算子
  • 多重代入

Groovyのデータ型とコレクションの使用

  • プリミティブ型とオブジェクト型
  • 数値と数値演算
  • 文字列と文字
  • ブール型
  • 日付と時間関連の値
  • List
  • Map
  • Set
  • 範囲(Range)
  • コレクションの反復処理
  • コレクションの変換
  • コレクションのフィルタリングと検索
  • データのソートとグルーピング
  • Groovyコレクションメソッド

Groovyのクロージャの使用

  • クロージャの理解
  • クロージャの構文
  • クロージャのパラメータ
  • 暗黙的なクロージャパラメータ
  • クロージャの呼び出し
  • 変数としてのクロージャ
  • メソッドへのクロージャの渡し
  • メソッドからのクロージャの返却
  • クロージャとコレクション
  • フィルタリングと変換のためのクロージャ使用
  • スコープと変数のキャプチャ
  • 関数型プログラミングのためのクロージャ
  • 実践的なクロージャパターン

Groovy制御構造によるプログラムの流れ制御

  • 条件分岐ステートメント
  • ifelse
  • ネストされた条件分岐
  • switch ステートメント
  • ループと反復処理
  • for, while, および do-while
  • ループ内の範囲(Range)
  • 反復処理のためのクロージャ使用
  • breakcontinue
  • 例外ハンドリング
  • try, catch, および finally
  • カスタム例外の送出
  • Groovy特有の制御フロー機能

アプリケーションでのオブジェクト指向プログラミング(OOP)の実装

  • Groovyクラスの定義
  • プロパティとフィールド
  • コンストラクタ
  • メソッド
  • カプセル化
  • 継承
  • インターフェース
  • 抽象クラス
  • ポリモーフィズム(多態性)
  • メソッドのオーバーライド
  • メソッドのオーバーロード
  • Groovyのゲッターとセッター
  • トレイト(Traits)
  • 列挙型(Enums)
  • サンプルアプリケーション用のドメインモデルの作成

実行時メタプログラミングとコンパイル時メタプログラミング

  • Groovyメタプログラミング入門
  • 動的メソッド呼び出し
  • Expandoオブジェクト
  • 実行時のメソッドとプロパティの変更
  • カテゴリと拡張
  • MetaClass
  • メソッドの動的追加
  • メソッド呼び出しのインターセプト
  • コンパイル時変換
  • 一般的なAST変換
  • 責任あるメタプログラミングの使用
  • 実践的なメタプログラミングの例

ビルダーの扱い

  • ビルダーパターンの概要
  • Groovyビルダーとその目的
  • 階層構造の作成
  • XMLビルダー
  • JSONビルダー
  • HTMLとマークアップの生成
  • ビルダー出力の設定
  • ビルダーでのクロージャの使用
  • カスタムビルダーの作成
  • ドメイン固有言語(DSL)へのビルダーの適用

Groovyでのデータベースへのアクセス

  • データベース接続の概念
  • Groovyアプリケーションからデータベースへの接続
  • JDBCとGroovyデータベースAPI
  • データベース接続の設定
  • SQLクエリの実行
  • クエリ結果の読み取り
  • データの挿入、更新、削除
  • パラメータ化クエリ
  • トランザクション
  • データベース例外の処理
  • Groovy SQLとの操作
  • サンプルアプリケーション用のデータベース機能の構築

GroovyからJavaを呼び出す

  • GroovyとJavaの相互運用性
  • GroovyからのJavaクラスの使用
  • Javaメソッドの呼び出し
  • Javaライブラリの扱い
  • Javaコレクションの使用
  • Java例外の処理
  • Groovy構文とJava構文の比較
  • JavaからのGroovyコードの呼び出し
  • GroovyソースファイルとJavaソースファイルの混合
  • 既存のJavaアプリケーションへのGroovy統合
  • 相互運用性のベストプラクティス

RESTサービスとアプリケーションへの接続

  • REST APIの概要
  • Groovyアプリケーション向けHTTPの概念
  • HTTPリクエストの送信
  • GET, POST, PUT, DELETE操作の処理
  • リクエストパラメータとヘッダーの扱い
  • JSONレスポンスの処理
  • JSONリクエストボディの構築
  • 認証の処理
  • HTTPエラーの管理
  • 外部RESTサービスの消費
  • サンプルアプリケーションへのREST機能の統合

GDKの扱い

  • Groovy Development Kitの概要
  • 強化されたJava API
  • 文字列の扱い
  • 強化されたコレクション
  • ファイルとディレクトリ操作
  • ファイルの読み書き
  • ストリームとの操作
  • XMLの処理
  • JSONの処理
  • 日付と時間の扱い
  • ユーティリティメソッドと便利API
  • 適切なGDK機能の選択

Groovyアプリケーションのユニットテスト

  • Groovyアプリケーションのテスト入門
  • テスト駆動開発(TDD)の概念
  • ユニットテストの作成
  • テストフレームワークの使用
  • テストクラスの構造化
  • アサーション
  • クラスとメソッドのテスト
  • クロージャのテスト
  • 例外のテスト
  • 依存関係のモッキング
  • データ駆動型テスト
  • データベース関連機能のテスト
  • REST統合のテスト
  • テストの実行と結果分析

トラブルシューティング

  • Groovy構文エラーの診断
  • 実行時エラーのデバッグ
  • コンパイル問題の処理
  • Java相互運用性問題のトラブルシューティング
  • クロージャとコレクション操作のデバッグ
  • データベース接続問題の調査
  • REST API統合のトラブルシューティング
  • メタプログラミング動作のデバッグ
  • ロギングと診断ツールの使用
  • 実践的なトラブルシューティング演習

まとめと結論

  • Groovy言語の fundamentals の復習
  • 構文、型、コレクションの復習
  • クロージャと関数型プログラミングの復習
  • オブジェクト指向プログラミングの復習
  • メタプログラミングとビルダーの復習
  • データベースとREST統合の復習
  • GroovyとJavaの相互運用性の復習
  • GDK機能の復習
  • テスト実践の復習
  • Groovyアプリケーション開発のベストプラクティス
  • 最終的な実践演習
  • 質疑応答とディスカッション

要求

  • いずれかのプログラミング言語でのプログラミング経験
 21 時間

参加者の人数


参加者1人あたりの価格

お客様の声 (1)

今後のコース

関連カテゴリー