SlideShare a Scribd company logo
This slide intentionally left blank.
This slide intentionally left blank.
ORIENTED
ARCHITECTURE
DATA
@pithyless
OPINIONS
ǡ
ǡ
Dž
ǽǡ
Dž
ȓ
ǽǡ
Dž
ȓ
ǽǡ
Dž
“PRODUCT”
INFORMATION
SYSTEMS
INFORMATION
SYSTEMS
TECHNICAL
DEBT
OBJECT-ORIENTED
PROGRAMMING
FUNCTIONAL
PROGRAMMING
PREACHEDTO
COLLEAGUES
PREACHEDTO
ANDFAILED.
COLLEAGUES
SOAMVC
DRYTDD
SNAKE
OIL
ENCAPSULATION
MVC
MVC
SOA
MVC
SOA
MVCMVCMVC
MVC
SOA
MVC
MVC
MVC
DUPLICATION
SOURCE
OFTRUTH
RELIABILITY
CONFIDENCE
TYPES/SCHEMAS
ASSERTIONS
PROPERTYTESTING
JUST
TOOLS
NOTRELIGION
DATA
DATA
QUEUES
DATA
QUEUES
DATA
QUEUES
PROJECTS
FAIL
1. Not understanding
the domain.
1. Not understanding
the domain.
2. Not modeling
the domain.
1. Not understanding
the domain.
2. Not modeling
the domain.
3. Breaking #1 or #2,
and failing to adapt.
SOUL-SEARCHING
1. model essence
of things
1. model essence
of things
2. don’t violate
physics
/.
1.DATA
2.FLOW
3.????
4.PROFIT!!!
1.DATA
immutable
immutability
changeseverything
realworld
isimmutable
realworld
isimmutable
semantic
recursive
#scalar
string
boolean
number
#identity
symbol
keyword
#collection
list map
vector
set
#custom
#uuid
“de305d54-…”
#inst
“2016-02-18…”
2.FLOW
f(A)=B
A
f
B
f(A)=B
3.???
FACTS ➟LOG
QUESTIONS
ANSWERS
➟
FACTS
Youmustbeshapeless,formless,likewater.
Watercandripanditcancrash.
FLATDATA
WATER
[eavt]
[eavt]
entity
[eavt]
entity attribute
[eavt]
entity attribute
value
[eavt]
entity attribute
value time
[eavt]
entity attribute
value time
[eavt?]
add / retract?
[1 :name “Bob”]
[1 :name “Bob” 100]
[1 :name “Bob” 100 true]
[1 :name “Bob” 100 true]
[1 :likes “Cats” 100 true]
[1 :name “Bob” 100 true]
[1 :likes “Cats” 100 true]
…
[1 :likes “Dogs” 111 true]
[1 :name “Bob” 100 true]
[1 :likes “Cats” 100 true]
…
[1 :likes “Dogs” 111 true]
Bob likes?
[1 :name “Bob” 100 true]
[1 :likes “Cats” 100 true]
…
[1 :likes “Dogs” 111 true]
105 - Cats
[1 :name “Bob” 100 true]
[1 :likes “Cats” 100 true]
…
[1 :likes “Dogs” 111 true]
111 - Cats, Dogs
[1 :name “Bob” 100 true]
[1 :likes “Cats” 100 true]
…
[1 :likes “Cats” 111 false]
[1 :likes “Dogs” 111 true]
111 - Dogs
[1 :likes 2]
[1 :name “Bob” 100 true]
[2 :name “Mary” 100 true]
[1 :name “Bob” 100 true]
[2 :name “Mary” 100 true]
…
[1 :likes 2 111 true]
[1 :name “Bob” 100 true]
[2 :name “Mary” 100 true]
…
[1 :likes 2 111 true]
…
[2 :likes 1 222 true]
[1 :likes 2]
[1 :likes [:name “Mary”]]
[eavt]
LOG
APPEND
ONLY
TOTAL
ORDER
BUSINESSDATA
SOURCECODE
Q&A
Log Q
Log
QDB
QDB
QDB
QUERIES!
DOYOU
SQLBRO?
AUDITING
LOG
#index#index
RELATIONAL
(ROW)
[eavt]
#index#index
[:find ?name ?age
:in $db ?id
:where
[?id :actor/name ?name]
[?id :actor/age ?age]]
[:find ?name ?age
:in $db ?id
:where
[?id :actor/name ?name]
[?id :actor/age ?age]]
[:find ?name ?age
:in $db ?id
:where
[?id :actor/name ?name]
[?id :actor/age ?age]]
[:find ?name ?age
:in $db ?id
:where
[?id :actor/name ?name]
[?id :actor/age ?age]]
[:find ?name ?age
:in $db ?id
:where
[?id :actor/name ?name]
[?id :actor/age ?age]]
RELATIONAL
(COLUMN)
[aevt]
#index#index
[:find (avg ?age)
:in $db
:where
[_ :actor/age ?age]]
[:find (avg ?age)
:in $db
:where
[_ :actor/age ?age]]
[:find (avg ?age)
:in $db
:where
[_ :actor/age ?age]]
[:find (avg ?age)
:in $db
:where
[_ :actor/age ?age]]
GRAPH
[avet]
#index
[:find ?title
:in $db ?first ?second
:where
[?a1 :actor/name ?first]
[?a2 :actor/name ?second]
[?a1 :actor/movies ?m]
[?a2 :actor/movies ?m]
[?m :movie/title ?title]]
[:find ?title
:in $db ?first ?second
:where
[?a1 :actor/name ?first]
[?a2 :actor/name ?second]
[?a1 :actor/movies ?m]
[?a2 :actor/movies ?m]
[?m :movie/title ?title]]
[:find ?title
:in $db ?first ?second
:where
[?a1 :actor/name ?first]
[?a2 :actor/name ?second]
[?a1 :actor/movies ?m]
[?a2 :actor/movies ?m]
[?m :movie/title ?title]]
[:find ?title
:in $db ?first ?second
:where
[?a1 :actor/name ?first]
[?a2 :actor/name ?second]
[?a1 :actor/movies ?m]
[?a2 :actor/movies ?m]
[?m :movie/title ?title]]
[:find ?title
:in $db ?first ?second
:where
[?a1 :actor/name ?first]
[?a2 :actor/name ?second]
[?a1 :actor/movies ?m]
[?a2 :actor/movies ?m]
[?m :movie/title ?title]]
[:find ?title
:in $db ?first ?second
:where
[?a1 :actor/name ?first]
[?a2 :actor/name ?second]
[?a1 :actor/movies ?m]
[?a2 :actor/movies ?m]
[?m :movie/title ?title]]
[:find ?title
:in $db ?first ?second
:where
[?a1 :actor/name ?first]
[?a2 :actor/name ?second]
[?a1 :actor/movies ?m]
[?a2 :actor/movies ?m]
[?m :movie/title ?title]]
SEARCH
inverted
#index#index
[:find ?m ?title ?score
:in $db ?query
:where
[(fulltext $db
:movie/title ?query)
[[?m ?title _ ?score]]]]
[:find ?m ?title ?score
:in $db ?query
:where
[(fulltext $db
:movie/title ?query)
[[?m ?title _ ?score]]]]
[:find ?m ?title ?score
:in $db ?query
:where
[(fulltext $db
:movie/title ?query)
[[?m ?title _ ?score]]]]
[:find ?m ?title ?score
:in $db ?query
:where
[(fulltext $db
:movie/title ?query)
[[?m ?title _ ?score]]]]
[:find ?m ?title ?score
:in $db ?query
:where
[(fulltext $db
:movie/title ?query)
[[?m ?title _ ?score]]]]
[eavt]
4.PROFIT!
REALWORLD
STREAM
TREEMESH
STREAM
TREE
MESH
MESH
MESH
MESH
MESH
MESH
MESH
MESH
MESH
STREAM
TREEMESH
ROI
THEORY
APPLIED
QUEUES
LearnDatalogToday.org
SIMULATION/
PROPERTY
TESTING
LAMBDAARCHITECTURE
@martinkl
DATOMIC
OM/NEXT
CRDT
EOF
@pithyless
[eavt]
[1 :name “Bob” 100 true]
[2 :name “Mary” 100 true]
…
[1 :likes 2 111 true]
…
[2 :likes 1 222 true]
[:find ?name ?age
:in $db ?id
:where
[?id :actor/name ?name]
[?id :actor/age ?age]]
[:find (avg ?age)
:in $db
:where
[_ :actor/age ?age]]
[:find ?title
:in $db ?first ?second
:where
[?a1 :actor/name ?first]
[?a2 :actor/name ?second]
[?a1 :actor/movies ?m]
[?a2 :actor/movies ?m]
[?m :movie/title ?title]]
[:find ?m ?title ?score
:in $db ?query
:where
[(fulltext $db
:movie/title ?query)
[[?m ?title _ ?score]]]]

