SlideShare a Scribd company logo
Event Sourcing
THE BEST, UBIQUITOUS PATTERN
YOU’VE NEVER HEARD OF
@blimpyacht
5
User: A
Balance:
427
User: B
Balance:
550
User: A
Balance:
427
User: B
Balance:
550
User: A
Balance:
427
User: B
Balance:
550
+5-5
Event Sourcing
State
+4
-2
+5
+7
-4
+9
-3
-6
+2
+1
+1
-5 t(12) = 9
Event Sourcing
+4
-2
+5
+7
-4
+9
-3
-6
+2
+1
+1
-5
t(5) = 10
Event Sourcing
+4
-2
+5
+7
-4
+9
-3
-6
+2
+1
+1
-5
t(9) = 12
Event Sourcing
+4
-2
+5
+7
-4
+9
-3
-6
+2
+1
+1
-5
Event Sourcing
a = f ’(x)
+4
-2
+5
+7
-4
+9
-3
-6
+2
+1
+1
-5
Event Sourcing
+5
-4
+5
Res Gestae Divi Augusti
2ndaryPrimary
2ndaryPrimary
2ndaryPrimary
+4
-2
+5
+7
-4
+9
-3
-6
+2
+1
+1
-5
Event Sourcing
+4
-2
+5
+7
-4
+9
-3
-6
+2
+1
+1
-5
t(4) = 14
Event Sourcing
t(8) = 10
t(12) = 9
+4
-2
+5
+7
-4
+9
-3
-6
+2
+1
+1
-5
t(4) = 14
Event Sourcing
t(8) = 10
t(12) = 9
t’(4) = -2
t’(8) = -17
t’(12) = -22
{
_id: {
ts: 1213084687000,
taxi: "abboip"
},
loc: {
geometry: [
-122.39488,
37.75134
]
},
fare: 0,
ts: ISODate("2008-06-10T07:58:07Z")
}
{
_id: ObjectId("56a4215a46778b69e08ff8ff"),
taxi: "abboip",
start: ISODate("2008-05-17T14:51:10Z"),
route: {
type: "LineString",
coordinates: [
[ -122.39724, 37.74977 ],
[ -122.40619, 37.74896 ],
[ -122.41335, 37.74831 ],
[ -122.414, 37.75157 ],
[ -122.41438, 37.75552 ]
]
},
end: ISODate("2008-05-17T14:55:58Z")
}
Data Modeling Domain Events
Domain Objects
Accounts
Payable
Accounts
Payable
Accounts
Receivable
Accounts
Payable
Accounts
Receivable
Journal
Accounts
Payable
Accounts
Receivable
Journal
Ledger
Command Query
Responsibility
Segregation
CQRS
CRUD vs. CQRS
CRUD
CRUD vs. CQRS
WRITE
READ
CRUD vs. CQRS
CRUD equals CQRS
WRITE
READ
READ
CRUD vs. CQRS
WRITE
READ
Variant Read Models: VIEWS
READ
READ
READ
READ
WRITE
READ
Primary
READ
CRUD vs. CQRS
CRUD vs. CQRS
WRITE
READ
READ
Primary
2ndary
2ndary
Where it Gets Tricky
CRUD vs. CQRS
WRITE
READ
READ
Primary
2ndary
2ndary
CRUD vs. CQRS
WRITE
READ
READ
Primary
2ndary
2ndary
Consistent Replay
+4
-2
+5
+7
-4
+9
-3
-6
+2
+1
+1
-5
t(5) = 10 Exchange Rate
Server
10 / 0.88 = 8.82€
Consistent Replay
+4
-2
+5
+7
-4
+9
-3
-6
+2
+1
+1
-5
t(5) = 10 Exchange Rate
Server
10 / 0.87 = 8.70€
+4
-2
+5
+7
-4
+9
-3
-6
+2
+1
+1
-5
0.88
Exchange Rate
Server
Consistent Replay
Where it Gets Trickier Still
External Updates
+4
-2
+5
+7
-4
+9
-3
-6
+2
+1
+1
-5
Notification
Subscriber
External Updates
+4
-2
+5
+7
-4
+9
-3
-6
+2
+1
+1
-5
Notification
Subscriber
Gaining Insight
Event Sourcing + CQRS
Event Sourcing + CQRS
Event Sourcing + CQRS
Event Sourcing + CQRS
Event Sourcing + CQRS

More Related Content

Viewers also liked

Herramientas de gestión de la influencia y la reputación on lune
Herramientas de gestión de la influencia y la reputación on luneHerramientas de gestión de la influencia y la reputación on lune
Herramientas de gestión de la influencia y la reputación on lune
Consultores Quantumleap & Partners (CQLP)
 
cross company code settlement.pdf
cross company code settlement.pdfcross company code settlement.pdf
cross company code settlement.pdf
puppala
 
Ilgiornaledinapoli
IlgiornaledinapoliIlgiornaledinapoli
Ilgiornaledinapoli
mimmoannunziata
 
