~/talk

Nitty Gritty Service Building

slides:none on file

Step-by-step method to rip a service out of a Rails monolith: pick a single responsibility, add active model serializers to control JSON, build client models (or a parsing gem like sanjay), wrap a HTTP layer and use typhus for parallel requests, and write tests as the service contract. Profiling with perf tools and stack prof exposes real bottlenecks (calculator.coupons hits ~21.5% of time), webric causes single-request deadlocks, and database split/sync remains unsolved.

AI-written summary · about

  1. 0:00Intro
  2. 0:50Service Oriented Architecture
  3. 1:15Unassociated
  4. 1:28Singularly Focused Application
  5. 1:41Benefits
  6. 6:02Dog Food Client
  7. 6:42Let's Get Started
  8. 7:15Services should do ONE thing well
  9. 8:03What are the endpoints of your service?
  10. 8:58Build Controllers
  11. 9:11Determine Request Options
  12. 9:53Multiple Objects Per Request?
  13. 11:07Active Model ::Serializers
  14. 12:32Contract Your Service Fulfills
  15. 13:11Don't Use Plain Responses
  16. 14:16WARNING: Evil Magic
  17. 15:54Write Tests
  18. 18:33Concurrent Requests
  19. 19:40BONUS STEP!
  20. 20:07Replace DB Calls With Service Calls
  21. 20:45CAUTION: Multi-Request Server Needed
  22. 21:13WEBrick Wall
  23. 26:53Extract From Original Codebase
~/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.