More Related Content

What's hot

Grupo Peoplebpo
Grupo PeoplebpoGrupo Peoplebpo
Grupo Peoplebpo
amenjura
 
Bushco International Presentation
Bushco International PresentationBushco International Presentation
Bushco International Presentation
shravanjoshi
 
Grizzly manpaper
Grizzly manpaperGrizzly manpaper
Grizzly manpaper
smagdeburg
 
Valse overlijdensberichten FTF'ers om veiligheidsdiensten te misleiden
Valse overlijdensberichten FTF'ers om veiligheidsdiensten te misleidenValse overlijdensberichten FTF'ers om veiligheidsdiensten te misleiden
Valse overlijdensberichten FTF'ers om veiligheidsdiensten te misleiden
Thierry Debels
 
Mmgaita apostila 7posicoes
Mmgaita apostila 7posicoesMmgaita apostila 7posicoes
Mmgaita apostila 7posicoes
LaerteMassirer1
 
Worm Composting Instructions
Worm Composting InstructionsWorm Composting Instructions
Worm Composting Instructions
x3G9
 
Compassionate seattle-speakers-panelists-2010 b(2)
Compassionate seattle-speakers-panelists-2010 b(2)Compassionate seattle-speakers-panelists-2010 b(2)
Compassionate seattle-speakers-panelists-2010 b(2)
Compassion Action Network
 
