Advanced Rails Training Course

Training » All Courses » Ruby » Advanced Rails

Course Summary

The Advanced Rails training course provides you with skills and knowledge to leverage powerful advanced features of Rails and take your applications to the next level.

Upon completion, you will be able to improve the architecture of your applications and do more with less code. You will understand how to use tests to drive the design of your applications in an Agile fashion, and make it secure. And you will be able to tune your applications for high-traffic scalability.

[top] Duration

3 days.

[top] Objectives

In this course you will learn:

  • How to use git with Rails
  • Rspec and Cucumber
  • Advanced association features, named scope
  • How to write REST-ful applications
  • Performance profiling
  • Scalability & Caching
  • Security
  • Deployment Best Practices

[top] Prerequisites

Pre-requisites:

  • Prior working experience with the Rails stack of 6 months or more
  • Prior programming experience in Ruby
  • Basic understanding of object relationships in Rails
  • Prior knowledge of a revision control system such as git
  • Familiar with how to make simple SQL queries (e.g. SELECT * FROM ... WHERE ...)
  • Basic exposure to Ajax in Rails
  • Familiar using gems and Bundler 

[top] Instructors

Photo

Daniel Morrison has been teaching Ruby, Ruby on Rails courses at Marakana since 2007. Not to mention helping some of the most advanced software teams across the U.S. with consulting projects within the Ruby and Rails space. Daniel brings his industry expertise from these real world projects to the training class. With a background in Computer Science, there's a good chance Daniel will start rambling on about Merge Sorts or Big Oh calculations. If you leave him alone, however, his fascination with code, databases, and APIs will kick in and he'll start programming.

Daniel founded Collective Idea in 2005 to put a name to his growing, and already full-time freelance work. He can usually be found (coffee in hand) staring into a tiny 15" digital world. He writes about code and other uninteresting things on his blog.

More about Daniel Morrison...

[top] Outline

RSpec and Cucumber

  • rspec for model, controller, views, helpers, libs
  • mocks, custom matchers
  • writing cucumber tests

Writing maintainable code

  • Skinny Controller, Fat Model
  • Presenters
  • Interactors

Advanced model & association features

  • understanding association proxy objects
  • working with eager loading
  • scoping
  • using association callbacks
  • adding association extensions
  • inheritance

Performance profiling

  • using tools to profile
  • interpreting the data
  • instrumenting Rials

Scalability & Caching

  • page caching, action caching, fragment caching
  • memcached and plugins
  • using model caching

Security

  • authentication & authorization
  • understanding best practices

Deployment and Operations

  • cloud infrastructure vs application platforms
  • managing an app in production
  • deployment best practices

Working with APIs

  • building a RESTful API
  • consuming third-party APIs

Extending Rails

  • Building a gem
  • Gems vs Plugins vs Engines