SlideShare a Scribd company logo
1 of 58
Download to read offline
Specking Interactors with
PHPSpec and YOLO
Toward the scorners he is scornful,
    but to the humble he gives favor.
~ Proverbs 3:34

Friday, October 4, 13
Take control of your
project and live a
simpler life
Toward the scorners he is scornful,
    but to the humble he gives favor.
~ Proverbs 3:34

Friday, October 4, 13
Framework
!=
Domain
Friday, October 4, 13
Test
First
Friday, October 4, 13
Domain
Domain
Friday, October 4, 13
Implementations
are

Details
Friday, October 4, 13
http://www.austinchronicle.com/binary/d294/SS.Hook._leftsideonly_.jpg
Friday, October 4, 13
http://www.collider.com/wp-content/uploads/Inception-movie-poster-2.jpg
Friday, October 4, 13
http://static.guim.co.uk/sys-images/Film/Pix/pictures/2008/06/06/matrix460.jpg
Friday, October 4, 13
Signs of Inception
Friday, October 4, 13
Our Framework
The Best
Friday, October 4, 13
Our Practices
The Best
Friday, October 4, 13
Our Community
never makes
mistakes
Friday, October 4, 13
Framework is
convenient
Friday, October 4, 13
But we are not
solving
The Problem
Friday, October 4, 13
Friday, October 4, 13
Friday, October 4, 13
Friday, October 4, 13
Friday, October 4, 13
Domain

Friday, October 4, 13
Domain
Expert
Friday, October 4, 13
BDD

Friday, October 4, 13
BDD
Tools
Behat, PhpSpec
Friday, October 4, 13
but DDD is
for Large
Systems ...
Friday, October 4, 13
Friday, October 4, 13
show me
how...
Friday, October 4, 13
Friday, October 4, 13
Problem: some don’t want to pay for
certification exams, so let’s build a community
site for those exams.
Friday, October 4, 13
Before we jump into the sauce:
Find a qualified examiner,
could be a real educator
if not
then try to become one

Friday, October 4, 13
Spec First ↝ BDD + DDD
Feature: student can take an exam
 
Scenario: student takes an exam
Given student starts an exam
And student is presented with a question
When student answers to question
...
Then student ends exam and gets graded

Friday, October 4, 13
Modeling
BDD Scenario

feature

DSL

Learning Process
Friday, October 4, 13
Modeling
repository

BDD Scenario

feature

DSL
Support BDD

entity

value
object

service

interactor
(use case)

port

Learning Process
Friday, October 4, 13
Modeling
Exam
Repository

Attempt
Repository

Exam

Attempt

service

Grader

Converter

interactor
(use case)

ShowAll
Exams

Grade
Attempt

repository

BDD Scenario

feature

DSL
Support BDD

entity

BDD Spec

value
object

port

Learning Process
Friday, October 4, 13

Question
Modeling
Exam
Repository

Attempt
Repository

Exam

Attempt

service

Grader

Converter

interactor
(use case)

ShowAll
Exams

Grade
Attempt

repository

BDD Scenario

feature

DSL
Support BDD

entity

BDD Spec

value
object

port

Learning Process
Friday, October 4, 13

Question

DDD Breaking and Fixing Specs
Modeling
Exam
Repository

Attempt
Repository

Exam

Attempt

service

Grader

Converter

interactor
(use case)

ShowAll
Exams

Grade
Attempt

repository

BDD Scenario

feature

DSL
Support BDD

DDD Refactoring Behavior

entity

BDD Spec

value
object

port

Learning Process
Friday, October 4, 13

Question

DDD Breaking and Fixing Specs
Learning Process

Friday, October 4, 13
Folder Structure
To convey:

- inversion of dependencies
- make dependencies explicit
- domain and infrastructure separation
- bounded context separation

Friday, October 4, 13
~
!""
#  
#  
!""
#  
#  
#  
#  
#  
#  
#  
#  
#  
#  
#  