Jamie Yeung Undergrad Research
Jamie Yeung Undergrad ResearchJamie Yeung Undergrad Research
Jamie Yeung Undergrad Research
Jamie Yeung
 
Ssijialiye
SsijialiyeSsijialiye
Ssijialiye
renata7
 
Splatter Plots2,Sweitzer,2011dec13
Splatter Plots2,Sweitzer,2011dec13Splatter Plots2,Sweitzer,2011dec13
Splatter Plots2,Sweitzer,2011dec13
Dennis Sweitzer
 
Un petit guide de la domination du monde
Un petit guide de la domination du mondeUn petit guide de la domination du monde
Un petit guide de la domination du monde
Geoffrey Dorne
 

What's hot (11)

Grupo Peoplebpo
Grupo PeoplebpoGrupo Peoplebpo
Grupo Peoplebpo
 
Bushco International Presentation
Bushco International PresentationBushco International Presentation
Bushco International Presentation
 
Grizzly manpaper
Grizzly manpaperGrizzly manpaper
Grizzly manpaper
 
Valse overlijdensberichten FTF'ers om veiligheidsdiensten te misleiden
Valse overlijdensberichten FTF'ers om veiligheidsdiensten te misleidenValse overlijdensberichten FTF'ers om veiligheidsdiensten te misleiden
Valse overlijdensberichten FTF'ers om veiligheidsdiensten te misleiden
 
