SlideShare une entreprise Scribd logo
1  sur  56
Télécharger pour lire hors ligne
EnterpriseCakeEnterpriseCake
JamesWattsJamesWatts
james.watts@cakephp.org
Cake Development Corporation
whoamiwhoami
/ JamesWatts/ JamesWatts (@_JAMESWATTS_)(@_JAMESWATTS_)
/ InvolvedinOpenSourcesince2008/ InvolvedinOpenSourcesince2008
/ Using PHPforthelast 10years/ Using PHPforthelast 10years
/ Corememberof CakePHP/ Corememberof CakePHP
/ Organizerof CakeFest/ Organizerof CakeFest
/ Teamleadat CakeDC/ Teamleadat CakeDC
/ Authorof XHTTP andDocMLspecs/ Authorof XHTTP andDocMLspecs
/ CakePHP2 ApplicationCookbook/ CakePHP2 ApplicationCookbook
Cake Development Corporation
Cake Development Corporation
TheoryTheory
Cake Development Corporation
WriteLessCodeWriteLessCode
AndWriteFewerQueriesAndWriteFewerQueries
Cake Development Corporation
Writinglesscodemeans...Writinglesscodemeans...
> Reducinglegacytomaintain> Reducinglegacytomaintain
> Introducingfeweredgecases> Introducingfeweredgecases
> Lessopportunityforhumanerror> Lessopportunityforhumanerror
> Fasterdevelopment efforts> Fasterdevelopment efforts
> Lesscodetotest andcover> Lesscodetotest andcover
> Enjoyment factorincreases!> Enjoyment factorincreases!
Cake Development Corporation
CakePHPCakePHP PromotesPromotes LessCodeLessCode
RapidApplicationDevelopmentRapidApplicationDevelopment
Cake Development Corporation
ConventionOverConfigurationConventionOverConfiguration
Cake Development Corporation
Don'tWorkAroundCakePHPDon'tWorkAroundCakePHP
MakeFullUseOfFrameworkConventionsMakeFullUseOfFrameworkConventions
Cake Development Corporation
Don'tReinventWheelsDon'tReinventWheels
BeAwareOfTheBoredomFactor,AndTheDesireToHack!BeAwareOfTheBoredomFactor,AndTheDesireToHack!
Cake Development Corporation
KeepItSimpleKeepItSimple
CodeIsSimpleUntilCodeIsSimpleUntil YouYou MakeItComplicatedMakeItComplicated
Cake Development Corporation
Don'tRepeatRepeatYourselfDon'tRepeatRepeatYourself
TakeFullAdvantageOfComponents,BehaviorsAndHelpersTakeFullAdvantageOfComponents,BehaviorsAndHelpers
Cake Development Corporation
DesignUp-FrontDesignUp-Front
FollowYourBusinessObjectives,NotYourTechnicalSolutionFollowYourBusinessObjectives,NotYourTechnicalSolution
Cake Development Corporation
TreatYourCodeAsProductTreatYourCodeAsProduct
WriteProductionReadyCodeAsIfItWereForSomeoneElseWriteProductionReadyCodeAsIfItWereForSomeoneElse
Cake Development Corporation
Command/QuerySeparationCommand/QuerySeparation
SeparateactionsthatchangestatefromthosewhichconsultstateSeparateactionsthatchangestatefromthosewhichconsultstate
Cake Development Corporation
BuildSOLIDCodeBuildSOLIDCode
ApplyThe“FirstFive”DesignPrinciplesToYourCodeApplyThe“FirstFive”DesignPrinciplesToYourCode
Cake Development Corporation
S.O.L.I.DS.O.L.I.D
> SingleResponsibilityPrincipal> SingleResponsibilityPrincipal
> Open/ClosedPrincipal> Open/ClosedPrincipal
> LiskovSubstitutionPrinciple> LiskovSubstitutionPrinciple
> InterfaceSegregationPrinciple> InterfaceSegregationPrinciple
> DependencyInversionPrinciple> DependencyInversionPrinciple
Cake Development Corporation
GetAGRASPOfYourCodeGetAGRASPOfYourCode
General Responsibility AssignmentSoftwarePatternsGeneral Responsibility AssignmentSoftwarePatterns
Cake Development Corporation
G.R.A.S.PG.R.A.S.P
> ControllerPattern> ControllerPattern
> CreatorPattern> CreatorPattern
> HighCohesion> HighCohesion
> Indirection Pattern> Indirection Pattern
> ExpertPrincipal> ExpertPrincipal
> LowCoupling> LowCoupling
> Polymorphism> Polymorphism
> ProtectedVariations> ProtectedVariations
> PureFabrication> PureFabrication
Cake Development Corporation
Don'tBeSTUPID!Don'tBeSTUPID!
AvoidBadPracticesWhichWillWasteYourTimeLaterAvoidBadPracticesWhichWillWasteYourTimeLater
Cake Development Corporation
S.T.U.P.I.DS.T.U.P.I.D
> Singleton> Singleton
> Tight Coupling> Tight Coupling
> Untestability> Untestability
> PrematureOptimization> PrematureOptimization
> IndescriptiveNaming> IndescriptiveNaming
> Duplication> Duplication
Cake Development Corporation
KeepThingsInContextKeepThingsInContext
TheLawOfDemeter,Don'tTalkToStrangersTheLawOfDemeter,Don'tTalkToStrangers
Cake Development Corporation
DoesItScale?DoesItScale?
IgnoreThePerformanceBenchmarksIgnoreThePerformanceBenchmarks
Cake Development Corporation
Scalemeansmanythings...Scalemeansmanythings...
> Dataprocessing> Dataprocessing
> Requestconcurrency> Requestconcurrency
> Cachingstrategy> Cachingstrategy
> Storageengine> Storageengine
> Development effort> Development effort
> Maintenancecost> Maintenancecost
Cake Development Corporation
ThinkAboutYourDataThinkAboutYourData
YourDatabaseSchema IsYourAchillesHeelYourDatabaseSchema IsYourAchillesHeel
Cake Development Corporation
ThinkAheadWithYourDataThinkAheadWithYourData
AvoidStaleData,UseQueuing,CronTasksAnd Data WarehousingAvoidStaleData,UseQueuing,CronTasksAnd Data Warehousing
Cake Development Corporation
AvoidTheHypeAvoidTheHype
Don'tFollowTheHerd,BeGuidedOnlyBy ResultsDon'tFollowTheHerd,BeGuidedOnlyBy Results
Cake Development Corporation
RespectTheProfessionRespectTheProfession
TheCheaperAlternativeIsAlwaysMoreExpensiveLaterTheCheaperAlternativeIsAlwaysMoreExpensiveLater
Cake Development Corporation
ReduceTechnicalDebtReduceTechnicalDebt
BeRealisticAboutCornersYou Cut AndShortcutsYou TakeBeRealisticAboutCornersYou Cut AndShortcutsYou Take
Cake Development Corporation
BudgetConstraintsAreRealBudgetConstraintsAreReal
ContemplateFutureDealingOfAccumulated DebtContemplateFutureDealingOfAccumulated Debt
Cake Development Corporation
VersionControlVersionControl
ThereIsThereIs NONO ExcuseToNotVersion YourSourceCodeExcuseToNotVersion YourSourceCode
Cake Development Corporation
Test,Test,TestTest,Test,Test
ReduceCoverageReduceCoverage BeforeBefore YouAvoidTestingAnythingYouAvoidTestingAnything
Cake Development Corporation
PracticePractice
Cake Development Corporation
CakeDCGitWorkflowCakeDCGitWorkflow
http://cakedc.com/git-workflowhttp://cakedc.com/git-workflow
Cake Development Corporation
GitDevelopmentStrategyGitDevelopmentStrategy
Cake Development Corporation
Stability,Quality& ConsistencyStability,Quality& Consistency
Cake Development Corporation
Debug KitDebug Kit
https://github.com/cakephp/debug_kithttps://github.com/cakephp/debug_kit
Cake Development Corporation
CakeDCMigrationsCakeDCMigrations
https://github.com/CakeDC/migrationshttps://github.com/CakeDC/migrations
Cake Development Corporation
CakeDependencyCakeDependency
https://github.com/jameswatts/cake-dependencyhttps://github.com/jameswatts/cake-dependency
Cake Development Corporation
DIFeatures...DIFeatures...
> Registerclasses,objectsorcallbacks> Registerclasses,objectsorcallbacks
> ConstructorandSetterinjection> ConstructorandSetterinjection
> Lazyloading> Lazyloading
> Dependencyscopes> Dependencyscopes
> Observers> Observers
Cake Development Corporation
Registera ServiceRegistera Service
Di::add('Foo', [
'className' => 'Example',
'classPath' => 'Plugin.Path'
]);
Di::add('Foo', $object);
Di::add('Foo', function() use ($something) {
// return service instance
});
Cake Development Corporation
ConstructorAndSetterInjectionConstructorAndSetterInjection
Di::add('Foo', [
'className' => 'Example',
'classPath' => 'Plugin.Path',
'params' => [
'bar' => Di::load('Bar')
]
]);
Di::add('Foo', [
'className' => 'Example',
'classPath' => 'Plugin.Path',
'setters' => [
'setBar' => [
'bar' => Di::load('Bar')
]
]
]);
Cake Development Corporation
UsingObserversUsingObservers
Di::observe([
'MyInterface',
'AbstractClass'
], [
'setters' => [
'setFactory' => Di::load('Factory')
]
]);
Cake Development Corporation
CakeToolkitCakeToolkit
https://github.com/jameswatts/cake-toolkithttps://github.com/jameswatts/cake-toolkit
Cake Development Corporation
CTKFeatures...CTKFeatures...
> Object-orienteddesign> Object-orienteddesign
> Abstractionandencapsulation> Abstractionandencapsulation
> Separationofconcerns> Separationofconcerns
> Extensiblearchitecture> Extensiblearchitecture
> Plug andplay> Plug andplay
> Legacysupport> Legacysupport
Cake Development Corporation
Object-Oriented ViewsObject-Oriented Views
class IndexView extends CtkView {
public $factories = ['Ctk.Html', 'Ctk.Js'];
public function build() {
// create a HTML div
$div = $this->Html->Div();
// create a HTML button
$button = $this->Html->Button([
'value' => __('Click Me')
]);
// add the button to the div
$div->add($button);
// add the div to the view
$this->add($div);
}
}
Cake Development Corporation
ViewExtensibilityViewExtensibility
class IndexView extends CtkView {
public $factories = ['Ctk.Html', 'Ctk.Js'];
public function build() {
$div = $this->Html->Div();
$div->add($this->buildButton());
$this->add($div);
}
public function buildButton($value) {
return $this->Html->Button([
'value' => __($value)
]);
}
}
Cake Development Corporation
AttachingEventsAttachingEvents
// create a HTML button
$button = $this->Html->Button([
'value' => __('Click Me')
]);
// bind an event to the button
$button->bind('click', $this->Js->Alert([
'text' => __('Hello World')
]));
Cake Development Corporation
ReusingObjectsInLegacyViewsReusingObjectsInLegacyViews
<div id=”example”>
<?php
echo $this->Factory->Html->Span([
'text' => __('Hello World')
]);
?>
</div>
Cake Development Corporation
CakeMarkupLanguageCakeMarkupLanguage
https://github.com/jameswatts/cake-markup-languagehttps://github.com/jameswatts/cake-markup-language
Cake Development Corporation
CakeMLFeatures...CakeMLFeatures...
> Familiarsyntax> Familiarsyntax
> Readyfordesigners> Readyfordesigners
> Simpletemplating> Simpletemplating
> Extensiblebydesign> Extensiblebydesign
> Plug andplay> Plug andplay
> Legacysupport> Legacysupport
Cake Development Corporation
MarkupMarkup
<div id="example">
<cake:out value="Hello World" />
</div>
<div id="%{foo}">
<cake:out value="#{Hola Mundo}" />
</div>
<cake:out value="%{foo}" default="Nothing here" />
Cake Development Corporation
ControlStructuresControlStructures
<php:if expr="!empty(%{foo})">
<cake:out value="%{foo}" />
<php:else />
<cake:out value="Oops, no value" />
</php:if>
<php:foreach var="products" default="No products found">
<cake:out value="%{COUNT}. %{KEY} = %{VALUE}" />
</php:foreach>
Cake Development Corporation
FrameworkFeaturesFrameworkFeatures
<cake:link value="#{Blog}" url="['controller' => 'Posts']" />
<cake:form model="Post" options="['action' => 'add']">
<cake:input field="Post.title" />
</cake:form>
<cake:helper name="Foo" call="run" args="['bar', 123]" />
<cake:element name="sidebar" options="['foo' => %{bar}]" />
Cake Development Corporation
ThanksThanks
Cake Development Corporation
CakePHP2ApplicationCookbookCakePHP2ApplicationCookbook
https://packtpub.com/web-development/cakephp-2-application-cookbookhttps://packtpub.com/web-development/cakephp-2-application-cookbook

