Personal schedule for CJ Gregory
subscribe to CJ Gregory'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.
Although Rails contains many web framework best practices, there are still plenty of ways to create horrible code. Fortunately, as the community has matured many new techniques have been discovered which can help keep Rails apps maintainable. In this 5 part lab we will walk through the most common of these best practices and get some hands on experience refactoring Rails.
"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.
Relational databases have been around for decades, and there's a vast amount of untapped power sitting right at our fingertips. The problem is that messing with SQL can be difficult and confusing. This talk, make up of 6 discrete chapters, shows how you can use a little dash of database in your app to make working in Rails easier and faster.
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!
Nobody likes when their code smells. To help avoid it, dozens of special tools and approaches have been designed. Efficient coding tools, refactorings, code metrics, code analysis, code testing and debugging are all crucial for creating quality, maintainable code.
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.
Learn the ins and outs of deploying Rails (and other) web apps with Bundler, from a core team member. This session will cover deploying by hand, with Capistrano and Vlad, as well as running bundled apps in Mongrel, Unicorn, and Passenger, deploying to firewalled servers, and more.
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.
Developers are stereotypically bad at web page design. But armed with a fresh eye for design, and a little knowledge about css, we can shatter that image. Attendees will learn a few recipes to create pleasing page design - including making sexy submit buttons, styling form elements, choosing and modifying typefaces, and styling Rails form errors.