~/talk

From Post.create to PostPublished.new

Talkat RubyC 2018 · 2018-06-02..06-03· [ruby, software-architecture]
links:none on file
slides:none on file

Maps eight Rails evolution phases and shows concrete migrations: swapping fat controllers for service objects, then repository with 40+ methods, then DDD with aggregates that publish events to streams. Describes building ruby_event_store and rails_event_store gems, using read models per UI box, process managers (sagas) for expirations, and distributed_receive for multiple DBs. Claims the gems plug into legacy apps, power new apps from start, and report successful adoption across several projects.

AI-written summary · about

  1. 0:00Introduction and speaker background
  2. 2:48Ruby on Rails origins and DHH's influence
  3. 6:48Early Rails patterns: fat controllers
  4. 7:31Rails Way: fat models and concerns
  5. 8:13Service objects era in Rails
  6. 9:21Repository pattern and its challenges
  7. 11:05Domain-driven design and aggregates
  8. 13:59Limitations of domain objects in Rails
  9. 15:46Introduction to event sourcing
  10. 17:50CQRS: separating reads and writes
  11. 20:43Rich models and event-driven design
  12. 23:29Aggregate design with Rails Event Store
  13. 27:24Process managers for business logic
  14. 29:16Functional approach to event sourcing
  15. 30:18Rails Event Store goals and impact
  16. 32:07Q&A: read model consistency across databases
  17. 34:02Q&A: Rails Event Store framework agnosticism
  18. 35:27Q&A: read models without event store
  19. 36:54Q&A: DCI pattern discussion
  20. 37:56Q&A: DDD and over-engineering in Ruby
  21. 40:33Q&A: testing aggregates
~/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.