Contenu connexe

Similaire à Enterprise Cake

Sustainable Agile Development
Sustainable Agile DevelopmentSustainable Agile Development
Sustainable Agile Development
Gabriele Lana
 
The vJUG talk about jOOQ: Get Back in Control of Your SQL
The vJUG talk about jOOQ: Get Back in Control of Your SQLThe vJUG talk about jOOQ: Get Back in Control of Your SQL
The vJUG talk about jOOQ: Get Back in Control of Your SQL
Lukas Eder
 

Similaire à Enterprise Cake (20)

Development is a Piece of Cake
Development is a Piece of CakeDevelopment is a Piece of Cake
Development is a Piece of Cake
 
iOSDevCamp 2011 - Getting "Test"-y: Test Driven Development & Automated Deplo...
iOSDevCamp 2011 - Getting "Test"-y: Test Driven Development & Automated Deplo...iOSDevCamp 2011 - Getting "Test"-y: Test Driven Development & Automated Deplo...
iOSDevCamp 2011 - Getting "Test"-y: Test Driven Development & Automated Deplo...
 
CakePHP Fundamentals - 1.2 @ OCPHP
CakePHP Fundamentals - 1.2 @ OCPHPCakePHP Fundamentals - 1.2 @ OCPHP
CakePHP Fundamentals - 1.2 @ OCPHP
 
