|
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.
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
|
COURSE DATES & REGISTRATION
Book Online or Call Sales on +44 (0)207 1839040
ABOUT THE AUTHOR
|
David A. Black, Senior Developer at Cyrus Innovation, Inc., 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
COURSE DATES & REGISTRATION
Book Online or Call Sales on +44 (0)207 1839040
|