Ruby & Ruby on Rails Bootcamp
Most Ruby on Rails training assumes that the student is already an experienced programmer. This course covers the same material as our Ruby on Rails bootcamp, but assumes only that the student is intelligent and motivated.
The first two days of the course are devoted to learning Ruby with Stacey Goff, followed by our five-day Ruby on Rails Bootcamp with Charles B. Quinn. In 7 challenging days, these courses will take you from complete novice to being a Rails developer.
The class is taught on Rails 2.0 and takes advantage of many Rails 2.0 features including REST, MultiView, ATOM, ActiveSupport, and more.
Upon completion of Ruby & Ruby on Rails Bootcamp, the student will:
- Ruby
- Understand the fundamental concepts of object oriented programming
- Run code using the interactive Ruby shell and the Ruby interpreter
- Understand objects, methods, and classes
- Define classes and equip them with attributes and actions
- Be familiar with important built-in classes and useful methods
- Use code blocks for iteration
- Interact with files using Ruby
- Use mixin modules to add class functionality
- Raise and handle exceptions
- Test code with unit tests
- Use RubyGems to download and install Ruby libraries
- Document source code correctly
- Ruby on Rails
- Understand the major components that make up Rails (ActiveRecord, ActionPack, ActionMailer, and ActiveSupport)
- Understand the Model View Controller (MVC) pattern and how Ruby on Rails conventions encourage efficient design
- Be able to apply Ruby on Rails best practices
- Be able to install, setup, design, develop and deploy new Ruby on Rails applications, as well as update, manage, and maintain existing Ruby on Rails applications
- Understand how ActiveRecord provides associations, validations, and easy interactions with powerful database queries
- Understand how ActionPack's ActionView simplifies web interfaces through layouts, partials, helpers, and ERb templates
- Understand how ActionPack's ActionController provides powerful handling of web requests by providing mechanisms for routing, redirects, and renders, as well as handling parameters, sessions, and caching
- Build, parse, and manipulate XML Documents by generating RSS feeds, and creating and consuming Web Services
- Create and run Tests using built-in processes such as unit tests, functional tests, fixtures, assertions, and validations
- Avoid Security pitfalls and deployment problems
- Debug applications using breakpoints, logging, and prototyping in an interactive console
- Make rich and dynamic interfaces using Ruby on Rails' extensive, easy to use AJAX libraries
- Utilize Ruby on Rails generators, plugins, engines, and Ruby libraries to quickly add extended functionality and features
- Deploy and Maintain Ruby on Rails applications using Capistrano, and a trusted Rails deployment stack
Upcoming Classes
| Date | Instructor | Price | Status | Venue |
|---|---|---|---|---|
| Mar 28 - Apr 3 | Charles B. Quinn Patrick Lenz |
€3400 | Register Now | Frankfurt, Germany |
Syllabus
| Section | Contents |
|---|---|
| Ruby | |
| Background & Introduction | Ruby's history Object-oriented vs. procedural languages, interpreted vs. compiled languages, strengths and weaknesses of an object-oriented interpreted language |
| Starting Out | Running Ruby interactively with irb, using the Ruby interpreter, creating simple Ruby executable files |
| The Basics | Introduction to classes, methods and variables, looking at a built in class and its methods, understanding objects and attributes |
| Defining Classes | Learning how to create user defined classes, understanding local, global, object and class variables, class inheritance and polymorphism |
| Methods | Class methods vs. object methods, overriding existing methods, associating methods with blocks |
| Standard Types | Understanding basic building blocks (numbers, strings, regexp, arrays and hashes) |
| Flow Control | Implementing basic looping constructs and logic operations, understanding code blocks, iterators and the yield keyword |
| Input and Output | Opening and closing files, reading and writing to files |
| Modules | Understanding mixin modules and how to incorporate them into a class, namespaces, learning to break up code into separate files |
| Exceptions | Dealing with errors by raising exceptions, handling exceptions using a rescue clause, catch and throw |
| Testing | Understanding the principles behind test-driven development, implementing basic unit testing |
| Ruby Gems | An introduction to Ruby's package manager, useful Ruby gems |
| Documentation | Learning the correct syntax for documenting source code, learning how to generate HTML documentation with RDoc, explore the `ri` command line utility |
| The Ruby Community | Learning where to get help, talk about Ruby, find documentation, or contribute to the cause |
| Ruby on Rails | |
| Introduction | Introduction to Ruby on Rails, the instructor and the course. Understanding what Rails is and isn't. |
| Diving Right In | A look at a real-world Rails app. Quick tour of default app. Overview of environments. Brief demo of Active Record, Action Controller, and Action View. |
| MVC (Model View Controller) | Detailed look at Rails MVC implementation. Full lifecycle of web request. |
| Active Record basics | The Active Record Pattern. Models, Tables, Columns, Attributes. Create, Read, Update, Delete (CRUD). |
| Action Controller basics | Actions, Controllers, Routing requests, Params, Sessions, flash messages. |
| Action View basics | ERb templates, layouts, partials, views, components, helpers. |
| More Active Record features | Validations, Associations, Aggregations, Accessors, find_by_*, overriding defaults. |
| More Action Pack features | Request filters, render versus redirect, caching, responds_to, form helpers. |
| Testing | Testing controllers (functional), testing models (unit), creating mock objects (fixtures), assertions, rake. |
| Routes | Routing requests, creating patterns, error-handling |
| Request Filters and Callbacks | After, before, around (prepend_around), callbacks |
| Debugging | Breakpointer, logging, script/console |
| AJAX | AJAX form requests, effects, controls and JS helpers. RJS templates |
| Action Mailer Basics | Sending mail, processing mail, using generator, testing mail |
| Web Services and XML | Using Builder, RXML, generating RSS feed, producing, consuming Web Service |
| Extending Rails | Active Support basics. Plugins, Engines, Ruby libraries |
| Benchmarking and Performance | Caching (fragments, partials), eager loading, profiling, benchmarking |
| Deployment | Sample server setups, Capistrano configuration, recipe creation |
Price
A five-day class, a student guide, a luxury room, three delicious meals a day, a stylish "Big Nerd Ranch" t-shirt, and transportation to and from the airport for $4300. Plan to arrive on Friday afternoon and depart the following Friday afternoon.
When the class is offered in Europe, the price is €3400 plus 19% VAT. (€3200 plus VAT if you register at least five weeks before the class begins.)