tree -L 6
features
!"" student_takes_exam.feature
$"" teacher_builds_exam.feature
spec
$"" Simulator
!"" Domain
#   !"" Model
#   #   $"" Exam
#   #  
!"" AttemptSpec.php
#   #  
!"" ExamSpec.php
#   #  
!"" OptionSpec.php
#   #  
$"" QuestionSpec.php
#   !"" Port
#   #   !"" AnswerSpec.php
#   #   !"" ExamSpec.php

Friday, October 4, 13

Notice these are specs!
~
!""
#  
#  
!""
#  
#  
#  
#  
#  
#  
#  
#  
#  
#  
#  

tree -L 6
features
!"" student_takes_exam.feature
$"" teacher_builds_exam.feature
spec
$"" Simulator
!"" Domain
#   !"" Model
#   #   $"" Exam
#   #  
!"" AttemptSpec.php
#   #  
!"" ExamSpec.php
#   #  
!"" OptionSpec.php
#   #  
$"" QuestionSpec.php
#   !"" Port
#   #   !"" AnswerSpec.php
#   #   !"" ExamSpec.php

Friday, October 4, 13
~
!""
#  
#  
!""
#  
#  
#  
#  
#  
#  
#  
#  
#  
#  
#  

tree -L 6
features
!"" student_takes_exam.feature
$"" teacher_builds_exam.feature
spec
$"" Simulator
!"" Domain
#   !"" Model
#   #   $"" Exam
#   #  
!"" AttemptSpec.php
#   #  
!"" ExamSpec.php
#   #  
!"" OptionSpec.php
#   #  
$"" QuestionSpec.php
#   !"" Port
#   #   !"" AnswerSpec.php
#   #   !"" ExamSpec.php

Friday, October 4, 13
~ tree -L
...
#  
#  
#  
#  
#  
#  
#  
#  
#  
#  
#  
#  
#  
#  
#  
#  
#  
#  
#  
#  
#  
#  
#  
#  

Friday, October 4, 13

6
!""
#  
#  
#  
!""
#  
#  
#  
!""
#  
$""

Port
!"" AnswerSpec.php
!"" ExamSpec.php
$"" ExamsSpec.php
Services
!"" ExamsConverterSpec.php
!"" GraderSpec.php
$"" PrototypeManagerSpec.php
Support
$"" StudentHelperSpec.php
UseCase
!"" GradesAttemptSpec.php
~ tree -L
...
#  
#  
#  
#  
#  
#  
#  
#  
#  
#  
#  
#  
#  
#  
#  
#  
#  
#  
#  
#  
#  
#  
#  
#  

Friday, October 4, 13

6
!""
#  
#  
#  
!""
#  
#  
#  
!""
#  
$""

Port
!"" AnswerSpec.php
!"" ExamSpec.php
$"" ExamsSpec.php
Services
!"" ExamsConverterSpec.php
!"" GraderSpec.php
$"" PrototypeManagerSpec.php
Support
$"" StudentHelperSpec.php
UseCase
!"" GradesAttemptSpec.php
~ tree -L
...
#  
#  
#  
#  
#  
#  
#  
#  
#  
#  
#  
#  
#  
#  
#  
#  
#  
#  
#  
#  
#  
#  
#  
#  

Friday, October 4, 13

6
!""
#  
#  
#  
!""
#  
#  
#  
!""
#  
$""

Port
!"" AnswerSpec.php
!"" ExamSpec.php
$"" ExamsSpec.php
Services
!"" ExamsConverterSpec.php
!"" GraderSpec.php
$"" PrototypeManagerSpec.php
Support
$"" StudentHelperSpec.php
UseCase
!"" GradesAttemptSpec.php
~ tree -L 6
...
#  
#  
#  
#  
#  
#  
#  
#  
#  

Friday, October 4, 13

