HOME SCALA & F# JAVA .NET WEB GROOVY & GRAILS ANDROID & IOS NOSQL ARCHITECTURE AGILE & SCRUM AGILE DEVELOPER  
David A. Black's Ruby Bootcamp (RUBY-BOOTCAMP-01-04)
CODE: RUBY-BOOTCAMP-01-04          DURATION: 4 DAY/S

This Ruby workshop is run by well known Ruby expert David Black and comprises of 4 days intensive learning. You will learn the basics of the Ruby programming language, and then extend your knowledge to the Ruby object model, built-in classes, string and text handling, sockets and network programming, code testing, metaprogramming, and many more subtopics.

The workshop is completed with one further day of learning, where we will have a 'deep dive' into various Ruby tools! Upon completion of this bootcamp, you will understand that Ruby is a mature general-purpose, programming language, why it has gained tremendous world-wide popularity in recent years. You will know how to use Ruby for a wide variety of programming tasks, including its features, its elegant syntax and full object orientation.

Delegates will also receive a copy of The Well-Grounded Rubyist during the course.

LEARN HOW TO:
  • Ruby's syntax, object model, and major built-in classes
  • Basic object-orientation principles
  • Program design with Ruby
  • The use of Ruby as a "scripting" tool for administrative tasks
  • Testing basics and Ruby testing facilities
PROGRAMME
Basic Ruby concepts and features
  • "Everything's an object"
  • Local variables and assignment
  • Top-level method definitions
  • Arithmetic and logical operators
  • Global variables
  • The default object (self)
Object orientation in Ruby
  • Messages and methods
  • Ruby's class model
  • Inheritance
  • The object method lookup-path
Classes and modules
  • Class methods
  • Constants
  • Module "mix-ins" in classes
  • Modules as namespaces
  • Instance method definition syntax
  • Reopening class and module definitions
  • Overriding methods
Instances and attributes
  • Instance variables
  • Attribute setter and getter techniques
  • Ruby and the "Equal Access Principle"
Strings, symbols, and regular expressions
  • Basic string manipulation and indexing
  • Symbols and the symbol table
  • Regular expression syntax
  • Pattern-matching with scan, sub, and match
Collection objects and iterators
  • Array, Hash, and Range classes
  • Code blocks and iteration
  • Creating iterators with the Enumerable module
  • Collection filtering, selecting, and transforming
  • Enumerators and external iteration
Object dynamism
  • Adding singleton methods to objects
  • Modular extension of per-object behavior
  • Singleton classes
  • Extending existing classes
Threads
  • Starting, running, stopping threads
  • Threads and variable scope
  • Thread-safety considerations
Lambdas and function objects
  • Creating first-class functions
  • Lambda argument semantics
  • Variable scope and closures
  • Block, Proc, lambda interaction
Metaprogramming
  • The eval family of methods
  • Programmatic method creation
  • Runtime reflection on objects
  • Traversing ObjectSpace
  • method_missing and other hooks and callbacks
Exception handling
  • The Exception class hierarchy
  • Raising exceptions
  • Rescue and ensure clauses
  • Writing your own exception classes
File and I/O operations
  • Keyboard input and screen output
  • Basic file reading and writing
  • File handles as iterators
  • Low-level I/O techniques
Date, time, and numeric types
  • Date, Time, and DateTime classes
  • Date calculation and parsing
  • Integers and floating-point numbers
The standard library
  • StringIO hybrid objects
  • Struct and OpenStruct
  • Math extensions
  • FileUtils and Pathname
  • Socket and network programming facilities
  • Administrative and system libraries
Testing in Ruby
  • Unit testing principles
  • The MiniTest and TestUnit libraries
Ruby tools
  • Interactive Ruby (irb)
  • Embedded Ruby (erb)
  • The RubyGems packaging system
  • Rake task management utility
ABOUT THE AUTHOR
David A. Black is a well-known and highly-regarded Ruby programmer, trainer, author, speaker, and event organizer.
More about David A. Black
IS THIS COURSE FOR YOU?
If you are a Programmer and new to Ruby, or you have worked a bit with Ruby and now want to learn it systematically, this is the course for you!

If you are a System Administrator and not primarily a programmer, but you are comfortable in and around the programming work-flow, you are also welcome!

COURSE PREREQUISITES
To benefit from this Ruby course, you should have some programming experience, or familiarity with how programming works and with the purposes of a programming language.

COURSE LABS & EXERCISES
This Ruby course is composed of a mixture of exercises, hands-on practice, discussions and clear explanations

© Copyright 2003-2013, Skills Matter Ltd
About Us  Jobs  Find Us  Meeting & Training Rooms  Newsletter  Jobs: Sales Executive  Jobs: Student SkillsCaster  jobs - junior event coordinator  Open Source Journal  Jobs: Sponsorship Development  jobs: Marketing & Sales Graduate Internship  Jobs: HR Manager  jobs-Join Our Dev Team  DevOps Engineer  Front-End Engineer  Test Engineer