BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//pretalx//programme.europython.eu//europython-2024//speaker//AU3L9
 P
BEGIN:VTIMEZONE
TZID:CET
BEGIN:STANDARD
DTSTART:20001029T040000
RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10
TZNAME:CET
TZOFFSETFROM:+0200
TZOFFSETTO:+0100
END:STANDARD
BEGIN:DAYLIGHT
DTSTART:20000326T030000
RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=3
TZNAME:CEST
TZOFFSETFROM:+0100
TZOFFSETTO:+0200
END:DAYLIGHT
END:VTIMEZONE
BEGIN:VEVENT
UID:pretalx-europython-2024-U7UMBE-0@programme.europython.eu
DTSTART;TZID=CET:20240708T093000
DTEND;TZID=CET:20240708T110000
DESCRIPTION:We often think about data in terms of storing the current state
  of our models. If a chess player moves a piece\, we update the state of t
 he board and persist it. This makes it easy to query the current state of 
 the game\, but also poses some challenges: How do we know which moves led 
 up to the current state? And how do we ensure that the state remains consi
 stent\, even in a distributed system?\n\n**Event Sourcing** takes a differ
 ent approach to storing state. Instead of storing the current state as-is\
 , we store the *sequence of events* that led to the current state. If we n
 eed to know the current state\, we can replay this immutable record of eve
 nts to reconstruct it. Not only does this give us an immutable audit log\,
  this also promotes loose coupling and enables optimistic concurrency.\n\n
 In this tutorial\, we are going to build an “Event Sourcing”-based bac
 kend for a simple Connect 4 game. Rather than using a framework that abstr
 acts away some of the core principles\, we are going to implement the mech
 anisms ourselves to help us understand the core principles.\n\n### Outline
 \n- Introduction to Event Sourcing and Domain-Driven Design\n- Modeling th
 e events in our game\n- Implementing our first events and our aggregate\n-
  Reconstructing state from events\n- Persisting the events\n- Beyond this 
 tutorial + Q&A\n\n### Audience & Preparation\nThis tutorial is for you if 
 you’re interested in Event Sourcing but don’t have any real experience
  with it yet. We do expect you to have at least an intermediate level in P
 ython.\n\nDo make sure to bring your laptop\, **with the following tools i
 nstalled**:\n- Python 3.12\n- Docker (free-to-use for educational purposes
 )\n- Git\n- Your favorite editor\n\nAfter you've installed everything on y
 our laptop\, clone [the repository](https://github.com/Ordina-Group/python
 -event-sourcing-tutorial) and follow the instructions in the README.md to 
 set up the project.
DTSTAMP:20260520T124134Z
LOCATION:Club H
SUMMARY:Event Sourcing From The Ground Up - Sebastiaan Zeeff\, Ravi Selker
URL:https://programme.europython.eu/europython-2024/talk/U7UMBE/
END:VEVENT
BEGIN:VEVENT
UID:pretalx-europython-2024-U7UMBE-1@programme.europython.eu
DTSTART;TZID=CET:20240708T111500
DTEND;TZID=CET:20240708T124500
DESCRIPTION:We often think about data in terms of storing the current state
  of our models. If a chess player moves a piece\, we update the state of t
 he board and persist it. This makes it easy to query the current state of 
 the game\, but also poses some challenges: How do we know which moves led 
 up to the current state? And how do we ensure that the state remains consi
 stent\, even in a distributed system?\n\n**Event Sourcing** takes a differ
 ent approach to storing state. Instead of storing the current state as-is\
 , we store the *sequence of events* that led to the current state. If we n
 eed to know the current state\, we can replay this immutable record of eve
 nts to reconstruct it. Not only does this give us an immutable audit log\,
  this also promotes loose coupling and enables optimistic concurrency.\n\n
 In this tutorial\, we are going to build an “Event Sourcing”-based bac
 kend for a simple Connect 4 game. Rather than using a framework that abstr
 acts away some of the core principles\, we are going to implement the mech
 anisms ourselves to help us understand the core principles.\n\n### Outline
 \n- Introduction to Event Sourcing and Domain-Driven Design\n- Modeling th
 e events in our game\n- Implementing our first events and our aggregate\n-
  Reconstructing state from events\n- Persisting the events\n- Beyond this 
 tutorial + Q&A\n\n### Audience & Preparation\nThis tutorial is for you if 
 you’re interested in Event Sourcing but don’t have any real experience
  with it yet. We do expect you to have at least an intermediate level in P
 ython.\n\nDo make sure to bring your laptop\, **with the following tools i
 nstalled**:\n- Python 3.12\n- Docker (free-to-use for educational purposes
 )\n- Git\n- Your favorite editor\n\nAfter you've installed everything on y
 our laptop\, clone [the repository](https://github.com/Ordina-Group/python
 -event-sourcing-tutorial) and follow the instructions in the README.md to 
 set up the project.
DTSTAMP:20260520T124134Z
LOCATION:Club H
SUMMARY:Event Sourcing From The Ground Up - Sebastiaan Zeeff\, Ravi Selker
URL:https://programme.europython.eu/europython-2024/talk/U7UMBE/
END:VEVENT
END:VCALENDAR