Aprendiendo A Hacer Presentaciones
Aprendiendo A Hacer PresentacionesAprendiendo A Hacer Presentaciones
Aprendiendo A Hacer Presentaciones
iespare09
 
Tagli pubblico impiego proteste lavoratori
Tagli pubblico  impiego proteste lavoratoriTagli pubblico  impiego proteste lavoratori
Tagli pubblico impiego proteste lavoratoriredazione gioianet
 
NYC utility cuts power to more households in Sandy's aftermath
NYC utility cuts power to more households in Sandy's aftermathNYC utility cuts power to more households in Sandy's aftermath
NYC utility cuts power to more households in Sandy's aftermath
frantcaldwell
 
Jessenia resume pdf
Jessenia resume  pdfJessenia resume  pdf
Jessenia resume pdf
Jessenia Garcia
 
Maximum Double Suites
Maximum Double SuitesMaximum Double Suites
Maximum Double Suites
SuporteaoCorretor
 
Configuracion 1°e
Configuracion 1°e Configuracion 1°e
Configuracion 1°e
ferjkl
 
Kelompok Penanggulangan Darurat Bencana Berbasis pada Masyarakat
Kelompok Penanggulangan Darurat Bencana Berbasis pada MasyarakatKelompok Penanggulangan Darurat Bencana Berbasis pada Masyarakat
Kelompok Penanggulangan Darurat Bencana Berbasis pada Masyarakat
Mutia Rizqa Ofir
 
Estadística y diabetes. Tarea.
Estadística y diabetes. Tarea.Estadística y diabetes. Tarea.
Estadística y diabetes. Tarea.
Mariana Gómez
 
Επαναληπτική δοκιμασία, Α τάξη: Το κοχύλι
Επαναληπτική δοκιμασία, Α τάξη: Το κοχύλιΕπαναληπτική δοκιμασία, Α τάξη: Το κοχύλι
Επαναληπτική δοκιμασία, Α τάξη: Το κοχύλι
Σπύρος Κυριαζίδης
 
Transporte de hacienda, ferias ganaderas y Bienestar Animal
Transporte de hacienda,  ferias ganaderas y Bienestar AnimalTransporte de hacienda,  ferias ganaderas y Bienestar Animal
Transporte de hacienda, ferias ganaderas y Bienestar Animal
Leopoldo Estol
 
Organigrama actualizado
Organigrama actualizadoOrganigrama actualizado
Organigrama actualizado
ComunicacionesPDB
 
Présentation arabe
Présentation arabe Présentation arabe
Présentation arabe
Hamza Soldi
 
Insulinoterapia
InsulinoterapiaInsulinoterapia
Insulinoterapia
Alonso Custodio
 
Diabetes Mellitus tipo 2
Diabetes Mellitus tipo 2Diabetes Mellitus tipo 2
Diabetes Mellitus tipo 2
Alonso Custodio
 

Viewers also liked (18)

Herramientas de gestión de la influencia y la reputación on lune
Herramientas de gestión de la influencia y la reputación on luneHerramientas de gestión de la influencia y la reputación on lune
Herramientas de gestión de la influencia y la reputación on lune
 
cross company code settlement.pdf
cross company code settlement.pdfcross company code settlement.pdf
cross company code settlement.pdf
 
Ilgiornaledinapoli
IlgiornaledinapoliIlgiornaledinapoli
Ilgiornaledinapoli
 
Aprendiendo A Hacer Presentaciones
Aprendiendo A Hacer PresentacionesAprendiendo A Hacer Presentaciones
Aprendiendo A Hacer Presentaciones
 
Tagli pubblico impiego proteste lavoratori
Tagli pubblico  impiego proteste lavoratoriTagli pubblico  impiego proteste lavoratori
Tagli pubblico impiego proteste lavoratori
 
NYC utility cuts power to more households in Sandy's aftermath
NYC utility cuts power to more households in Sandy's aftermathNYC utility cuts power to more households in Sandy's aftermath
NYC utility cuts power to more households in Sandy's aftermath
 
Jessenia resume pdf
Jessenia resume  pdfJessenia resume  pdf
Jessenia resume pdf
 
Maximum Double Suites
Maximum Double SuitesMaximum Double Suites
Maximum Double Suites
 
Configuracion 1°e
Configuracion 1°e Configuracion 1°e
Configuracion 1°e
 
High School Reference
High School ReferenceHigh School Reference
High School Reference
 
Kelompok Penanggulangan Darurat Bencana Berbasis pada Masyarakat
Kelompok Penanggulangan Darurat Bencana Berbasis pada MasyarakatKelompok Penanggulangan Darurat Bencana Berbasis pada Masyarakat
Kelompok Penanggulangan Darurat Bencana Berbasis pada Masyarakat
 
Estadística y diabetes. Tarea.
Estadística y diabetes. Tarea.Estadística y diabetes. Tarea.
Estadística y diabetes. Tarea.
 
