SlideShare a Scribd company logo
Codemotion ROME
@bit_shark
Andrea Giuliano
Think horizontallydo not use lighters to open beers
Giulio De Donato
andreagiuliano.it welcometothebundle.com
@liuggio
11-12 april 2014
Think
horizontally
@bit_shark @liuggio#codemotion
hint
We won't use technicisms and acronyms.
Please see the references, we have had a lot of inspiration
thinking ideal
@bit_shark @liuggio#codemotion
Given an application with certain requirements
which is the technology that fit the application requirements?
thinking real
@bit_shark @liuggio#codemotion
Given an application with certain requirements,
I’m guru on Java I’ll use Java.
think too much…
… at the same technology
@bit_shark @liuggio#codemotion
What’s wrong here?
I’m developing a tech-centric application
I’m fitting business requirements with technical boundaries
rethink to
the origin
@bit_shark @liuggio#codemotion
But what about our preferred technology?
Was it the coolest? The most requested for working? Or trivially the simplest?
think about
laziness
@bit_shark @liuggio#codemotion
A developer should choose
not the simplest tech
The developer laziness drive the
developer to reuse its code!
different thoughts
@bit_shark @liuggio#codemotion
A language can lack on some structural characteristic
(polymorphism, strong typing)
think with ease
@bit_shark @liuggio#codemotion
The success of a language is it’s distributability
(cheap, easy, zero-conf)?
a thought for thought
@bit_shark @liuggio#codemotion
There are successful application written in lacking languages
The success of the business make the success of the application
thinking relational
@bit_shark @liuggio#codemotion
EAV
thousand of libraries choose the relational
model instead of schemaless
• simplicity to distribute and install
• even though some arguable tech detail
think to aim
the success
@bit_shark @liuggio#codemotion
nosql
Using the right technology in some
cases could lead to a wrong choice
Shaggio theorem
@bit_shark @liuggio#codemotion
Hypothesis: supposing a developer knows every technology
and make a good choice for a complex application
Thesis: whatever will be the choice could be the wrong choice
…we are thinking to the app
as a one big global ‘entity'
think modular
@bit_shark @liuggio#codemotion
we want to split the application in as many
as possible modules choosing the “right”
technology for each module
think…
@bit_shark @liuggio#codemotion
• Split the business needs in subsets… a subset could be composed by services...
• Spit and conquer and Object Oriented Design
• If you have to implement a complex system, don’t implement a complex
system, implement a lot of simple systems
think procedural
@bit_shark @liuggio#codemotion
developing with procedural is misleading, at the beginning
you feel powerful, fast…
think WTF!
@bit_shark @liuggio#codemotion
• How many times you will modify the application, did you think about Maintenance costs?
• Procedural is when you create a fast program (at the beginning) but difficult to maintain.
“Tragically, the very same forces that make it so easy
to add new features to a brand new Rails
application are the ones that start to hold you back
as the number of features grows.” cit. Matt Wynne
think connected
Time
Feature
😊
😁
😰
🏃
@bit_shark @liuggio#codemotion
think connected
Time
Feature
😊
😁
😰
🏃
@bit_shark @liuggio#codemotion
• The procedural code is sick with a disease called "code connected”
• Object-oriented programming is not immune
• Time increases exponentially with the addition of new features.
think “Operation”
@bit_shark @liuggio#codemotion
All the programs are difficult to maintain, but decoupled software is easier
How to understand if my code is decoupled?
If you modify here and you don’t break over there.
Time
Feature
think maintainability
@bit_shark @liuggio#codemotion
TDD
Time
Feature
think maintainability
@bit_shark @liuggio#codemotion
TDD
• Modularity is the main concept of Object Oriented Design
• The trend has changed (90 years ago), now we have to focus on maintainability
• The overhead of testing before code is smaller than you think and the real adding
value is the way you develop better your application
Think back to ‘89
@bit_shark @liuggio#codemotion
responsability driven approach!
SOLID principles
• R. Wirfs-Brock, B. Wilkerson, “Object-Oriented Design: A Responsibility-Driven Approach”
• Single responsibility principle Uncle Bob
• Create a module coupling things that changes together?
• Modules that communicates, but how?
think tell don’t ask
Matt Wayne, Uncle Bob, Alec Sharp and Martin Fowler
@bit_shark @liuggio#codemotion
think behaviour
@bit_shark @liuggio#codemotion
dependency injection
• Modules that communicate via protocols
• Modules that exhibit a behavior not their data
• Data are the guts of the module, they must not be exposed
• All the public functions are API, let's take care and give them a meaning.
• Each module should have its own explicit dependencies
think and code
@bit_shark @liuggio#codemotion
1. An employee has always a name and a salary!
2. The salary is always greater than zero!
3. A company could add an employee
think and code
@bit_shark @liuggio#codemotion
1. An employee has always a name and a salary!
2. The salary is always greater than zero!
3. A company could add an employee
@bit_shark @liuggio#codemotion
think invariant
1. An employee has always a name and a salary!
2. The salary is always greater than zero!
3. A company could add an employee
@bit_shark @liuggio#codemotion
think consistent
1. An employee has always a name and a salary!
2. The salary is always greater than zero!
3. A company could add an employee
@bit_shark @liuggio#codemotion
think business language
3. A company could hire an employee
1. An employee has always a name and a salary!
2. The salary is always greater than zero!
3. A company could add an employee
think behaviour not data
@bit_shark @liuggio#codemotion
Bdd!
specification
think