$"" Infrastructure
!"" Cilex
#   !"" Command
#   #   $"" ShowAllExamsCommand.php
#   !"" Console
#   #   $"" Runner.php
#   !"" Provider
#   #   $"" SimulatorServiceProvider.php
#   $"" config.yml
~ tree -L 6
...
#  
|
#  
#  
#  
#  
#  
#  
#  
#  
#  
#  
#  
#  
#  

Friday, October 4, 13

$"" Infrastructure
...
!"" Persistence
#   !"" Doctrine
#   #   $"" OrmExamRepository.php
#   !"" InMemoryAttemptRepository.php
#   !"" InMemoryExamRepository.php
#   $"" PDO
#  
$"" PdoExamRepository.php
!"" Symfony
#   $"" Bundle
#  
$"" SimulatorBundle
$"" Yolo
$"" Controller
$"" ExamController.php
~ tree -L 6
...
#  
|
#  
#  
#  
#  
#  
#  
#  
#  
#  
#  
#  
#  
#  

Friday, October 4, 13

$"" Infrastructure
...
!"" Persistence
#   !"" Doctrine
#   #   $"" OrmExamRepository.php
#   !"" InMemoryAttemptRepository.php
#   !"" InMemoryExamRepository.php
#   $"" PDO
#  
$"" PdoExamRepository.php
!"" Symfony
#   $"" Bundle
#  
$"" SimulatorBundle
$"" Yolo
$"" Controller
$"" ExamController.php
~ tree -L 6
...
#  
|
#  
#  
#  
#  
#  
#  
#  
#  
#  
#  
#  
#  
#  

Friday, October 4, 13

$"" Infrastructure
...
!"" Persistence
#   !"" Doctrine
#   #   $"" OrmExamRepository.php
#   !"" InMemoryAttemptRepository.php
#   !"" InMemoryExamRepository.php
#   $"" PDO
#  
$"" PdoExamRepository.php
!"" Symfony
#   $"" Bundle
#  
$"" SimulatorBundle
$"" Yolo
$"" Controller
$"" ExamController.php
What if I ask
you which
classes
implement the
features?
Friday, October 4, 13
Folder Structure
~ tree -L
...
#  
#  
#  
#  
#  
#  
#  
#  
#  
#  
#  
#  
#  
#  
#  
#  
#  
#  
#  
#  
#  
#  
#  
#  

6
!""
#  
#  
#  
!""
#  
#  
#  
!""
#  
$""

Port
!"" AnswerSpec.php
!"" ExamSpec.php
$"" ExamsSpec.php
Services
!"" ExamsConverterSpec.php
!"" GraderSpec.php
$"" PrototypeManagerSpec.php
Support
$"" StudentHelperSpec.php
UseCase
!"" GradesAttemptSpec.php

This bring us back to interactors/use cases
Friday, October 4, 13
Friday, October 4, 13
Friday, October 4, 13
Domain ↝ Domain
- intention
- expressive
- explicit
Friday, October 4, 13
Domain ↝ Domain

Friday, October 4, 13
Domain ↝ Domain

Friday, October 4, 13
Show what
you did :)
Friday, October 4, 13
"repositories": [
{
"type": "vcs",
"url": "git@github.com:cordoval/ExamSimulator"
}
],
"require": {
"igorw/yolo": "dev-master",
"cordoval/exam-simulator": "dev-master"
},

Friday, October 4, 13
~ php bin/console exams:show
- yolo - part I
- yolo - part II
All exams displayed

Friday, October 4, 13
http://
craftitonline.com
END
Friday, October 4, 13

More Related Content

Similar to Specking Interactors with PHPSpec and YOLO (DDD) at PHPConference Argentina 2013

Become Master of Your Own Universe - DIBI 2013
Become Master of Your Own Universe - DIBI 2013Become Master of Your Own Universe - DIBI 2013
Become Master of Your Own Universe - DIBI 2013Phil Sturgeon
 