Επαναληπτική δοκιμασία, Α τάξη: Το κοχύλι
Επαναληπτική δοκιμασία, Α τάξη: Το κοχύλιΕπαναληπτική δοκιμασία, Α τάξη: Το κοχύλι
Επαναληπτική δοκιμασία, Α τάξη: Το κοχύλι
 
Transporte de hacienda, ferias ganaderas y Bienestar Animal
Transporte de hacienda,  ferias ganaderas y Bienestar AnimalTransporte de hacienda,  ferias ganaderas y Bienestar Animal
Transporte de hacienda, ferias ganaderas y Bienestar Animal
 
Organigrama actualizado
Organigrama actualizadoOrganigrama actualizado
Organigrama actualizado
 
Présentation arabe
Présentation arabe Présentation arabe
Présentation arabe
 
Insulinoterapia
InsulinoterapiaInsulinoterapia
Insulinoterapia
 
Diabetes Mellitus tipo 2
Diabetes Mellitus tipo 2Diabetes Mellitus tipo 2
Diabetes Mellitus tipo 2
 

Similar to Event Sourcing + CQRS

Event sourcing
Event sourcingEvent sourcing
Event sourcing
Bryan Reinero
 
Big Data Day LA 2015 - Event Sourcing: The Best Ubiquitous Pattern You've Nev...
Big Data Day LA 2015 - Event Sourcing: The Best Ubiquitous Pattern You've Nev...Big Data Day LA 2015 - Event Sourcing: The Best Ubiquitous Pattern You've Nev...
Big Data Day LA 2015 - Event Sourcing: The Best Ubiquitous Pattern You've Nev...
Data Con LA
 
Grade 5 adding fractions mixed numbers
Grade 5 adding fractions mixed numbersGrade 5 adding fractions mixed numbers
Grade 5 adding fractions mixed numbers
Essa Kathleen Yanson
 
math worsheet
math worsheetmath worsheet
math worsheet
Zoe Hope
 
01 primeras-sumas-abn
01 primeras-sumas-abn01 primeras-sumas-abn
01 primeras-sumas-abn
Lupita Lanz
 
Math 5
Math 5 Math 5
Number facts 1 10
Number facts 1   10Number facts 1   10
Number facts 1 10
sharmapruthviraj
 
Math worksheet4
Math worksheet4Math worksheet4
Math worksheet4
Ric Dagdagan
 
The Properties of Mathematics
The Properties of MathematicsThe Properties of Mathematics
The Properties of Mathematics
arinedge
 
1 8 Properties
1 8 Properties1 8 Properties
1 8 Properties
Kathy Favazza
 
2 mates
2 mates2 mates
2 mates
Luz Milagro
 
Introduction to machine learning algorithms
Introduction to machine learning algorithmsIntroduction to machine learning algorithms
Introduction to machine learning algorithms
bigdata trunk
 

Similar to Event Sourcing + CQRS (12)

Event sourcing
Event sourcingEvent sourcing
Event sourcing
 
Big Data Day LA 2015 - Event Sourcing: The Best Ubiquitous Pattern You've Nev...
Big Data Day LA 2015 - Event Sourcing: The Best Ubiquitous Pattern You've Nev...Big Data Day LA 2015 - Event Sourcing: The Best Ubiquitous Pattern You've Nev...
Big Data Day LA 2015 - Event Sourcing: The Best Ubiquitous Pattern You've Nev...
 
Grade 5 adding fractions mixed numbers
Grade 5 adding fractions mixed numbersGrade 5 adding fractions mixed numbers
Grade 5 adding fractions mixed numbers
 
math worsheet
math worsheetmath worsheet
math worsheet
 
01 primeras-sumas-abn
01 primeras-sumas-abn01 primeras-sumas-abn
01 primeras-sumas-abn
 
Math 5
Math 5 Math 5
Math 5
 
Number facts 1 10
Number facts 1   10Number facts 1   10
Number facts 1 10
 
Math worksheet4
Math worksheet4Math worksheet4
Math worksheet4
 
The Properties of Mathematics
The Properties of MathematicsThe Properties of Mathematics
The Properties of Mathematics
 
1 8 Properties
1 8 Properties1 8 Properties
1 8 Properties
 
2 mates
2 mates2 mates
2 mates
 
Introduction to machine learning algorithms
Introduction to machine learning algorithmsIntroduction to machine learning algorithms
Introduction to machine learning algorithms
 

Recently uploaded

Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
Neo4j
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
Edge AI and Vision Alliance
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
tolgahangng
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
Daiki Mogmet Ito
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
KAMESHS29
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
innovationoecd
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
panagenda
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Malak Abu Hammad
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
Kumud Singh
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
Claudio Di Ciccio
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
DianaGray10
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
Pixlogix Infotech
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
Zilliz
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
名前 です男
 

Recently uploaded (20)

Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
 

Event Sourcing + CQRS