Behaviour
Driven
Development
@bit_shark @liuggio#codemotion
That's why with BDD (stories and specs) you
are more forced not to test the application
but you focus on describe the behaviors.
With BDD you tend to describes the behavior
before coding, you specify what a function
should do.
think behaviour
defer implementation
@bit_shark @liuggio#codemotion
think onion
@bit_shark @liuggio#codemotion
hexagonal
Database as implementation detail
Framework as implementation detail
think to clean the Architecture
Application goal: separation of concerns
Easy substitution of obsolete elements without affecting others components of the architecture
Andrea Giuliano
@bit_shark
andreagiuliano.it
Giulio De Donato
@liuggio
welcometothebundle.com
T h i n k y o u !
Thank
References
https://farm3.staticflickr.com/2491/4193434786_306120fe90_b.jpg
https://farm8.staticflickr.com/7185/13732796883_58bb40fae9_b.jpg
https://farm8.staticflickr.com/7290/12859759305_51e8685d43_b.jpg
https://www.flickr.com/photos/lovezonero/5304831965/sizes/l/
http://i.imgur.com/xl9v1on.jpg
https://farm4.staticflickr.com/3404/3633209399_467123a6ca_o.jpg
https://farm1.staticflickr.com/188/391815999_2725ca688c_b.jpg
https://farm2.staticflickr.com/1116/1486403962_d055d8b1f9_o.jpg
https://farm4.staticflickr.com/3055/2852526965_bee2642e0f_o.jpg
- Growing Object-Oriented Software by Guided by Tests, Steve Freeman, Nat Pryce
- Implementing Domain-Driven Design by Vaughn Vernon
- Unbreakable Domain Models by Mathias Verraes
- Uncle Bob the clean Architecture http://blog.8thlight.com/uncle-bob/2012/08/13/
the-clean-architecture.html
- DDD community
- Matt Wayne GoRuCo 2012 Hexagonal Rails by Matt Wynne
- Implementing Domain-Driven Design with Spring and vFabric Wes Williams, Vaughn
Vernon
- The RSpec Book Behaviour-Driven Development with RSpec, Cucumber, and Friends
by David Chelimsky, Dave Astels, Zach Dennis, Aslak Hellesøy, Bryan Helmkamp,
Dan North
- Alberto Brandolini http://www.slideshare.net/ziobrando/
https://farm6.staticflickr.com/5134/5449083311_9a856145fa_b.jpg
https://farm3.staticflickr.com/2583/3752448573_4cc6a2698a_b.jpg
https://farm4.staticflickr.com/3325/3420223723_2805816861_b.jpg
https://farm1.staticflickr.com/118/313590022_25c580474c_b.jpg
https://farm4.staticflickr.com/3274/2886945884_8dfa5d849f_b.jpg
https://farm5.staticflickr.com/4013/4290367973_c58749d73f_b.jpg
https://farm9.staticflickr.com/8327/8091221482_dce187e288_b.jpg
https://farm1.staticflickr.com/48/108484055_b07800b7c7_b.jpg
https://farm8.staticflickr.com/7115/7445550970_32ac507395_b.jpg
Assets