Webpack & EcmaScript 6 (Webelement #32)
Webpack & EcmaScript 6 (Webelement #32)Webpack & EcmaScript 6 (Webelement #32)
Webpack & EcmaScript 6 (Webelement #32)srigi
 
Engineering culture
Engineering cultureEngineering culture
Engineering culturePamela Fox
 
Ab(Using) the MetaCPAN API for Fun and Profit v2013
Ab(Using) the MetaCPAN API for Fun and Profit v2013Ab(Using) the MetaCPAN API for Fun and Profit v2013
Ab(Using) the MetaCPAN API for Fun and Profit v2013Olaf Alders
 
Cooking an Omelette with Chef
Cooking an Omelette with ChefCooking an Omelette with Chef
Cooking an Omelette with Chefctaintor
 
Jenkins (war)stories
Jenkins (war)storiesJenkins (war)stories
Jenkins (war)storiesToomas Römer
 
Keeping it small - Getting to know the Slim PHP micro framework
Keeping it small - Getting to know the Slim PHP micro frameworkKeeping it small - Getting to know the Slim PHP micro framework
Keeping it small - Getting to know the Slim PHP micro frameworkJeremy Kendall
 
Hammering Responsive Web Design Into Shape
Hammering Responsive Web Design Into ShapeHammering Responsive Web Design Into Shape
Hammering Responsive Web Design Into ShapeKen Tabor
 
Enterprise Maven Repository BOF
Enterprise Maven Repository BOFEnterprise Maven Repository BOF
Enterprise Maven Repository BOFMax Andersen
 
PHP Conference Argentina 2013 - Independizate de tu departamento IT - Habilid...
PHP Conference Argentina 2013 - Independizate de tu departamento IT - Habilid...PHP Conference Argentina 2013 - Independizate de tu departamento IT - Habilid...
PHP Conference Argentina 2013 - Independizate de tu departamento IT - Habilid...Pablo Godel
 
Intro to PHP Testing
Intro to PHP TestingIntro to PHP Testing
Intro to PHP TestingRan Mizrahi
 
Puppet Camp Berlin 2014: Advanced Puppet Design
Puppet Camp Berlin 2014: Advanced Puppet DesignPuppet Camp Berlin 2014: Advanced Puppet Design
Puppet Camp Berlin 2014: Advanced Puppet DesignPuppet
 
Intro to Angular.JS Directives
Intro to Angular.JS DirectivesIntro to Angular.JS Directives
Intro to Angular.JS DirectivesChristian Lilley
 
Testing with Docker
Testing with DockerTesting with Docker
Testing with Dockertoffermann
 
Distributed percolator in elasticsearch
Distributed percolator in elasticsearchDistributed percolator in elasticsearch
Distributed percolator in elasticsearchmartijnvg
 
Implementing AutoComplete for Freemarker and Velocity languages in ACE Editor
Implementing AutoComplete for Freemarker and Velocity languages in ACE EditorImplementing AutoComplete for Freemarker and Velocity languages in ACE Editor
Implementing AutoComplete for Freemarker and Velocity languages in ACE Editorpeychevi
 
elasticsearch basics workshop
elasticsearch basics workshopelasticsearch basics workshop
elasticsearch basics workshopMathieu Elie
 
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 DomainKen Collins
 
Cassandra Meetup: Real-time Analytics using Cassandra, Spark and Shark at Ooyala
Cassandra Meetup: Real-time Analytics using Cassandra, Spark and Shark at OoyalaCassandra Meetup: Real-time Analytics using Cassandra, Spark and Shark at Ooyala
Cassandra Meetup: Real-time Analytics using Cassandra, Spark and Shark at OoyalaDataStax Academy
 

Similar to Specking Interactors with PHPSpec and YOLO (DDD) at PHPConference Argentina 2013 (20)

Become Master of Your Own Universe - DIBI 2013
Become Master of Your Own Universe - DIBI 2013Become Master of Your Own Universe - DIBI 2013
Become Master of Your Own Universe - DIBI 2013
 
Webpack & EcmaScript 6 (Webelement #32)
Webpack & EcmaScript 6 (Webelement #32)Webpack & EcmaScript 6 (Webelement #32)
Webpack & EcmaScript 6 (Webelement #32)
 
Engineering culture
Engineering cultureEngineering culture
Engineering culture
 
Ab(Using) the MetaCPAN API for Fun and Profit v2013
Ab(Using) the MetaCPAN API for Fun and Profit v2013Ab(Using) the MetaCPAN API for Fun and Profit v2013
Ab(Using) the MetaCPAN API for Fun and Profit v2013
 
Cooking an Omelette with Chef
Cooking an Omelette with ChefCooking an Omelette with Chef
Cooking an Omelette with Chef
 
Jenkins (war)stories
Jenkins (war)storiesJenkins (war)stories
Jenkins (war)stories
 
Keeping it small - Getting to know the Slim PHP micro framework
Keeping it small - Getting to know the Slim PHP micro frameworkKeeping it small - Getting to know the Slim PHP micro framework
Keeping it small - Getting to know the Slim PHP micro framework
 
Hammering Responsive Web Design Into Shape
Hammering Responsive Web Design Into ShapeHammering Responsive Web Design Into Shape
Hammering Responsive Web Design Into Shape
 
Enterprise Maven Repository BOF
Enterprise Maven Repository BOFEnterprise Maven Repository BOF
Enterprise Maven Repository BOF
 
PHP Conference Argentina 2013 - Independizate de tu departamento IT - Habilid...
PHP Conference Argentina 2013 - Independizate de tu departamento IT - Habilid...PHP Conference Argentina 2013 - Independizate de tu departamento IT - Habilid...
PHP Conference Argentina 2013 - Independizate de tu departamento IT - Habilid...
 
Intro to PHP Testing
Intro to PHP TestingIntro to PHP Testing
Intro to PHP Testing
 
Puppet Camp Berlin 2014: Advanced Puppet Design
Puppet Camp Berlin 2014: Advanced Puppet DesignPuppet Camp Berlin 2014: Advanced Puppet Design
Puppet Camp Berlin 2014: Advanced Puppet Design
 
Intro to Angular.JS Directives
Intro to Angular.JS DirectivesIntro to Angular.JS Directives
Intro to Angular.JS Directives
 
Testing with Docker
Testing with DockerTesting with Docker
Testing with Docker
 
Contributing to WordPress
Contributing to WordPressContributing to WordPress
Contributing to WordPress
 
Distributed percolator in elasticsearch
Distributed percolator in elasticsearchDistributed percolator in elasticsearch
Distributed percolator in elasticsearch
 
Implementing AutoComplete for Freemarker and Velocity languages in ACE Editor
Implementing AutoComplete for Freemarker and Velocity languages in ACE EditorImplementing AutoComplete for Freemarker and Velocity languages in ACE Editor
Implementing AutoComplete for Freemarker and Velocity languages in ACE Editor
 
elasticsearch basics workshop
elasticsearch basics workshopelasticsearch basics workshop
elasticsearch basics workshop
 
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
 
Cassandra Meetup: Real-time Analytics using Cassandra, Spark and Shark at Ooyala
Cassandra Meetup: Real-time Analytics using Cassandra, Spark and Shark at OoyalaCassandra Meetup: Real-time Analytics using Cassandra, Spark and Shark at Ooyala
Cassandra Meetup: Real-time Analytics using Cassandra, Spark and Shark at Ooyala
 

Recently uploaded

Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesBoston Institute of Analytics
 

Recently uploaded (20)

Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 

Specking Interactors with PHPSpec and YOLO (DDD) at PHPConference Argentina 2013