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 4 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
  • Stream content to clients in real-time
  • Write automated tests to ensure quality code
  • Work as an effective team member on a project
  • 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.
      • 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.
      • 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.
      • Consuming APIs in Sinatra
      • Interact with other web applications through Ruby libraries (gems) when available and by writing your own interface when necessary.
      • Data Modeling
      • Model data and relationships between different pieces of application domain.
      • 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.
      • Turbolinks
      • New to Rails 4. Understand how Turbolinks can improve page load times and the potential pitfalls it creates.
      • 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.
      • Working on a Team
      • How to effectively use Git, document your code and project, and help other developers get the application running faster.

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

For best results, students should have some basic knowledge of web sites, and basic programming principles like if/else, objects, methods, and data.

How to prepare your device for our class

Ruby version 2.0.0 or above:

  • We recommend installing Ruby with ruby-install and chruby on OS X (available via Homebrew)

  • On Windows, we recommend using RubyInstaller.

    • We recommend that Windows users install and familiarize themselves with Cygwin
    • After Ruby is installed, open a terminal window and run 'gem install rails'

PostgreSQL:

  • If you’re using OS X, you can install Postgres.app. Pay close attention to the Command-Line Tools section of the documentation.

  • On Windows, you can download an installer here.

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, Georgia