~/talk

Rack Middleware as a General Purpose Abstraction

Talkat MountainWest RubyConf 2012 · 2012-03-15..03-16· [ruby, web-platform]
slides:none on file

Argues that Rack-style middleware is a general abstraction that replaces sprawling classes and fragile mixins, demonstrated by Vagrant where commands compose as a Builder of 22 middleware components passing a shared state bag; each middleware has an initialize and call, is trivial to unit test, and shows clear ordering and reuse (suspend reuses top middlewares from up). Also describes an inserted Warden error recovery layer that handles exceptions and signals so middleware unwinds cleanly — used in production Vagrant and reduces complexity while remaining performant enough.

AI-written summary · about

  1. 0:00Start
  2. 2:16Problems
  3. 2:48Unclear dependencies
  4. 3:17Difficult to Test
  5. 3:56Mixin all the things!
  6. 9:53Function Composition Applied to Large Classes?
  7. 10:38Python Web Server Gateway Interface v1.0
  8. 10:55Request Processing
  9. 13:38Explicit Ordering
  10. 14:03Visible Dependencies
  11. 14:57Easily Tested
  12. 15:55Extensible: Subclass!
  13. 16:12Virtual Machine Lifecycle
  14. 19:46Scared?
  15. 24:14Reuse
  16. 24:55Serial Invocations
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.