Dates & Pricing

March 20-22, 2012 Reston, VA
Early Price
$1595 Alumni and Groups of 3+
$1895 Attendee
Regular Price
$1995 Alumni and Groups of 3+
$2295 Attendee

Register

Learn how to build high-quality web apps—quick and clean—from two renowned Rails experts in this comprehensive 3-day, hands-on training course. This course has been redesigned to cover the latest Rails 3.2.

  • Learn how to use the core features of Rails 3, and put them all together to build dynamic web applications like the pros: from idea to deployment!
  • Gain hands-on coding experience and get your questions answered so you can start creating your own Rails applications with confidence.
  • Save time and frustration by focusing exclusively on Ruby and Rails development for three days with expert guidance.

You'll come away from this course ready to create your first Rails app, or improve your existing app. Check out some of the apps alumni have created as a result of attending this course!

When and Where?

This 3-day course runs from 9am — 5pm on the first two days and 9am — 4pm on the last day.

Date Location Early Price Ends Regular Price Begins
March 20 - 22 Reston, VA February 17 February 18

You're an alumni if you've attended any previous Pragmatic Studio event. A team is 3 or more attendees from the same company. This course can also be taught on-site at your team's location. Schedule team training today!

What Will I Learn?

Chad

How to create high-quality Rails apps from scratch. Through a series of guided instruction and 15 hands-on exercises, you'll learn the important features of Rails by creating a full-featured app from start to finish. You'll not just know how to use Rails, you'll also understand why things are the way they are. Topics include:

Agile Rails Development
Rails has some strong opinions about how web apps should be developed. These opinions are codified in what Rails calls conventions. The conventions get you started on the right foot. Having built a number of large and small Rails apps ourselves, we have fairly strong opinions, too. We call this practical experience. Experience takes you the rest of the way. In addition to learning how to use Rails in this course, you'll learn how to:

  • Create web apps using an iterative (agile) development style
  • Adapt to changing requirements
  • Use agile coding practices such as refactoring, DRY, and so on

Ruby Basics
Ruby is the object-oriented programming language that you use to write Rails apps. While this isn't a comprehensive course on Ruby, you'll learn enough Ruby to jump right into Rails development. Topics include:

  • Classes, modules, and objects
  • Strings, symbols, and numbers
  • Loops and conditional expressions
  • Arrays and hashes
  • Blocks and iterators
  • Common Ruby idioms

Active Record
Active Record is the object-relational mapping library that connects your business objects (models) to your database tables. On one level, models abstract access to your relational database. Models also encapsulate all your business logic. Well-designed models are the foundation of any good Rails application. You'll learn how to:

  • Manage your database schema with migrations
  • Query your data using the query language in Active Relation
  • Use validations and callbacks to enforce data integrity
  • Model relationships: one-to-many and many-to-many associations
  • Design models for better reuse and testability
  • Use the Rails console effectively

Action Pack
Action Pack splits the handling of a web request into two parts: a controller that performs the application logic and a view that renders a template. This two-step process is handled by an action. Proper design is critical at this level. You'll learn how to:

  • Use scaffolding to quickly create an admin interface
  • Write actions that render HTML pages and redirect to other actions
  • Design clean and flexible views using layouts, partials, and helpers
  • Display a form and handle form POST data
  • Get the real benefit of the MVC design pattern imposed by Rails

Action Dispatch
Action Dispatch provides a powerful mechanism for routing incoming HTTP requests to the appropriate application logic living in controller actions. You'll learn how to:

  • Use (and understand) the RESTful route conventions
  • Design applications to take advantage of the REST conventions in Rails
  • Add collection and member routes to the RESTful routes
  • Write custom routes to make your URLs more expressive, and use named route methods
  • Quickly create a remote API for your application

