EXL-2100 - The Advanced Ruby/JRuby on Rails Workshop

EXL-2100 - The Advanced Ruby/JRuby on Rails Workshop

It is a well known fact that Ruby on Rails is gaining quite a bit of popularity among developers and deployers of Web applications and for good reasons. Rails is considered a well thought out Web application framework based on several design principles such as Dont Repeat Yourself (DRY), Convention Over Configuration, which enable an agile yet practical development environment. JRuby provides another benefit by allowing them to leverage the stability and the reliability of the Java platform as well as vast array of Java libraries available. This workshop will go through the language features of Ruby (and JRuby) programming language first, especially meta-programming features that make key features of Rails possible. The usage of JRuby is then talked about. The rest of the workshop will be devoted to learning Rails functionality such as ActiveRecord, AcionController, and ActionView. The advanced features of Rails such as Testing, RESTful support, Ajax, and deployment options are going to be then discussed. This workshop is half lecture and half hands-on labs. Attendees are expected to do lots of coding. About Extreme Learning: Get taught directly by the experts and interact with peers in an engaging informal environment. These are intensive, deep dive training sessions designed for advanced IT professionals which incorporate expert-led presentations.


Delivery Format

ILT


Who Can Benefit

Any developer who would like to learn how to build agile Web applications using Ruby and Rails.


Prerequisites

Some Web application development experience would be useful but not required.


Skills Gained

Upon completion of this course, students should be able to write relatively sophisticated real-life Web applications leveraging key features of the Rails framework.


Course Content

Module 1 - Ruby Language Basics

  • What is Ruby?
  • Ruby naming convention
  • Interactive Ruby (IRB)
  • Ruby object
  • Ruby types
Module 2 - Blocks and Closures
  • What is a block?
  • How does a block look like?
  • How does a block get passed and executed?
  • Proc object
  • & (Ampersand) operator
  • lambda
  • Where do blocks get used?
  • What is a closure?
Module 3 - Ruby Meta-programming
  • What is and Why Meta-programming?
  • Ruby language characteristics (that make it a great meta-programming language)
  • Introspection
  • Object#send
  • Dynamic typing (and Duck typing)
  • missing_method
  • define_method
Module 4 - Ruby Object Concept
  • Objects in Ruby language
  • Class object
  • Dynamic method invocation through Object#send
  • Self
  • Singleton method
Module 5 - JRuby Basics
  • What is and what is not JRuby?
  • Why JRuby (over Ruby) & JRuby on Rails (Ruby on Rails)?
  • Why use (J)Ruby with Java?
  • Calling Java from JRuby
  • Calling (J)Ruby from Java
Module 6 - Rails Basics
  • App directory structure (MVC)
  • Environment
  • Rake
  • Generator
  • Migration
  • Rails console
Module 7 - Scaffolding
  • What is scaffolding?
  • Controller
  • Templates
Module 8 - ActiveRecord
  • What is Active Record?
  • Active Record Object Creation
  • Find operation
  • Dynamic Attribute-based Finders
  • Validation
  • Migration
  • Callbacks
  • Exception Handling
Module 9 - Association
  • What is an Association?
  • Auto-generated methods
  • Cardinality
  • Unsaved objects and association
Module 10 - Action Controller
  • What is ActionController?
  • ActionController classes
  • Request handling
  • Parameters
  • Session & Flash
  • Rendering
  • Redirection
  • Classic problem of user refresh & redirection
  • Routing (request mapping)
Module 11 - Action View
  • Types of templates
  • ERb template
  • Builder template
  • JavaScriptGenerator template
  • Using sub-templates
  • Layouts
  • Partials
Module 12 - Action View Helpers
  • Types of ActionView Helpers
  • FormHelpers
  • FormTagHelpers
Module 13 - REST
  • What is REST?
  • REST support in Rails
  • Format of the response via response_to
Module 14 - Testing
  • Overview of Rails testing
  • Unit testing
  • Functional testing
  • Integration testing
  • RSpecPerformance Tactics
Module 15 - Ajax
  • Ajax/JavaScript libraries in Rails
  • PrototypeHelper
  • ScriptaculousHelper
  • JavaScriptMacrosHelper
  • JavaScript related utility methods
  • Ruby JavaScript template
Module 16 - Deployment
  • Deployment server options
  • Capistrano
  • Deployment over Java EE server
Module 17 - Example application
  • Flickr
  • Redmine



Shopping Cart

There are no items in your shopping cart.

Store Search

Advanced Search

Powered By Sun Microsystems
SSL
Kryptronic Internet Software Solutions