Cake Php 1.2 (Ocphp)
Cake Php 1.2 (Ocphp)Cake Php 1.2 (Ocphp)
Cake Php 1.2 (Ocphp)
 
DevOps Interview Questions and Answers 2019 | DevOps Tutorial | Edureka
DevOps Interview Questions and Answers 2019 | DevOps Tutorial | EdurekaDevOps Interview Questions and Answers 2019 | DevOps Tutorial | Edureka
DevOps Interview Questions and Answers 2019 | DevOps Tutorial | Edureka
 
Deploying Web Apps using Config and Infrastructure as Code with Octopus Deplo...
Deploying Web Apps using Config and Infrastructure as Code with Octopus Deplo...Deploying Web Apps using Config and Infrastructure as Code with Octopus Deplo...
Deploying Web Apps using Config and Infrastructure as Code with Octopus Deplo...
 
Deploying Web Apps using Config and Infrastructure as Code with Octopus Deplo...
Deploying Web Apps using Config and Infrastructure as Code with Octopus Deplo...Deploying Web Apps using Config and Infrastructure as Code with Octopus Deplo...
Deploying Web Apps using Config and Infrastructure as Code with Octopus Deplo...
 
Google Page Insights and Magento 2 — Sergey Nezbritskiy | Magento Meetup Onli...
Google Page Insights and Magento 2 — Sergey Nezbritskiy | Magento Meetup Onli...Google Page Insights and Magento 2 — Sergey Nezbritskiy | Magento Meetup Onli...
Google Page Insights and Magento 2 — Sergey Nezbritskiy | Magento Meetup Onli...
 
Chef infrastructure as code - paris.rb
Chef infrastructure as code - paris.rbChef infrastructure as code - paris.rb
Chef infrastructure as code - paris.rb
 
Sustainable Agile Development
Sustainable Agile DevelopmentSustainable Agile Development
Sustainable Agile Development
 
Bringing JAMStack to the Enterprise
Bringing JAMStack to the EnterpriseBringing JAMStack to the Enterprise
Bringing JAMStack to the Enterprise
 
Deploying Magento on OCI with MDS
Deploying Magento on OCI with MDSDeploying Magento on OCI with MDS
Deploying Magento on OCI with MDS
 
What's New in JHipsterLand - Devoxx Poland 2017
What's New in JHipsterLand - Devoxx Poland 2017What's New in JHipsterLand - Devoxx Poland 2017
What's New in JHipsterLand - Devoxx Poland 2017
 
Big Data Seminar: Analytics, Hadoop, Map Reduce, Mongo and other great stuff
Big Data Seminar: Analytics, Hadoop, Map Reduce, Mongo and other great stuffBig Data Seminar: Analytics, Hadoop, Map Reduce, Mongo and other great stuff
Big Data Seminar: Analytics, Hadoop, Map Reduce, Mongo and other great stuff
 
Code Generation in Magento 2
Code Generation in Magento 2Code Generation in Magento 2
Code Generation in Magento 2
 
Release management with NuGet/Chocolatey/JIRA
Release management with NuGet/Chocolatey/JIRARelease management with NuGet/Chocolatey/JIRA
Release management with NuGet/Chocolatey/JIRA
 
[Flutter] 來體驗 bloc 小方塊的神奇魔法 @Devfest 2022
[Flutter] 來體驗 bloc 小方塊的神奇魔法 @Devfest 2022[Flutter] 來體驗 bloc 小方塊的神奇魔法 @Devfest 2022
[Flutter] 來體驗 bloc 小方塊的神奇魔法 @Devfest 2022
 
HTML5 Intro
HTML5 IntroHTML5 Intro
HTML5 Intro
 
The vJUG talk about jOOQ: Get Back in Control of Your SQL
The vJUG talk about jOOQ: Get Back in Control of Your SQLThe vJUG talk about jOOQ: Get Back in Control of Your SQL
The vJUG talk about jOOQ: Get Back in Control of Your SQL
 
Internet Explorer 8 Developer Overview
Internet Explorer 8 Developer OverviewInternet Explorer 8 Developer Overview
Internet Explorer 8 Developer Overview
 

Dernier

Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
VictoriaMetrics
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
masabamasaba
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
shinachiaurasa2
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
masabamasaba
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
masabamasaba
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 

Dernier (20)

WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
 

Enterprise Cake