Personal schedule for Walter Davis
subscribe to Walter Davis's
Smart developers have been using Ruby on Rails to rapidly build web applications for over 5 years now. Cutting-edge projects have aged into old, moldy, legacy apps. Rails 3 and Ruby 1.9 offer performance improvements and new features that are guaranteed to take the squeak out of that old wheel and grease the tracks of new development.
The Rails View layer is the Wild West. Bad mustaches, crazy fights
over simple things, and complete and utter confusion abound. When do
we use a helper or a presenter? How do we keep logic and markup
separate? What's this here new fangled boilerplate and HTML5/CSS3
"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.
Well-designed APIs can double as a great way to help make scaling easier by splitting your application in two. This talk will discuss some new libraries and techniques which aim to let you make the transition fun and manageable by splitting your application horizontally, not vertically - into services.
MVC inventor Trygve Reemskaug and James Coplien have a new vision for software, called DCI -- Data, Context, and Interaction. Although as conceptually elegant as MVC, and with the same potential to improve software, DCI's innovations are not easily implemented in Java or C#. That is not the case with Ruby, however, which puts Rails developers in a unique position to lead the way.
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.
A deep look into 2 common performance problems web developers face. We will consider these problems and then I will show solutions to these problems. From here we can generalize the solution into a pattern I call: The Worker Pattern.
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.
HBase is another "NoSQL server" with a different approach that you’ll want to understand