More Related Content

Similar to Think horizontally ood, ddd and bdd

DOES16 London - Jonathan Fletcher - Re-imagining Hiscox IT: A DevOps Story
DOES16 London - Jonathan Fletcher - Re-imagining Hiscox IT: A DevOps StoryDOES16 London - Jonathan Fletcher - Re-imagining Hiscox IT: A DevOps Story
DOES16 London - Jonathan Fletcher - Re-imagining Hiscox IT: A DevOps Story
Gene Kim
 
Best Practices for API Adoption - WIP Factory presentation for AnyPresence we...
Best Practices for API Adoption - WIP Factory presentation for AnyPresence we...Best Practices for API Adoption - WIP Factory presentation for AnyPresence we...
Best Practices for API Adoption - WIP Factory presentation for AnyPresence we...
Carlo Longino
 
Managing Responsive Design Projects
Managing Responsive Design ProjectsManaging Responsive Design Projects
Managing Responsive Design Projects
Andrew Smyk
 
Managing Responsive Design Projects
Managing Responsive Design ProjectsManaging Responsive Design Projects
Managing Responsive Design Projects
FITC
 
How I ended up contributing to Magento core
How I ended up contributing to Magento coreHow I ended up contributing to Magento core
How I ended up contributing to Magento core
Alessandro Ronchi
 
Optimizing developer onboarding
Optimizing developer onboardingOptimizing developer onboarding
Optimizing developer onboarding
🌯 Brian Douglas
 
Prashant technical practices-tdd for xebia event
Prashant   technical practices-tdd for xebia eventPrashant   technical practices-tdd for xebia event
Prashant technical practices-tdd for xebia event
Xebia India
 
really really really awesome php application with bdd behat and iterfaces
really really really awesome php application with bdd behat and iterfacesreally really really awesome php application with bdd behat and iterfaces
really really really awesome php application with bdd behat and iterfaces
Giulio De Donato
 
Technical Debt.pptx
Technical Debt.pptxTechnical Debt.pptx
Technical Debt.pptx
Atish Narlawar
 
Designing a secure software development process with DevOps
Designing a secure software development process with DevOpsDesigning a secure software development process with DevOps
Designing a secure software development process with DevOps
Mike Long
 
Faster Secure Software Development with Continuous Deployment - PH Days 2013
Faster Secure Software Development with Continuous Deployment - PH Days 2013Faster Secure Software Development with Continuous Deployment - PH Days 2013
Faster Secure Software Development with Continuous Deployment - PH Days 2013Nick Galbreath
 
1430 jeff gothelf - the ladders case study - sll-conf_2011_gothelf
1430   jeff gothelf - the ladders case study - sll-conf_2011_gothelf1430   jeff gothelf - the ladders case study - sll-conf_2011_gothelf
1430 jeff gothelf - the ladders case study - sll-conf_2011_gothelfEric Ries
 
Why do mobile projects (still) fail - September 2014 edition
Why do mobile projects (still) fail - September 2014 editionWhy do mobile projects (still) fail - September 2014 edition
Why do mobile projects (still) fail - September 2014 edition
Indiginox
 
