Contact us for a Private Course

Successful Rails app grow big quickly making them difficult to mantain. With all your engineering team working on the same app, changes become increasingly difficult, and scalability becomes an issue.

In this course you will learn how to break monolithic Rails apps into services. You will learn how to identify and extract functions of your current app into independent pieces. You will learn how to use your tests to keep you focused while doing it. You learn how to prepare your app for future scalability.

By the end of this course, you will be able to identify and extract services from your current app with confidence.

What You’ll Learn

In this course you will learn how to refactor your app into services.

  • How to identify areas for extraction in you app
  • How to create other apps that will service your main app
  • Use your test suit to keep you focused, and sane, while doing it
  • How to test the interactions between different services

What’s in a Class?

This is not "sit back and watch slides" — all Jumpstart Lab courses are hands-on. We work with real applications and you’ll implement these tools and techniques yourself. By the end of the class, you’ll have real experience, real skills, and real code to reference.

Who’s this for?

This course is built for intermediate to experienced developers who feel comfortable with Ruby and Rails. This course is not for novice developers.

What equipment is needed?

For this session you'll need:

  • a computer with Mac OS or Linux (Windows users can setup Linux in a virtual machine)
  • Ruby 2.0 and Rails 4.0 installed

Detailed setup instructions will be sent out a week before the class takes place.

Who we are

We have the most experienced instructional team in the Ruby/JS world. Learn more about us.

  • Nick Gauthier
  • Jeff Casimir
  • Franklin Webber
  • Katrina Owen
  • Steve Klabnik
illustration-stamp

As always, this class is backed by our 110% money-back guarantee.

Learn a new skill

Jumpstart Lab offers training in fundamental, intermediate, and advanced levels of Ruby, Rails, JavaScript, jQuery, Backbone.js, ExtJS, HTML5/CSS3, and Git. Email contact@jumpstartlab.com for more information or checkout the courses page.

Logos

Schedule

This in-person class runs across five days of two sessions each.

Day 1 Day 2 Day 3 Day 4 Day 5

Introducing Services

  • Extracting Responsibilities
  • Fractal Design
  • The Proxy Approach
  • The Smart-Client Approach

Extracting Notifications

  • Writing tests to validate existing functionality
  • Inserting a shim layer to pull logic away
  • Introducing a message queue
  • Removing functionality from the primary application
  • Validating the results

Extracting Ratings

  • Writing tests to validate existing functionality
  • Inserting a shim layer to pull logic away
  • Reimplementing the logic as a Sinatra service
  • Removing functionality from the primary application
  • Validating the full-stack functionality

Implementing Authentication

  • Use Rails to implement an authentication service
  • Gather user dependencies in the primary app
  • Pull responsibilities out into a wrapper gem
  • Connect the primary app to the authentication app through the gem
  • Make share information between apps to eliminate tampering / forgery

Implementing Search

  • Create component for sending any new content into the indexer
  • Create component for running queries against the index
  • Create component for wrappings results into domain objects for the primary app
  • Validating the full-stack functionality

Contact us for a Private Course

Private / On-Site Course

This course can also be run as a dedicated course for your team, either online or on-site. Send an email to contact@jumpstartlab.com and tell us whether you're interested in online or in person, how many participants you expect, and a bit about what kind of work you're doing. We'll get right back to you with a quote and customized plan.

Instructor

Jeff Casimir is the Principal at Jumpstart Lab, has been teaching Ruby and Rails since 2005, and tells awesome jokes. He's conducted training for our largest clients, small teams, and many individuals.

Contact Us

Twitter
@jumpstartlab
Github
jumpstartlab
Email
contact@jumpstartlab.com
Phone
(202) 670-2852
Fax
(202) 280–1257
Mail
1510 Blake Street
Denver, CO 80202 U.S.A

Stay Connected

Get the scoop on upcoming classes.