Mmgaita apostila 7posicoes
Mmgaita apostila 7posicoesMmgaita apostila 7posicoes
Mmgaita apostila 7posicoes
 
Worm Composting Instructions
Worm Composting InstructionsWorm Composting Instructions
Worm Composting Instructions
 
Compassionate seattle-speakers-panelists-2010 b(2)
Compassionate seattle-speakers-panelists-2010 b(2)Compassionate seattle-speakers-panelists-2010 b(2)
Compassionate seattle-speakers-panelists-2010 b(2)
 
Jamie Yeung Undergrad Research
Jamie Yeung Undergrad ResearchJamie Yeung Undergrad Research
Jamie Yeung Undergrad Research
 
Ssijialiye
SsijialiyeSsijialiye
Ssijialiye
 
Splatter Plots2,Sweitzer,2011dec13
Splatter Plots2,Sweitzer,2011dec13Splatter Plots2,Sweitzer,2011dec13
Splatter Plots2,Sweitzer,2011dec13
 
Un petit guide de la domination du monde
Un petit guide de la domination du mondeUn petit guide de la domination du monde
Un petit guide de la domination du monde
 

Viewers also liked

4Developers: Łukasz Łysik- Message-driven architecture with RabbitMQ
4Developers: Łukasz Łysik- Message-driven architecture with RabbitMQ4Developers: Łukasz Łysik- Message-driven architecture with RabbitMQ
4Developers: Łukasz Łysik- Message-driven architecture with RabbitMQ
PROIDEA
 
Net core (dawniej 5.0) – co to dla mnie. też dużo o open source
Net core (dawniej   5.0) – co to dla mnie. też dużo o open sourceNet core (dawniej   5.0) – co to dla mnie. też dużo o open source
Net core (dawniej 5.0) – co to dla mnie. też dużo o open source
Tomasz Kopacz
 
Konrad Kokosa - Pamięć w .NET - od ogólu do szczegółu- 4developers2016
Konrad Kokosa - Pamięć w .NET - od ogólu do szczegółu- 4developers2016Konrad Kokosa - Pamięć w .NET - od ogólu do szczegółu- 4developers2016
Konrad Kokosa - Pamięć w .NET - od ogólu do szczegółu- 4developers2016
PROIDEA
 