6 ways DevOps helped PrepSportswear move from monolith to microservices
6 ways DevOps helped PrepSportswear move from monolith to microservices6 ways DevOps helped PrepSportswear move from monolith to microservices
6 ways DevOps helped PrepSportswear move from monolith to microservices
Dynatrace
 
Four Laws of Tech Product Economics - Rich Mironov
Four Laws of Tech Product Economics - Rich MironovFour Laws of Tech Product Economics - Rich Mironov
Four Laws of Tech Product Economics - Rich Mironov
ProductCampPortland
 
Protection and Verification of Security Design Flaws
Protection and Verification of Security Design FlawsProtection and Verification of Security Design Flaws
Protection and Verification of Security Design Flaws
Hdiv Security
 
Neil Perlin - We're Going Mobile! Great! Are We Ready?
Neil Perlin - We're Going Mobile! Great! Are We Ready?Neil Perlin - We're Going Mobile! Great! Are We Ready?
Neil Perlin - We're Going Mobile! Great! Are We Ready?
LavaConConference
 
Introduction to Serverless. Oracle Fn Project.
Introduction to Serverless. Oracle Fn Project.Introduction to Serverless. Oracle Fn Project.
Introduction to Serverless. Oracle Fn Project.
Rolando Carrasco
 
Losing Sight of DevOps in an Automation Forest - devopsdays Atlanta 2013
Losing Sight of DevOps in an Automation Forest - devopsdays Atlanta 2013Losing Sight of DevOps in an Automation Forest - devopsdays Atlanta 2013
Losing Sight of DevOps in an Automation Forest - devopsdays Atlanta 2013
XebiaLabs
 
How to Create an Agile Content Factory
How to Create an Agile Content FactoryHow to Create an Agile Content Factory
How to Create an Agile Content Factory
Content Marketing Institute
 

Similar to Think horizontally ood, ddd and bdd (20)

DOES16 London - Jonathan Fletcher - Re-imagining Hiscox IT: A DevOps Story
DOES16 London - Jonathan Fletcher - Re-imagining Hiscox IT: A DevOps StoryDOES16 London - Jonathan Fletcher - Re-imagining Hiscox IT: A DevOps Story
DOES16 London - Jonathan Fletcher - Re-imagining Hiscox IT: A DevOps Story
 
Best Practices for API Adoption - WIP Factory presentation for AnyPresence we...
Best Practices for API Adoption - WIP Factory presentation for AnyPresence we...Best Practices for API Adoption - WIP Factory presentation for AnyPresence we...
Best Practices for API Adoption - WIP Factory presentation for AnyPresence we...
 
Managing Responsive Design Projects
Managing Responsive Design ProjectsManaging Responsive Design Projects
Managing Responsive Design Projects
 
Managing Responsive Design Projects
Managing Responsive Design ProjectsManaging Responsive Design Projects
Managing Responsive Design Projects
 
How I ended up contributing to Magento core
How I ended up contributing to Magento coreHow I ended up contributing to Magento core
How I ended up contributing to Magento core
 
Optimizing developer onboarding
Optimizing developer onboardingOptimizing developer onboarding
Optimizing developer onboarding
 
Prashant technical practices-tdd for xebia event
Prashant   technical practices-tdd for xebia eventPrashant   technical practices-tdd for xebia event
Prashant technical practices-tdd for xebia event
 
really really really awesome php application with bdd behat and iterfaces
really really really awesome php application with bdd behat and iterfacesreally really really awesome php application with bdd behat and iterfaces
really really really awesome php application with bdd behat and iterfaces
 
Technical Debt.pptx
Technical Debt.pptxTechnical Debt.pptx
Technical Debt.pptx
 
Designing a secure software development process with DevOps
Designing a secure software development process with DevOpsDesigning a secure software development process with DevOps
Designing a secure software development process with DevOps
 
