Ruby on the Server

Ruby on the Server is an intensive 5-day training course specifically designed for developers, web designers, and project managers interested in creating web-based, database-backed applications. You will learn how to create Rack middleware, Sinatra applications and complete Ruby on Rails applications.

What You'll Learn

  • Create Rack middleware
  • Create a simple web application using Sinatra
  • Understand RESTful web service principles
  • Model application domain concepts using an object relational mapper
  • Consume third party APIs
  • Debug application failures using error pages, logging, and interactive consoles
  • Manage database schemas using migrations
  • Expose modeled domain concepts as resources
  • Expose various representations of resources (JSON, XML)
  • Authenticate users of a web service
  • Use the Asset Pipeline to produce static assets from Sass and CoffeeScript
  • Create rich, interactive interfaces using ajax
  • Send email from a web application
  • Write automated tests to ensure quality code
  • Recognize common web application vulnerabilities and apply security best practices
  • Implement web interfaces for create, read, update, and delete operations of resources
  • Syllabus

    Section

    Content

      • Introduction
      • Introduction to Ruby web applications, the instructor and the course.
      • Rack
      • A look at the simplest ruby web application, fundamental to Sinatra and Ruby on Rails, and the anatomy of an HTTP request.
      • Sinatra Resources
      • Create a Sinatra application to practice RESTful thinking.
      • Dependency Management
      • Use Bundler to manage an application’s dependencies.
      • Consuming APIs in Sinatra
      • Interact with other web applications through Ruby libraries (gems) when available and by writing your own interface when necessary.
      • Debugging
      • Familiarize yourself with errors to better understand their cause. Use a debugger to investigate.
      • Create, Read, Update and Delete in Rails
      • Create your first Ruby on Rails application and learn how to CRUD records.
      • Data Lifecycle
      • Use validations and callbacks to improve data integrity.
      • Migrations
      • How to use migrations to perform database operations.
      • Data Modeling
      • Model data and relationships between different pieces of application domain.
      • Controllers
      • The role of controllers in a Model-View-Controller framework.
      • Forms
      • Using Ruby on Rails view helpers to create forms.
      • Authentication
      • Create a secure site that requires users to authenticate before being granted access.
      • Security
      • Familiarize yourself with common security risks a web application faces along with techniques to deal with them.
      • View Helpers
      • Creating view helper methods and applying the decorator pattern to your models in order to reduce logic in view templates.
      • Assets
      • Managing javascript, css and image assets using the Asset Pipeline.
      • Representations
      • Extending a Ruby on Rails application to represent data using multiple formats (e.g. HTML, JSON, XML).
      • AJAX
      • Create a more interactive user experience by leveraging asynchronous requests.
      • Model View Controller
      • Consider how the design of Ruby on Rails applications makes for well organized and easy to understand applications.
      • Continuous Integration
      • Use a continuous integration service to ensure your test suite is always passing and give you confidence when merging pull requests.
      • Sending E-mail
      • Send email from your application.
      • Testing
      • Test drive a new application feature using RSpec, Turnip, and Capybara. Distinguish unit tests from acceptance tests.

Our Nerds, Your Place

No matter where you are, our instructors can come to you. Need to take your team to the next level?

Learn More

Requirements

To maximize success, students should know basic programming principles like flow control, objects, methods, and data structures. Beginner programmers may find this class too difficult.

How to prepare your device for our class

Before class, please work through the Introduction of our Ruby on the Server book to install the required software.

Preparing in advance will save lots of class time!

Advice from the nerds

For students looking for some pre-reading, try Learn Ruby the Hard Way. It’s a short, fun approach to Ruby and might be helpful for those new to Ruby. For pre-class exercises, "the Ruby Koans" are great for learning and practicing Ruby. If someone works through them they will certainly be in a very good place for this course.

Upcoming Classes

Big Nerd Ranch Callaway