Relevance, Inc.

Google
Custom Search
  • Development
  • Audits
  • Training
  • Clients
  • Open Source
  • Books
  • Jobs
  • About
  •  Blog

Groovy (A Relevance, Inc. Training Offering)

Training > Languages

Course length:

5 days

Class size:

Up to 18

Supplied Materials:
  • The Definitive Guide to Grails
  • Course CD
Prerequisites:
  • Experience in a modern programming language
  • Familiarity with HTML and the Web
Setup:

Students:

  • Computer with Groovy and Grails installed
  • Editor or IDE of student’s choice
  • Internet access

Instructor:

  • Computer with Groovy and Grails installed
  • Projector

Module Outline

1. Exploring Groovy

  • What is Groovy?
  • Why Groovy?
  • Signal to noise ratio
  • Groovy in the Java World
  • Tools and IDEs for Groovy
  • Ways to use Groovy

2. Java and Groovy

  • Mixing Java into Groovy
  • Mixing Groovy into Java
  • Compilation issues
  • Performance considerations

3. Unit Testing with Groovy

  • Fundamentals of Unit Testing
  • Why Groovy is a better option for unit testing
  • Baked-in unit testing
  • Power of Groovy for unit testing
  • Deciding between Stub vs. Mock
  • Mocking dependencies with Expando
  • Mocking deep dependencies with Interceptors

4. Groovy Types and Typing

  • Data Types in Groovy
  • Groovy and Typing
  • Static vs. Dynamic vs. Optional Typing
  • Issues with typing

5. Groovy Strings

  • Strings in Groovy
  • Expressions and Literals
  • Multiple lines of String
  • Working with Strings
  • Operator overloading

6. Collections in Groovy

  • Collections API
  • Using ArrayList
  • Using Hashmap
  • Iterators and convenience methods

7. Groovy Closures

  • Functional Programming and Lambda Expressions
  • Blocks and Closures
  • Writing closures
  • Calling closures
  • Power and limitations of closures

8. Groovy Developer Kit

  • What is GDK?
  • Advantages of using GDK
  • GDK enhancements

9. DSLs in Groovy

  • What are DSLs?
  • Types of DSLs
  • Creating DSL using Groovy
  • Groovy in Rules Engines

10. Markup Builders

  • What are Builders?
  • Builders in Groovy
  • Creating your own Builder

11. Groovy XML Processing

  • Parsing XML
  • Generating XML
  • Performance considerations

12. Groovy and Databases

  • APIs and Builders for database access
  • Working with Microsoft Excel

13. Groovy Gotchas

  • Language idiosyncrasies
  • Behaviors different from Java

14. Spring and Groovy

  • Spring 2.0 and dynamic languages
  • Benefits of using Groovy with Spring
  • Options for using Groovy with Spring

15. Web Development with Groovy and Grails

  • What is Grails?
  • Groovy in Grails
  • Creating Web Applications in Grails

Justin Gehtland at work in the dev room.

Justin Gehtland at work in the dev room.

Photo courtesy Muness Alrubaie. Used with Permission.

200 North Mangum Street Suite 204 Durham, NC 27701
phone 919.442.3030 fax 866.577.4607 info@thinkrelevance.com

Related Links

  • programming scala 05/01/2009
  • fiveruns conversation with glenn 12/01/2008
  • glenn and josh on dynamic languages, testing 10/10/2008
  • the java.next article series 09/24/2008
  • getting started with grails 05/14/2008
  • groovy zone interview 04/03/2008
  • better, faster, lighter java wins jolt award 03/17/2005
 
    • About
    • Development
    • Blog
    • Audits
    • Books
    • Training
    • Jobs
    • Clients
    • Open Source
    © Copyright 2008, All Rights Reserved Relevance Inc.
  • See Us Speak
  • Contact Us
    200 North Mangum Street Suite 204 Durham, NC 27701
    phone 919.442.3030 fax 866.577.4607 info@thinkrelevance.com