Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rack Middleware as a General Purpose Abstraction #83

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open

Rack Middleware as a General Purpose Abstraction #83

wants to merge 1 commit into from

Conversation

mitchellh
Copy link

Rack Middleware as a General Purpose Abstraction

We've all seen monolithic Rails models, pages and pages of methods all dumped into one class. Inevitably, someone starts moving things around just to feel about the line count, but doesn't make any real difference to the overall structure of the code. How can we reify actions on an object and simplify our classes?

In this talk I'll speak about using the concept of "middleware" (in the way Rack uses "middleware") as a general purpose abstraction for improving the organization, testability, and maintainability of complex pieces of code. I'll talk about my first hand experience of using middleware to power Vagrant (http://vagrantup.com), and we'll use these ideas to simplify an existing application.

Mitchell Hashimoto

Mitchell Hashimoto is an operations engineer passionate about all things open source. For four years he was a web developer for a Ruby on Rails studio, and for the past year has been an operations engineer for a start-up company in San Francisco, CA. Mitchell is one of the creators and current maintainer of Vagrant, the tool for creating and distributing virtualized development environments. Vagrant is used by thousands of developers worldwide and many large companies including Tumblr, GitHub, LivingSocial, and more.

Mitchell has spoken at many conferences in the past year, including FOSDEM, RubyConf 2011, DevOpsDays in Sweden, and more.

Profile picture

@tlossen
Copy link

tlossen commented Mar 26, 2012

👍 sounds interesting!

@lesniakania
Copy link

+1

2 similar comments
@hpdev
Copy link

hpdev commented Mar 30, 2012

+1

@glenngillen
Copy link

+1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants