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

FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetEnjoy Anytime
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 

Recently uploaded (20)

FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 

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