Ruby Programming
with Chad Fowler
Learn how to write object-oriented programs in Ruby— and have fun doing it!—in this 3-day, hands-on training course.
- Are you planning to start a Rails or JRuby project, or are you already using them but need a better understanding of Ruby?
- Looking to update your programming skills with the language that's taking the industry by storm?
- Tired of programming in your day job's language of choice, and need to rediscover the joy of programming?
If you're programming for fun or profit, learning how to program in Ruby now is a smart investment.
“[The Ruby Studio] was a great experience and I highly recommend it to anyone who is serious about learning Ruby...”
—Robert Pierce
What Will I Learn?
How to Write Ruby Programs with Style. We'll teach you how to write clean, elegant programs the Ruby way.
Getting Started
Ruby has a rich set of
libraries and programming tools. Setting up your working environment
properly will give you a solid foundation to work from.
- Installing Ruby and the RubyGems package management system
- Running Ruby programs: invoking the Ruby interpreter, using the interactive Ruby shell (irb), using Ruby libraries
- Using RubyGems: how to find gems, how to use them, and where they're installed
- Accessing, writing, and generating documentation using RDoc and ri
Ruby Language Constructs
When you begin
programming in Ruby, you'll notice some constructs that are familiar
from other programming languages. But Ruby includes some pleasant
surprises, as well.
- Loops and conditionals
- Strings and numbers
- Arrays and hashes
- Regular expressions
- Blocks and closures
- Iterators, including Enumerable
- Exceptions
Object-Oriented Programming
Ruby is an
object-oriented programming language, but what does that really mean
and how does it change the way you write programs? Let's understand
how objects can help us write better programs.
- Object-oriented programming concepts: objects, classes, methods, composition, inheritance
- Object-oriented design in a dynamic language: mechanisms unique to Ruby, modules, mixins
Organizing Ruby Code
Once you've conceptually
organized your program into classes and modules, you need to
organize it on disk for easy use and packaging.
- How to split code into separate files: scripts, classes, and modules
- Where to find all the stuff on your system: standard libraries, gems, site_ruby, etc.
Testing
Ruby has a strong culture of testing,
and your programs will thank you for it.
- Writing and running tests with the Test::Unit library: assertions, test cases, test fixtures
- Test automation using Rake
Network Programming
It's a networked world, so
we'll learn to write simple programs that connect to Web servers and
download and process data.
Scripting with Ruby
In addition to being an
object-oriented language for building robust applications, Ruby is
also a great scripting language for automating tasks around your
home and office.
- Using stdin/stdout, files, and other standard input and output libraries
- Executing external processes
- Text processing
Common Idioms and Troubleshooting
Throughout
the course we'll show you common Ruby idioms, tips and tricks, and
techniques for quickly diagnosing problems.
“Learning on my own, I missed many of the important details about how Ruby is implemented and why the code should be written a certain way. [In the Studio], the instructors walked us through particular problems to illustrate the programming process for solving them.”
—Zeke Ricci
Who’s It For?
Programmers. This course is for programming teams new to Ruby who have programming experience in another language. No prior experience with Ruby or object-oriented programming is required.
“Having hands-on examples and being able to see the examples [live code by the instructors] was a great help in furthering my understanding.”
—Devin Riley
Who Teaches the Course?
Chad Fowler is a well-known author and Ruby and Rails trainer and consultant. He is cofounder of Ruby Central, a non-profit corporation responsible for the annual International Ruby and Rails Conferences, and is a leading contributor and frequent speaker in the communities.Chad is the author of Rails Recipes and The Passionate Programmer,a contributor to Programming Ruby, and CTO of InfoEther.
“I liked the guru instructors, the vast amount of info, and exploring multiple ways of doing things.”
—Cody Lewis
What Do I Need?
This course is taught on site at your location. As such, you'll need the following:
- a room to comfortably accommodate your team
- a laptop projector and screen
- a whiteboard or flipchart with markers
- laptops (or desktops) on which each attendee can complete the hands-on exercises, and access rights on those machines to install the required software