4Developers: Krzysztof Staruch, Kamil Piechociak- Pracuj.pl - SOA zrobione (p...
4Developers: Krzysztof Staruch, Kamil Piechociak- Pracuj.pl - SOA zrobione (p...4Developers: Krzysztof Staruch, Kamil Piechociak- Pracuj.pl - SOA zrobione (p...
4Developers: Krzysztof Staruch, Kamil Piechociak- Pracuj.pl - SOA zrobione (p...
PROIDEA
 
4Developers: Mateusz Stasch- Domain Events - czyli jak radzić sobie z rzeczyw...
4Developers: Mateusz Stasch- Domain Events - czyli jak radzić sobie z rzeczyw...4Developers: Mateusz Stasch- Domain Events - czyli jak radzić sobie z rzeczyw...
4Developers: Mateusz Stasch- Domain Events - czyli jak radzić sobie z rzeczyw...
PROIDEA
 
4Developers: Marcin Iwanowski- WinDbg, gdy Visual Studio to za mało...
4Developers: Marcin Iwanowski- WinDbg, gdy Visual Studio to za mało...4Developers: Marcin Iwanowski- WinDbg, gdy Visual Studio to za mało...
4Developers: Marcin Iwanowski- WinDbg, gdy Visual Studio to za mało...
PROIDEA
 

Viewers also liked (6)

4Developers: Łukasz Łysik- Message-driven architecture with RabbitMQ
4Developers: Łukasz Łysik- Message-driven architecture with RabbitMQ4Developers: Łukasz Łysik- Message-driven architecture with RabbitMQ
4Developers: Łukasz Łysik- Message-driven architecture with RabbitMQ
 
Net core (dawniej 5.0) – co to dla mnie. też dużo o open source
Net core (dawniej   5.0) – co to dla mnie. też dużo o open sourceNet core (dawniej   5.0) – co to dla mnie. też dużo o open source
Net core (dawniej 5.0) – co to dla mnie. też dużo o open source
 
Konrad Kokosa - Pamięć w .NET - od ogólu do szczegółu- 4developers2016
Konrad Kokosa - Pamięć w .NET - od ogólu do szczegółu- 4developers2016Konrad Kokosa - Pamięć w .NET - od ogólu do szczegółu- 4developers2016
Konrad Kokosa - Pamięć w .NET - od ogólu do szczegółu- 4developers2016
 
4Developers: Krzysztof Staruch, Kamil Piechociak- Pracuj.pl - SOA zrobione (p...
4Developers: Krzysztof Staruch, Kamil Piechociak- Pracuj.pl - SOA zrobione (p...4Developers: Krzysztof Staruch, Kamil Piechociak- Pracuj.pl - SOA zrobione (p...
4Developers: Krzysztof Staruch, Kamil Piechociak- Pracuj.pl - SOA zrobione (p...
 
4Developers: Mateusz Stasch- Domain Events - czyli jak radzić sobie z rzeczyw...
4Developers: Mateusz Stasch- Domain Events - czyli jak radzić sobie z rzeczyw...4Developers: Mateusz Stasch- Domain Events - czyli jak radzić sobie z rzeczyw...
4Developers: Mateusz Stasch- Domain Events - czyli jak radzić sobie z rzeczyw...
 
4Developers: Marcin Iwanowski- WinDbg, gdy Visual Studio to za mało...
4Developers: Marcin Iwanowski- WinDbg, gdy Visual Studio to za mało...4Developers: Marcin Iwanowski- WinDbg, gdy Visual Studio to za mało...
4Developers: Marcin Iwanowski- WinDbg, gdy Visual Studio to za mało...
 

Similar to 4Developers: Norbert Wójtowicz- Data-Oriented Architecture

Theme Park Design Seminar
Theme Park Design SeminarTheme Park Design Seminar
Theme Park Design Seminar
Craig Jungwirth
 
Questioning the status quo
Questioning the status quoQuestioning the status quo
Questioning the status quo
Ivano Pagano
 
Tweak Your Slides: Ten Design Principles for Educators (version 3.0)
Tweak Your Slides: Ten Design Principles for Educators (version 3.0)Tweak Your Slides: Ten Design Principles for Educators (version 3.0)
Tweak Your Slides: Ten Design Principles for Educators (version 3.0)
Chiara Ojeda
 
What the !@#$ is UX? A fun and concise introduction
What the !@#$ is UX? A fun and concise introductionWhat the !@#$ is UX? A fun and concise introduction
What the !@#$ is UX? A fun and concise introduction
Sean Buch
 
Introducing Eager Design
Introducing Eager DesignIntroducing Eager Design
Introducing Eager Design
Marcello Duarte
 
R57php 1231677414471772-2
R57php 1231677414471772-2R57php 1231677414471772-2
R57php 1231677414471772-2
ady36
 
When Relational Isn't Enough: Neo4j at Squidoo
When Relational Isn't Enough: Neo4j at SquidooWhen Relational Isn't Enough: Neo4j at Squidoo
When Relational Isn't Enough: Neo4j at Squidoo
Gil Hildebrand
 
Amazing SQL your ORM can (or can't) do | PGConf EU 2019 | Louise Grandjonc
Amazing SQL your ORM can (or can't) do | PGConf EU 2019 | Louise GrandjoncAmazing SQL your ORM can (or can't) do | PGConf EU 2019 | Louise Grandjonc
Amazing SQL your ORM can (or can't) do | PGConf EU 2019 | Louise Grandjonc
Citus Data
 
Machine Learning, Key to Your Classification Challenges
Machine Learning, Key to Your Classification ChallengesMachine Learning, Key to Your Classification Challenges
Machine Learning, Key to Your Classification Challenges
Marc Borowczak
 
Introduction to Domain-Driven Design
Introduction to Domain-Driven DesignIntroduction to Domain-Driven Design
Introduction to Domain-Driven Design
Yoan-Alexander Grigorov
 
Effective codereview | Dave Liddament | CODEiD
Effective codereview | Dave Liddament | CODEiDEffective codereview | Dave Liddament | CODEiD
Effective codereview | Dave Liddament | CODEiD
CODEiD PHP Community
 
LAMP_TRAINING_SESSION_6
LAMP_TRAINING_SESSION_6LAMP_TRAINING_SESSION_6
LAMP_TRAINING_SESSION_6
umapst
 
Architecture in an Agile World
Architecture in an Agile WorldArchitecture in an Agile World
Architecture in an Agile World
Don McGreal
 
K02-salen: Systems Thinking in Action 2011
K02-salen: Systems Thinking in Action 2011K02-salen: Systems Thinking in Action 2011
K02-salen: Systems Thinking in Action 2011
pegasuscomm
 
Business Origami - UX Week 2011 Workshop
Business Origami - UX Week 2011 WorkshopBusiness Origami - UX Week 2011 Workshop
Business Origami - UX Week 2011 Workshop
Jess McMullin
 
Dip Your Toes in the Sea of Security (phpDay 2016)
Dip Your Toes in the Sea of Security (phpDay 2016)Dip Your Toes in the Sea of Security (phpDay 2016)
Dip Your Toes in the Sea of Security (phpDay 2016)
James Titcumb
 
Padrino is agnostic
Padrino is agnosticPadrino is agnostic
Padrino is agnostic
Takeshi Yabe
 
WebCamp: Developer Day: DDD in PHP on example of Symfony - Олег Зинченко
WebCamp: Developer Day: DDD in PHP on example of Symfony - Олег ЗинченкоWebCamp: Developer Day: DDD in PHP on example of Symfony - Олег Зинченко
WebCamp: Developer Day: DDD in PHP on example of Symfony - Олег Зинченко
GeeksLab Odessa
 
DDD on example of Symfony (SfCampUA14)
DDD on example of Symfony (SfCampUA14)DDD on example of Symfony (SfCampUA14)
DDD on example of Symfony (SfCampUA14)
Oleg Zinchenko
 
Free The Enterprise With Ruby & Master Your Own Domain
Free The Enterprise With Ruby & Master Your Own DomainFree The Enterprise With Ruby & Master Your Own Domain
Free The Enterprise With Ruby & Master Your Own Domain
Ken Collins
 

Similar to 4Developers: Norbert Wójtowicz- Data-Oriented Architecture (20)

Theme Park Design Seminar
Theme Park Design SeminarTheme Park Design Seminar
Theme Park Design Seminar
 
Questioning the status quo
Questioning the status quoQuestioning the status quo
Questioning the status quo
 
Tweak Your Slides: Ten Design Principles for Educators (version 3.0)
Tweak Your Slides: Ten Design Principles for Educators (version 3.0)Tweak Your Slides: Ten Design Principles for Educators (version 3.0)
Tweak Your Slides: Ten Design Principles for Educators (version 3.0)
 
What the !@#$ is UX? A fun and concise introduction
What the !@#$ is UX? A fun and concise introductionWhat the !@#$ is UX? A fun and concise introduction
What the !@#$ is UX? A fun and concise introduction
 
Introducing Eager Design
Introducing Eager DesignIntroducing Eager Design
Introducing Eager Design
 
R57php 1231677414471772-2
R57php 1231677414471772-2R57php 1231677414471772-2
R57php 1231677414471772-2
 
When Relational Isn't Enough: Neo4j at Squidoo
When Relational Isn't Enough: Neo4j at SquidooWhen Relational Isn't Enough: Neo4j at Squidoo
When Relational Isn't Enough: Neo4j at Squidoo
 
Amazing SQL your ORM can (or can't) do | PGConf EU 2019 | Louise Grandjonc
Amazing SQL your ORM can (or can't) do | PGConf EU 2019 | Louise GrandjoncAmazing SQL your ORM can (or can't) do | PGConf EU 2019 | Louise Grandjonc
Amazing SQL your ORM can (or can't) do | PGConf EU 2019 | Louise Grandjonc
 
Machine Learning, Key to Your Classification Challenges
Machine Learning, Key to Your Classification ChallengesMachine Learning, Key to Your Classification Challenges
Machine Learning, Key to Your Classification Challenges
 
Introduction to Domain-Driven Design
Introduction to Domain-Driven DesignIntroduction to Domain-Driven Design
Introduction to Domain-Driven Design
 
Effective codereview | Dave Liddament | CODEiD
Effective codereview | Dave Liddament | CODEiDEffective codereview | Dave Liddament | CODEiD
Effective codereview | Dave Liddament | CODEiD
 
LAMP_TRAINING_SESSION_6
LAMP_TRAINING_SESSION_6LAMP_TRAINING_SESSION_6
LAMP_TRAINING_SESSION_6
 
Architecture in an Agile World
Architecture in an Agile WorldArchitecture in an Agile World
Architecture in an Agile World
 
K02-salen: Systems Thinking in Action 2011
K02-salen: Systems Thinking in Action 2011K02-salen: Systems Thinking in Action 2011
K02-salen: Systems Thinking in Action 2011
 
Business Origami - UX Week 2011 Workshop
Business Origami - UX Week 2011 WorkshopBusiness Origami - UX Week 2011 Workshop
Business Origami - UX Week 2011 Workshop
 
Dip Your Toes in the Sea of Security (phpDay 2016)
Dip Your Toes in the Sea of Security (phpDay 2016)Dip Your Toes in the Sea of Security (phpDay 2016)
Dip Your Toes in the Sea of Security (phpDay 2016)
 
Padrino is agnostic
Padrino is agnosticPadrino is agnostic
Padrino is agnostic
 
WebCamp: Developer Day: DDD in PHP on example of Symfony - Олег Зинченко
WebCamp: Developer Day: DDD in PHP on example of Symfony - Олег ЗинченкоWebCamp: Developer Day: DDD in PHP on example of Symfony - Олег Зинченко
WebCamp: Developer Day: DDD in PHP on example of Symfony - Олег Зинченко
 
DDD on example of Symfony (SfCampUA14)
DDD on example of Symfony (SfCampUA14)DDD on example of Symfony (SfCampUA14)
DDD on example of Symfony (SfCampUA14)
 
Free The Enterprise With Ruby & Master Your Own Domain
Free The Enterprise With Ruby & Master Your Own DomainFree The Enterprise With Ruby & Master Your Own Domain
Free The Enterprise With Ruby & Master Your Own Domain
 

Recently uploaded

Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
名前 です男
 
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
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
danishmna97
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
DianaGray10
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
Matthew Sinclair
 
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
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
Building RAG with self-deployed Milvus vector database and Snowpark Container...
Building RAG with self-deployed Milvus vector database and Snowpark Container...Building RAG with self-deployed Milvus vector database and Snowpark Container...
Building RAG with self-deployed Milvus vector database and Snowpark Container...
Zilliz
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Aggregage
 
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
 
Data structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdfData structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdf
TIPNGVN2
 
“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
 
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
 
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
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
shyamraj55
 

Recently uploaded (20)

Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
 
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...
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
 
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
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
Building RAG with self-deployed Milvus vector database and Snowpark Container...
Building RAG with self-deployed Milvus vector database and Snowpark Container...Building RAG with self-deployed Milvus vector database and Snowpark Container...
Building RAG with self-deployed Milvus vector database and Snowpark Container...
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
 
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
 
Data structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdfData structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdf
 
“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...
 
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
 
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
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
 

4Developers: Norbert Wójtowicz- Data-Oriented Architecture