Faster Secure Software Development with Continuous Deployment - PH Days 2013
Faster Secure Software Development with Continuous Deployment - PH Days 2013Faster Secure Software Development with Continuous Deployment - PH Days 2013
Faster Secure Software Development with Continuous Deployment - PH Days 2013
 
1430 jeff gothelf - the ladders case study - sll-conf_2011_gothelf
1430   jeff gothelf - the ladders case study - sll-conf_2011_gothelf1430   jeff gothelf - the ladders case study - sll-conf_2011_gothelf
1430 jeff gothelf - the ladders case study - sll-conf_2011_gothelf
 
Why do mobile projects (still) fail - September 2014 edition
Why do mobile projects (still) fail - September 2014 editionWhy do mobile projects (still) fail - September 2014 edition
Why do mobile projects (still) fail - September 2014 edition
 
6 ways DevOps helped PrepSportswear move from monolith to microservices
6 ways DevOps helped PrepSportswear move from monolith to microservices6 ways DevOps helped PrepSportswear move from monolith to microservices
6 ways DevOps helped PrepSportswear move from monolith to microservices
 
Four Laws of Tech Product Economics - Rich Mironov
Four Laws of Tech Product Economics - Rich MironovFour Laws of Tech Product Economics - Rich Mironov
Four Laws of Tech Product Economics - Rich Mironov
 
Protection and Verification of Security Design Flaws
Protection and Verification of Security Design FlawsProtection and Verification of Security Design Flaws
Protection and Verification of Security Design Flaws
 
Neil Perlin - We're Going Mobile! Great! Are We Ready?
Neil Perlin - We're Going Mobile! Great! Are We Ready?Neil Perlin - We're Going Mobile! Great! Are We Ready?
Neil Perlin - We're Going Mobile! Great! Are We Ready?
 
Introduction to Serverless. Oracle Fn Project.
Introduction to Serverless. Oracle Fn Project.Introduction to Serverless. Oracle Fn Project.
Introduction to Serverless. Oracle Fn Project.
 
Losing Sight of DevOps in an Automation Forest - devopsdays Atlanta 2013
Losing Sight of DevOps in an Automation Forest - devopsdays Atlanta 2013Losing Sight of DevOps in an Automation Forest - devopsdays Atlanta 2013
Losing Sight of DevOps in an Automation Forest - devopsdays Atlanta 2013
 
How to Create an Agile Content Factory
How to Create an Agile Content FactoryHow to Create an Agile Content Factory
How to Create an Agile Content Factory
 

More from Giulio De Donato

Docker italia fatti un container tutto tuo
Docker italia fatti un container tutto tuoDocker italia fatti un container tutto tuo
Docker italia fatti un container tutto tuo
Giulio De Donato
 
Lets isolate a process with no container like docker
Lets isolate a process with no container like dockerLets isolate a process with no container like docker
Lets isolate a process with no container like docker
Giulio De Donato
 
More developers on DevOps with Docker orchestration
More developers on DevOps with Docker orchestrationMore developers on DevOps with Docker orchestration
More developers on DevOps with Docker orchestration
Giulio De Donato
 
Json web token api authorization
Json web token api authorizationJson web token api authorization
Json web token api authorization
Giulio De Donato
 
I came i saw i go - golang it meetup codemotion rome 2014
I came i saw i go - golang it meetup codemotion rome 2014I came i saw i go - golang it meetup codemotion rome 2014
I came i saw i go - golang it meetup codemotion rome 2014
Giulio De Donato
 
Benchmark Profile and Boost your Symfony application
Benchmark Profile and Boost your Symfony applicationBenchmark Profile and Boost your Symfony application
Benchmark Profile and Boost your Symfony application
Giulio De Donato
 
Leaphly fight monolothic today
Leaphly fight monolothic todayLeaphly fight monolothic today
Leaphly fight monolothic todayGiulio De Donato
 
It's all about behaviour, also in php - phpspec
It's all about behaviour, also in php - phpspecIt's all about behaviour, also in php - phpspec
It's all about behaviour, also in php - phpspec
Giulio De Donato
 
