~/talk

Composable event sourcing with monads

Talkat Scala.IO 2017 · 2017-11-02..11-03· [microservices]
links:none on file
links:none on file
slides:none on file

Claims a Sourced monad lifts commands into composable creation/update values so event sourcing becomes a persistence detail, reifying intermediate events and accumulating them automatically. Uses Scala, Cats/Scalaz style monad transformers and the writer monad idea, demonstrates optimistic concurrency via optimistic locking, and shows a small reference implementation and examples (not a production library) that the authors use on major projection systems.

AI-written summary · about

  1. 0:00Introduction
  2. 1:19Agenda
  3. 1:58What is even sourcing
  4. 4:19Building blocks for even sourcing
  5. 9:55Persistence
  6. 11:18Model
  7. 11:36composability
  8. 12:26why compose commands
  9. 13:49basic atomic events
  10. 14:34real life example
  11. 15:58omit multiple events
  12. 17:03atomic multiple events
  13. 18:22Limitations
  14. 19:03Three problems
  15. 19:57Using helper methods
  16. 24:50Creation vs updates
  17. 28:36New syntax
  18. 29:50Conditional commands
  19. 31:06Concatenate modification
  20. 32:16Concurrency
~/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.