Personal schedule for Joe Alba
subscribe to Joe Alba's
Contributing to open source is great for your career. In a few short hours, you can learn, teach, promote your skills, and improve the quality of the community. In this unique workshop, we will show you how, by doing it.
"Fat Models, Skinny Controllers" they scream. Pushing your logic down
to the model layer is a key step to improve testability,
maintainability, and code quality. But many developers now have "junk
drawer" models that don't realize these goals. Having a fat model
isn't enough! Come learn techniques to refactor your models and make them beautiful.
We all use ActiveSupport 3 every day. Many of us don't take the time to dig down into some of the more interesting parts. This talk will explore the history of ActiveSupport and demonstrate areas most aren't familiar with.
It's not what you code, it's how you code it. In this talk, I'll take you through real world examples of code drawn from the 40+ production Rails applications we have developed and maintained during the last 12 months and highlight anti patterns and examples of technical code debt in them. You do what you can do to avoid these, making your future lives simpler. Your future you will thank you...
Are your methods timid? Do they constantly second-guess themselves, checking for nil values, errors, and unexpected input? Learn how to write code in a straightforward, confident style that is more testable, easier to read, and easier to debug.
After spending the last few years developing and deploying Rails applications we're ready to unload all the tips and tricks we've learned. But each nugget of experience will be ruthlessly culled to fit in two minutes. You'll get the whole seat but you'll only need the edge!
Location: Ballroom I - II
We'll be handing out several trophies to people we believe to be Ruby Heroes, and giving them the round of applause they deserve and might not get otherwise.
Let's face it. CSS is dumb. There is no such thing as a DRY CSS file and stylesheets are often the biggest blemish in an otherwise beautifully coded app. Sass is the future of stylesheets. Rails 3.1 includes it by default and the W3C is adding concepts from Sass to CSS itself.
Is your search box still a plain old text field? If so, you're way behind the times. This session will give you the tools to supercharge your search box, making it easier for your users to interact with your site. From outlining the basics behind autocomplete, to more sophisticated autosuggest techniques, all the way to super-search boxes like those of Facebook and Quora.
Everybody wants to do test-driven development, but switching to TDD or BDD on an existing project that doesn’t have tests presents special challenges. This session will show you how to work around dependencies that make testing legacy code so complicated. Topics include using Cucumber for black-box testing, using mock objects to limit dependencies, and using Ruby dynamism to cut through problems.
Drawing from the authors' own experiences, methods and guidelines will be presented for exposing and sharing services within and between large Rails-based systems.
Calling all RailsConf attendees: do you have something awesome to share with the Rails community? Can you tell us in 5 minutes what it is and why it's awesome? If so then sign up for the RailsConf Lighting Talks.
Given the many features of Rails that promote good security, one gets
the impression that your typical Rails web site is relatively secure.
That impression is completely misleading. Without paying deliberate
attention to security details, it is almost certain that your
application has security flaws. This talk will cover the ins and outs
of web security and help you build a secure site.
This talk is a discussion of those tough decisions that Rails developers (new and old) face each day. What test framework should I use (and why should I care)? Does my templating system really make it harder for my designer to work? Is Bundler really essential? Two veteran Rails developers will discuss the benefits and tradeoffs (and share their own toolkit choices).