Ruby on Rails
with Dave Thomas and Jim Weirich
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 |
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 |
| July 16-18 | Reston, VA | June 15 | June 16 |
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?
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?
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 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 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?
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
