Rack 'em, Stack 'em Web Apps*
While Rails is the undisputed king of Ruby web frameworks, it’s not the only option. Rack is a simple, elegant HTTP library for small Ruby web applications. This makes it ideal for microservices and applications where performance is a must.
This talk covers the Rack library from top to bottom. We’ll start from the simplest possible Rack application and build up to a full RESTful HTTP API. At each step along the way we’ll see how to test the code we’ve written.
It all starts with a web request. We’ll see how the incoming call is routed to the proper code, how we can read that data and craft appropriate HTTP responses. Rack’s simple, comprehensive helpers streamline this work and let you easily build your own abstractions on top of it.
From there, we’ll examine Rack middleware, a powerful pattern for writing composable components and assembling them into an application. Rack ships with tons of middleware and more is available via Rubygems, and we’ll see how to integrate those into your application.
Throughout, we’ll dig into the tradeoffs of using Rack. You’ll leave knowing when Rack’s the right tool, and when a more full-featured framework would be a better fit.
Ruby, rack, web
I've spoken at the past couple of OS Bridges and many other conferences (http://jasonrclark.com/speaking/) I'll be giving this talk at RailsConf 2017 in April.
I fell in love with programming as a young boy watching my dad work in Clipper and dBase III (no, really). The obsession sparked there continues to this day. I work for New Relic, and in my spare time contribute to the Shoes project. When not at work, I enjoy cycling, homebrewing, and hanging out with my family.
- Title: Failing Well
- Track: Practice
- Room: B201
- Time: 2:30 – 3:15pm
It’s a fact of life—software breaks.
But all is not doom and gloom. How we detect and handle errors drastically impacts the quality of both our systems and our lives. Knowing what to track, when to page, and how to find system weaknesses is critical.
- Speakers: Jason Clark