In this session we will first walk through the basics of event-driven architectures and high-performance network programming in Ruby using the EventMachine framework. Then we will examine three hands-on examples of how a simple proxy server, written in less than a hundred lines of code can become an indispensable tool for:
High-performance computing may not be Ruby’s strength on the surface, but there is a great number of gems and third party packages which are often overlooked when it comes to this topic. We will assume no prior knowledge of PageRank (Google’s ranking algorithm) and will walk through the basic theory and computational challenges behind it. Along the way, we will look at a hands on example of computing PageRank for a 1-million page web, and the tools behind it:
As a bonus, you’ll find that the ideas behind PageRank are surprisingly simple and powerful (no math-wiz certification required) and can be easily applied to many existing social and content networks – better recommendations, search, and discovery.
by Jason Rudolph and Larry Karnowski
You wouldn't consider developing a Rails application without having a solid test suite for your Ruby code, but you've somehow convinced yourself to cross your fingers and look the other way when it comes to JavaScript. It doesn't have to be that way. In this session, you'll learn how to apply test-driven and behavior-driven development to your unobtrusive JavaScript code in a Rails-friendly manner.
Historically, when selecting a JavaScript testing solution, you were forced to choose whether you wanted a framework that could run your tests in the browser or one that could only run your tests in a headless fashion. With the right combination of tools [1], you can enjoy the best of both worlds: fast, automation-friendly, and headless testing plus the ability to run your tests in whichever browser is acting up on any given day.
In this session, you'll learn how to give your JavaScript code the testing love it deserves. We'll tackle:
Webrat, a Ruby DSL for interacting with Web applications, helps you write expressive, maintainable acceptance tests while sidestepping the issues traditionally associated with in-browser approaches like Selenium and Watir. We'll look at how you can use Webrat to develop a robust acceptance test suite to ensure your app stays working as you refactor mercilessly.
by David Heinemeier Hansson, Jeremy Kemper, Michael Koziarski, Rick Olson and Yehuda Katz
Q&A with the core developers of Rails. Your questions; their answers.
by Ryan Tomayko, Adam Wiggins, Morten Bagai and James Lindenbaum
Back by popular request, several Heroku team members will be on hand to walk you through the latest and greatest features of the Heroku platform and answer your questions.
by Adam Wiggins
Rails 2.3 introduces a hot new feature: Rails Metal. Metal allows you to build Rack endpoints for selected URLs in your app. Optimize your high-frequency, low-complexity actions with Rails Metal and get a 2x – 3x performance boost.
Even better: you can use Sinatra, the microframework that everyone’s talking about, from Rails Metal. Capture the speed and elegance of Sinatra from within your existing Rails app!
This talk will provide a brief overview of the basics of Rack and Sinatra, so no prior knowledge of either project is required.
by James Adam
When I started talking about the idea of ‘Rails Engines’ a few years ago, everyone thought I was crazy. Some people said it was stupid, or just plain evil. Despite that, the ability to write simple yet powerful plugins is baked into the core of Rails 2.3.
But heed the words of Uncle Ben: “With great power, comes great responsibility!”
In this session, we’ll discuss how to best take advantage of ‘engines’, in which situations engine plugins are appropriate and those where they aren’t, and how to avoid some of the common issues that can arrive when developing with engine-style plugins.
When we’re done, you’ll be in the best position to take advantage of this newly-sanctified functionality in your own projects.
by Marc-André Cournoyer, Christian Neukirchen, Blake Mizerany, Ryan Tomayko, Adam Wiggins and James Lindenbaum
The way we deploy ruby apps is changing. It’s getting better, faster, and smoother. This is happening because all the different pieces of the stack, including the underlying hosting platform, have started to fit together well.