SlideShare ist ein Scribd-Unternehmen logo
1 von 51
Downloaden Sie, um offline zu lesen
RATIONALLYBOOST
SYMFONY2APPLICATION
2014 VERSION
welcometothe
bundle.com@liuggiowelcometothebundle.com
PERFORMANCE PROBLEM?
PERFORMANCE PROBLEM?TODAY SPEED IS A FEATURE
BUSINESSNEEDSSPEED?
(speed in terms of adding a new feature, bug hunting ...)
load
balancer
reverse
proxy
CDN
web
server
MQ
DB
cache
session
storage
DB
internal
storage
BROWSER
private
cache
shared cache
DNS
ISP
your company
GUESS
PRIDE PREJUDICE AND GUESSING
THEENDLESSCYCLE
make change
benchmark
profile
benchmarking
->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchm
the process of comparing …
sterilized environment - disable profiler
1
ab
$ apt-get install apache-utils
$ ab -e output.csv -c 10 -t 10 http://book.local
$ ab -p post.txt -T application/x-www-form-urlencoded -e output.csv -kc 10 -t 10 http://book.local
● http_load simple
● siege complete
● jmeter complex
->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchm
ProfilingXHProf demo ...2
->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchm
make
change
benchmark
profile
->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchm
->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchm
->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchm
->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchm
->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchm
Make Changes
->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchm
3
make
change
benchmark
profile
404
silver bullet
Not Found
->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchma
● Think as readonly filesystem
● Don’t let the user wait
● Caches are your friends
->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchma
● Try to quit from the optimization-cycle
PHPAPC
->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchma
● apc.stat=0 (need maintenance)
● fragmentation
(symfony is not slow! opcode, php 5.4, apc)
● Zend Opcode
● ACPu (emulate all the apc_* calls)
->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchma
PHP5.5
HHVM
->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchma
(hhvm - HPHPc - Performance on real application)
HHVM = PHP++ ?
->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchma
(HHVM is a great opportunity for Symfony and for object oriented lovers)
symfonyecosystem
● $ composer dump-autoload --optimize
->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchma
● twig extension http://twig.sensiolabs.org/doc/installation.html
symfonyecosystem
● [ASSETIC] use assetic and CDN, compress and minify files
● [SWIFT MAILER] email in the spool like Redis/Gearman or MQ
(remember to flush)
● [PROXY] no logic in the constructor!
<service id="foo" class="AcmeFoo" lazy="true" />
->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchma
[MONOLOG]
don’t log to file in production
debugging: Sentry or Graylog
->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchma
yourcachewarmup
->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchma
liip/LiipDoctrineCacheBundle
Doctrine/Common/Cache
Without bundle
services.yml
in your application
Use a bundle
->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchma
doctrineORM
● Database Abstraction Layer (DBAL)
● Object Relational Mapper (ORM)
->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchma
ORMcaches
metadata, query, result
->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change
understandUOW
Unit Of Work
->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchma
UOWeffect
TLDR;
keeps track changes of objects
and coordinates the writing
->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchma
Maintains
a list of objects affected by a business transaction
and coordinates the writing out of changes and the
resolution of concurrency problems
UnitofWork
Managed
->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchma
UnitofWork
Managed
->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchma
UOWeffect
flush is expensive*
while { …. $this->em->persist($v); $this->em->flush() }
->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchma
* profile your domain first.
Reducing the flush cost*
— Number of managed Entities
— Type of entities (Read-Only)
$em->flush($entity);
/**
* @Entity
* @READONLY*/
Class Status {
$em->getUnitOfWork()
->markReadOnly($entity);
->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchma
* if you really need
Reducing the flush cost*
/** @Entity
* @ChangeTrackingPolicy("DEFERRED_EXPLICIT”)
tracking policy
implicit DB === UOW explicit DB != OUW
->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchma
* if you really need
doctrineORM
● Reference
● Partial object*
->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchma
$q = $em->createQuery("select partial u.{id,name} from DomainUser u");
$comment->setPost($em->getReference(‘AcmeBundleEntityPost’, $postId));
* smelling tip, inconsistent objects
doctrineORM
● Change Hydration *
HYDRATE_OBJECT
$query->setHydrationMode(DoctrineORMQuery::HYDRATE_ARRAY);
HYDRATE_SCALAR
HYDRATE_SINGLE_SCALAR
HYDRATE_SIMPLEOBJECT
->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchma
* Object Oriented will cry.
theHidden
Hydrationcache *
->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchma
* Be careful, only for Read operations
->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchma
theHydrationcache *
With ResultCache
With HydrationCache
* profile data from my domain not yours.
cacheproblem
● invalidation
● cache miss storm
morelesscache
● pre-caching cache-back
● microcaching
->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchma
doctrineORMassociation
● Fetching is LAZY by default
● Changing for some queries
● Fetching EXTRA LAZY
$query = …
$query->setFetchMode(“Order”, “Cart”, “LAZY”);
->contains($entity); ->count(); ->slice($offset, $length);
/*** @ManyToOne(targetEntity=”Cart”, cascade={“all”}, fetch=”EAGER”)
->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchma
->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchma
HTTPCache
● http specification
● validation / expiration
● safe methods
● Edge Side Included
http://symfony.com/doc/current/book/http_cache.html
measure … and Metrics?
● Behaviour
● Measure applications data
● Don’t use for benchmarking
Visual tool to better understand the reality
->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchma
benchmark->profile->make change
metrics produces graphs decisions
composer install liuggio/statsd-client-bundle ~1
Optimizing dev tool
->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchmark->profile->make change->benchma
https://www.flickr.com/photos/itomcash/12953162645/sizes/l/
(multiple xdebug configs, db on ram, tricks, shared and private fixtures)
OOD, SOA, DDD, 12factors
Architecture
BALANCED
OPTIMIZATION vs MAINTAINABILITY
BE
References
1. http://labs.qandidate.com/blog/2013/10/21/running-symfony-standard-on-hhvm/
2. http://www.appdynamics.com/blog/php/php-performance-crash-course-part-1-the-basics/
3. https://support.cloud.engineyard.com/entries/26902267-PHP-Performance-I-Everything-You-Need-
to-Know-About-OpCode-Caches
4. https://speakerdeck.com/dshafik/lonestar-php-fast-not-furious-how-to-identify-and-fix-slow-code
5. http://share.ez.no/learn/ez-publish/ez-publish-performance-optimization-part-1-of-3-introduction-
and-benchmarking/%28page%29/5
6. http://www.linuxhelp.in/2012/11/benchmarking-with-http-load.html
7. https://speakerdeck.com/bastianhofmann/profiling-php-applications
8. http://www.symfony.com
9. http://blog.ircmaxell.com/2013/09/rambling-on-internals.html
10. .P of EAA page 184 Patterns of Enterprise Application Architecture by Martin Fowler
11. https://doctrine-orm.readthedocs.org/en/latest/reference/unitofwork.html
12. http://docs.doctrine-project.org/en/latest/reference/change-tracking-policies.htmlFlush optimization
13. http://slides.seld.be/?file=2011-10-20+High+Performance+Websites+with+Symfony2.html#1
Credits:
https://www.flickr.com/photos/kelehen/8962203423
https://www.flickr.com/photos/itomcash/12953162645
QUESTIONSARE
ALWAYSBETTER
THANANSWERS
@liuggio
https://joind.in/10783

Weitere ähnliche Inhalte

Was ist angesagt? (7)

Database Change Management | Change Manager from Embarcadero Technologies
Database Change Management  | Change Manager from Embarcadero TechnologiesDatabase Change Management  | Change Manager from Embarcadero Technologies
Database Change Management | Change Manager from Embarcadero Technologies
 
Less14 br concepts
Less14 br conceptsLess14 br concepts
Less14 br concepts
 
Hbase 89 fb online configuration
Hbase 89 fb online configurationHbase 89 fb online configuration
Hbase 89 fb online configuration
 
Less01 architecture
Less01 architectureLess01 architecture
Less01 architecture
 
Less17 moving data
Less17 moving dataLess17 moving data
Less17 moving data
 
Db2 blu acceleration and more
Db2 blu acceleration and moreDb2 blu acceleration and more
Db2 blu acceleration and more
 
ProxySQL para mysql
ProxySQL para mysqlProxySQL para mysql
ProxySQL para mysql
 

Andere mochten auch

Leaphly fight monolothic today
Leaphly fight monolothic todayLeaphly fight monolothic today
Leaphly fight monolothic today
Giulio De Donato
 

Andere mochten auch (8)

Effective Doctrine2: Performance Tips for Symfony2 Developers
Effective Doctrine2: Performance Tips for Symfony2 DevelopersEffective Doctrine2: Performance Tips for Symfony2 Developers
Effective Doctrine2: Performance Tips for Symfony2 Developers
 
Debugging and Profiling Symfony Apps
Debugging and Profiling Symfony AppsDebugging and Profiling Symfony Apps
Debugging and Profiling Symfony Apps
 
Leaphly fight monolothic today
Leaphly fight monolothic todayLeaphly fight monolothic today
Leaphly fight monolothic today
 
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
 
Performance Comparison of PHP 5.6 vs. 7.0 vs HHVM
Performance Comparison of PHP 5.6 vs. 7.0 vs HHVMPerformance Comparison of PHP 5.6 vs. 7.0 vs HHVM
Performance Comparison of PHP 5.6 vs. 7.0 vs HHVM
 
Import golang; struct microservice
Import golang; struct microserviceImport golang; struct microservice
Import golang; struct microservice
 
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
 
Json web token api authorization
Json web token api authorizationJson web token api authorization
Json web token api authorization
 

Ähnlich wie Benchmark Profile and Boost your Symfony application

Oreilly Webcast Jan 09, 2009
Oreilly Webcast Jan 09, 2009Oreilly Webcast Jan 09, 2009
Oreilly Webcast Jan 09, 2009
Sean Hull
 
SAP SQL Anywhere High Availability Tutorial for Business Objects
SAP SQL Anywhere High Availability Tutorial for Business ObjectsSAP SQL Anywhere High Availability Tutorial for Business Objects
SAP SQL Anywhere High Availability Tutorial for Business Objects
Sitesh Patel
 
OOW09 Ebs Tuning Final
OOW09 Ebs Tuning FinalOOW09 Ebs Tuning Final
OOW09 Ebs Tuning Final
jucaab
 

Ähnlich wie Benchmark Profile and Boost your Symfony application (20)

Oreilly Webcast Jan 09, 2009
Oreilly Webcast Jan 09, 2009Oreilly Webcast Jan 09, 2009
Oreilly Webcast Jan 09, 2009
 
SAP SQL Anywhere High Availability Tutorial for Business Objects
SAP SQL Anywhere High Availability Tutorial for Business ObjectsSAP SQL Anywhere High Availability Tutorial for Business Objects
SAP SQL Anywhere High Availability Tutorial for Business Objects
 
Data Guard Deep Dive UKOUG 2012
Data Guard Deep Dive UKOUG 2012Data Guard Deep Dive UKOUG 2012
Data Guard Deep Dive UKOUG 2012
 
Cfg Mgmtcamp 2015 - Releases
Cfg Mgmtcamp 2015 - ReleasesCfg Mgmtcamp 2015 - Releases
Cfg Mgmtcamp 2015 - Releases
 
PipelineAI + AWS SageMaker + Distributed TensorFlow + AI Model Training and S...
PipelineAI + AWS SageMaker + Distributed TensorFlow + AI Model Training and S...PipelineAI + AWS SageMaker + Distributed TensorFlow + AI Model Training and S...
PipelineAI + AWS SageMaker + Distributed TensorFlow + AI Model Training and S...
 
Optimizing, Profiling, and Deploying High Performance Spark ML and TensorFlow AI
Optimizing, Profiling, and Deploying High Performance Spark ML and TensorFlow AIOptimizing, Profiling, and Deploying High Performance Spark ML and TensorFlow AI
Optimizing, Profiling, and Deploying High Performance Spark ML and TensorFlow AI
 
188 portal overview
188 portal overview188 portal overview
188 portal overview
 
Bringing the JAMstack to the Enterprise
Bringing the JAMstack to the EnterpriseBringing the JAMstack to the Enterprise
Bringing the JAMstack to the Enterprise
 
Amazon DocumentDB vs MongoDB 의 내부 아키텍쳐 와 장단점 비교
Amazon DocumentDB vs MongoDB 의 내부 아키텍쳐 와 장단점 비교Amazon DocumentDB vs MongoDB 의 내부 아키텍쳐 와 장단점 비교
Amazon DocumentDB vs MongoDB 의 내부 아키텍쳐 와 장단점 비교
 
Optimize DR and Cloning with Logical Hostnames in Oracle E-Business Suite (OA...
Optimize DR and Cloning with Logical Hostnames in Oracle E-Business Suite (OA...Optimize DR and Cloning with Logical Hostnames in Oracle E-Business Suite (OA...
Optimize DR and Cloning with Logical Hostnames in Oracle E-Business Suite (OA...
 
Amazon RDS for PostgreSQL - PGConf 2016
Amazon RDS for PostgreSQL - PGConf 2016 Amazon RDS for PostgreSQL - PGConf 2016
Amazon RDS for PostgreSQL - PGConf 2016
 
Aspects of 10 Tuning
Aspects of 10 TuningAspects of 10 Tuning
Aspects of 10 Tuning
 
ASE Performance and Tuning Parameters Beyond the cfg File
ASE Performance and Tuning Parameters Beyond the cfg FileASE Performance and Tuning Parameters Beyond the cfg File
ASE Performance and Tuning Parameters Beyond the cfg File
 
Camunda BPM 7.2: Performance and Scalability (English)
Camunda BPM 7.2: Performance and Scalability (English)Camunda BPM 7.2: Performance and Scalability (English)
Camunda BPM 7.2: Performance and Scalability (English)
 
Preparing for Upgrade to SharePoint 2010 with Joel Oleson Quest Software Webcast
Preparing for Upgrade to SharePoint 2010 with Joel Oleson Quest Software WebcastPreparing for Upgrade to SharePoint 2010 with Joel Oleson Quest Software Webcast
Preparing for Upgrade to SharePoint 2010 with Joel Oleson Quest Software Webcast
 
Releases - CFEngine presentation - Configuration Management Camp 2015
Releases - CFEngine presentation - Configuration Management Camp 2015Releases - CFEngine presentation - Configuration Management Camp 2015
Releases - CFEngine presentation - Configuration Management Camp 2015
 
Champion Fas Deduplication
Champion Fas DeduplicationChampion Fas Deduplication
Champion Fas Deduplication
 
DATASTAGE ONLINE TRAINING
DATASTAGE ONLINE TRAININGDATASTAGE ONLINE TRAINING
DATASTAGE ONLINE TRAINING
 
OOW09 Ebs Tuning Final
OOW09 Ebs Tuning FinalOOW09 Ebs Tuning Final
OOW09 Ebs Tuning Final
 
Performance Benchmarking of Clouds Evaluating OpenStack
Performance Benchmarking of Clouds                Evaluating OpenStackPerformance Benchmarking of Clouds                Evaluating OpenStack
Performance Benchmarking of Clouds Evaluating OpenStack
 

Mehr von Giulio De Donato

Mehr von Giulio De Donato (8)

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
 
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
 
Think horizontally ood, ddd and bdd
Think horizontally ood, ddd and bddThink horizontally ood, ddd and bdd
Think horizontally ood, ddd and bdd
 
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
 
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
 
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
 

Kürzlich hochgeladen

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Kürzlich hochgeladen (20)

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
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
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
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
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
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
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...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
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
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
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
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 

Benchmark Profile and Boost your Symfony application