Design pattern in Symfony2 - Nanos gigantium humeris insidentes
Design pattern in Symfony2 - Nanos gigantium humeris insidentesDesign pattern in Symfony2 - Nanos gigantium humeris insidentes
Design pattern in Symfony2 - Nanos gigantium humeris insidentes
Giulio De Donato
 
Caching and data analysis will move your Symfony2 application to the next level
Caching and data analysis will move your Symfony2 application to the next levelCaching and data analysis will move your Symfony2 application to the next level
Caching and data analysis will move your Symfony2 application to the next level
Giulio De Donato
 
Rationally boost your symfony2 application with caching tips and monitoring
Rationally boost your symfony2 application with caching tips and monitoringRationally boost your symfony2 application with caching tips and monitoring
Rationally boost your symfony2 application with caching tips and monitoring
Giulio De Donato
 

More from Giulio De Donato (11)

Docker italia fatti un container tutto tuo
Docker italia fatti un container tutto tuoDocker italia fatti un container tutto tuo
Docker italia fatti un container tutto tuo
 
Lets isolate a process with no container like docker
Lets isolate a process with no container like dockerLets isolate a process with no container like docker
Lets isolate a process with no container like docker
 
More developers on DevOps with Docker orchestration
More developers on DevOps with Docker orchestrationMore developers on DevOps with Docker orchestration
More developers on DevOps with Docker orchestration
 
Json web token api authorization
Json web token api authorizationJson web token api authorization
Json web token api authorization
 
I came i saw i go - golang it meetup codemotion rome 2014
I came i saw i go - golang it meetup codemotion rome 2014I came i saw i go - golang it meetup codemotion rome 2014
I came i saw i go - golang it meetup codemotion rome 2014
 
Benchmark Profile and Boost your Symfony application
Benchmark Profile and Boost your Symfony applicationBenchmark Profile and Boost your Symfony application
Benchmark Profile and Boost your Symfony application
 
Leaphly fight monolothic today
Leaphly fight monolothic todayLeaphly fight monolothic today
Leaphly fight monolothic today
 
It's all about behaviour, also in php - phpspec
It's all about behaviour, also in php - phpspecIt's all about behaviour, also in php - phpspec
It's all about behaviour, also in php - phpspec
 
Design pattern in Symfony2 - Nanos gigantium humeris insidentes
Design pattern in Symfony2 - Nanos gigantium humeris insidentesDesign pattern in Symfony2 - Nanos gigantium humeris insidentes
Design pattern in Symfony2 - Nanos gigantium humeris insidentes
 
Caching and data analysis will move your Symfony2 application to the next level
Caching and data analysis will move your Symfony2 application to the next levelCaching and data analysis will move your Symfony2 application to the next level
Caching and data analysis will move your Symfony2 application to the next level
 
Rationally boost your symfony2 application with caching tips and monitoring
Rationally boost your symfony2 application with caching tips and monitoringRationally boost your symfony2 application with caching tips and monitoring
Rationally boost your symfony2 application with caching tips and monitoring
 

Recently uploaded

Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
Octavian Nadolu
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
Drona Infotech
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
Donna Lenk
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
Rakesh Kumar R
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
Deuglo Infosystem Pvt Ltd
 
E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
Hornet Dynamics
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
TheSMSPoint
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
timtebeek1
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Neo4j
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Crescat
 
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
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
NYGGS Automation Suite
 
APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
Boni García
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Mind IT Systems
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
Neo4j
 
Launch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in MinutesLaunch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in Minutes
Roshan Dwivedi
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
Łukasz Chruściel
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Łukasz Chruściel
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
Ayan Halder
 

Recently uploaded (20)

Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
 
E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
 
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
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
 
APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
 
Launch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in MinutesLaunch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in Minutes
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
 

Think horizontally ood, ddd and bdd