Testing
Testing is a cornerstone of building high-quality web apps, and Rails has built-in support for testing. Beyond that, you'll find no shortage of good testing tools for Rails apps. But a common mistake is to focus on the tools. Instead, you'll learn the practices and techniques of writing good tests (we'll use the built-in testing framework). Then you can pick whichever tool suits you. You'll learn how to:

  • Write unit tests for your models
  • Design models for better testability
  • Share common test data across your tests

Accounts and Authentication
Most Rails applications require some sort of provisions for user accounts, authentication, and login. Whether you develop this from scratch or use a gem/plugin, it's important to truly understand how it all works. We'll develop a simple account and authentication solution from scratch so you can evaluate your options. You'll learn how to:

  • Design a solid user model with proper security measures
  • Use sessions to remember that a user is logged in
  • Write action filters to restrict access to actions and enforce login

Deployment
Deployment shouldn't be something you do at the very end of the project with your fingers crossed. Instead, we advocate deploying your app as soon as possible, and continuously as you add new features. That way you can get early feedback from customers and build confidence in your deployment process. To do that, though, the deployment steps must be automated. You'll learn how to:

  • Assess various deployment options and tools
  • Automate your deployment process using Capistrano
  • Write and run custom Capistrano tasks

Practical tips, tricks, and techniques
Along the way you'll learn the practical tips, tricks, and techniques we use to work more efficiently and build full-featured Rails applications.

In addition to the prepared topics, you'll have time to ask questions and spark discussions with other Rails developers.

“I was extremely impressed with the training from beginning to end. The registration and setup process was super easy, the facility was first rate (food was awesome), they are outstanding teachers, and the subject material was very interesting.”

— Chris Bischoff

Who Should Attend?

Web Programmers. This Studio will be a good fit for you if...

  • You're an experienced web programmer new to Rails development.
  • You understand object-oriented programming concepts such as classes, methods, data structures, loops, conditionals, and so on.
  • You want to create your first Rails app, or improve an existing app.

If you have at least one Rails application under your belt, then consider leveling up by attending the Ruby on Rails II Studio. If you're unsure whether this course is a good fit for you, contact us.

What's Included?

Here's what's included with your registration:

  • A continental breakfast, a hot lunch, and continuous beverages and snacks every day
  • A binder with the printed course material
  • Exercises and example source code to refer back to later
  • Internet connectivity and power during the Studio
  • An invitation to our alumni-only mailing list for help after the Studio
  • A stylish Pragmatic Studio t-shirt
  • A signed certificate of completion
  • Discounts on future training

Who Teaches the Course?

Dave Thomas

Two Rails Authors and Experts. This Studio is taught by programmers for programmers. Learn directly from two authors of the premier references for Rails who have also built and deployed numerous real-world Rails applications.

Dave Thomas is the co-author of The Pragmatic Programmer, Programming Ruby, and Agile Web Development with Rails. Along with Andy Hunt, they run The Pragmatic Programmers.

Jim Weirich

Jim Weirich has been active in the software development world for over twenty-five years. Jim is very active in the Ruby community and has contributed to several Ruby projects including the Rake build system, the FlexMock mocking library, and the RubyGems package management system. Jim is the Chief Scientist for EdgeCase, LLC.

Chad Fowler

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 VP Engineering at LivingSocial.

What Should I Bring?

Laptop

Your Laptop. It wouldn't be a hands-on course if you didn't walk away having written some code. You'll be most productive on the laptop you use regularly. (On average, 60% of attendees bring Mac OS X, 30% bring Windows, and 10% bring Linux.)

A few weeks before the course, we'll send out detailed instructions for installing everything you'll need. During the course, you'll get hands-on experience working through prepared exercises, and experimenting on your own, too.

What's a Studio?

Comprehensive, Hands-On Learning. The Studio experience doesn't begin and end in the classroom. The moment you register, we'll help you start preparing for the course. In the Studio you'll enjoy a distraction-free, interactive learning environment. When you return to your project, you'll have access to supporting resources to help you succeed. (Why we call them Studios.)

1. Help You Prepare: Before you arrive, you'll:

  • Receive prep material to help you get the most out of our time together
  • Get detailed laptop set-up instructions

2. In the Studio: In our collaborative learning environment you'll:

  • Learn through guided instruction and hands-on programming exercises
  • Discover new techniques in live coding sessions
  • Get your questions answered by experts and your peers
  • Reinforce the concepts you've learned in books, and dig deeper
  • Discuss timely topics, tips, and tricks

3. On-Going Support: After you return to your project, you can:

  • Get your questions answered on our alumni-only mailing list
  • Find full-time, part-time, or contract developers for your project, or search for your dream job on our job board
  • Get discounts on books, screencasts, and future training to continue learning

4. Success: Deliver your app with more confidence!

  • Show off your app in our alumni gallery.
  • Connect with fellow alumni in our Yearbook.

We think a Pragmatic Studio offers the best developer training around. But don't take our word for it—just ask our alumni! Check out their reviews and the apps they've created.

“Certainly one of the best training experiences I've ever had...The materials are good, the guys are experts and the entire thing was fun—which is hard to say about any training program.”

— Hunter Hillegas