SlideShare uma empresa Scribd logo
1 de 15
Baixar para ler offline
Using MongoDB as a Central Queue for 
Distributed Job Processing
Shaddy Zeineddine <shaddy@chunkofwood.com>
Software Developer
sandbox.chunkofwood.com
www.linkedin.com/in/shaddyz
Presented by...
Through experiences at...
Web Services API Motives ­ High Level Requirements
> I want one search engine for all our properties.
> I want to encode videos into a set of formats which are 
compatible with all browsers and devices.
> I want to display and promote related content across 
properties.
> I want to display thumbnails to users as soon as they upload a 
video.
> All new projects must be scalable, load balanced, highly 
available.
Initial System Design
Why use MongoDB?
“Natural fit” ­ Minimal relations between data & native JSON interchange format
Super simple replication
Awesome PHP client driver
Good documentation
Readily available support from 10gen
High, scalable performance
Developer centric
OOP friendly
The RDBMS Schema Problem
Distributed job processing cases
> Cron jobs/scheduled tasks
Jobs are run at predefined times
> Callback processing
FIFO processing for initial attempt
Subsequent attempts processed after variable waiting time
> Video encoding
Priority based processing, then FIFO
Minimize input video transfers
> Immediate thumbnail generation from uploaded videos
Uploaded videos only available on one node
One queue to rule them all: Priority Queue
> Priority is defined by the implementation
> Worker­aware
> Designed to be altered
Processor Daemon Breakdown
> “Manager” parent process
> starts/stops child processes
> listens for signals {SIGTERM, SIGKILL, SIGHUP}
> “Worker” child processes
> polls queue
> processes job
> dies after processing
The Queue Collection
Default document schema
Cronjob document schema
public function enqueue(Job &$job)
{
$this->preEnqueue($job);
$jobArray = $job->toArray();
$jobArray['_timeQueued'] = time();
$jobArray['_worker'] = $this->getWorker($jobArray);
$jobArray['_priority'] = $this->getPriority($jobArray);
$this->db->insert($jobArray);
}
> db.cronjobQueue.findOne()
{
"_id" : ObjectId("517496db1f2c8ad317000000"),
"eventId" : "7fad1ff51a00924dd4991a91bb045559",
"jobName" : "Demo.HelloWorld",
"jobParams" : "",
"locked" : 0,
"runAt" : 1366600800
}
The Queue Collection
Default dequeuing
Cronjob dequeuing
$jobArray = $this->doDequeueQuery(
array('_worker' => array('$in' => array($this->worker, ''))),
null,
null,
array('sort' => array('_priority' => $this->priorityOrder), 'remove' => true)
);
$nextEvent = $this->db->find(array('locked' => 0), array('runAt' => 1))
->sort(array('runAt' => 1))
->limit(1)
->getNext();
Cronjob Processing: A Closer Look
> Queue is populated by a static file
> Jobs are run at predefined times
# Break API Cron Schedule
#
# * * * * * Job Parameters
# ┬ ┬ ┬ ┬ ┬ ┬ ┬
# │ │ │ │ │ │ └ JSON object of parameters ("{'source': 'mademan'}")
# │ │ │ │ │ └───── Job name (e.g. "Search.Sync")
# │ │ │ │ └──────── day of week (0 - 6) (0 is Sunday, or use names)
# │ │ │ └───────────── month (1 - 12)
# │ │ └────────────────── day of month (1 - 31)
# │ └─────────────────────── hour (0 - 23)
# └──────────────────────────── min (0 - 59)
#
# Synchronize & Optimize the Solr index from MongoDB @ 2:16 am
*/5 * * * * Search.Sync
@daily Search.UpdateFeatures
*/10 * * * * Encode.EnqueueJobs
*/10 * * * * Encode.UpdateJobPriorities
@daily Encode.PurgeOldJobs
Demonstrate the Cronjob processor
Please stand by...
Additional Challenges
> A job fails while being processed
Re­enqueue incomplete jobs from a secondary collection
> A worker is terminated while processing a job
Reset all jobs associated to the worker on startup
> Providing up­to­date progress information to other nodes
Maintain progress in secondary collection
Questions?

Mais conteúdo relacionado

Mais procurados

Our Battle Against Technical Debt
Our Battle Against Technical DebtOur Battle Against Technical Debt
Our Battle Against Technical Debtifnu bima
 
Php Indonesia x Bliblidotcom - Architecting Scalable CSS
Php Indonesia x Bliblidotcom - Architecting Scalable CSSPhp Indonesia x Bliblidotcom - Architecting Scalable CSS
Php Indonesia x Bliblidotcom - Architecting Scalable CSSIrfan Maulana
 
ngRepeat vs ngReact
ngRepeat vs ngReactngRepeat vs ngReact
ngRepeat vs ngReactMax Kossatz
 
Single page application
Single page applicationSingle page application
Single page applicationArthur Fung
 
From server generated pages to client app in a micro-services world
From server generated pages to client app in a micro-services worldFrom server generated pages to client app in a micro-services world
From server generated pages to client app in a micro-services worldAssaf Gannon
 
Mobile WebDriver Selendroid
Mobile WebDriver SelendroidMobile WebDriver Selendroid
Mobile WebDriver SelendroidMichael Palotas
 
Writing a Fullstack Application with Javascript - Remote media player
Writing a Fullstack Application with Javascript - Remote media playerWriting a Fullstack Application with Javascript - Remote media player
Writing a Fullstack Application with Javascript - Remote media playerTikal Knowledge
 
Node.js to the rescue
Node.js to the rescueNode.js to the rescue
Node.js to the rescueMarko Heijnen
 
Java Restart with WebFX
Java Restart with WebFX Java Restart with WebFX
Java Restart with WebFX Nikita Lipsky
 
Content as a Service: What to Know About Decoupled CMS
Content as a Service: What to Know About Decoupled CMSContent as a Service: What to Know About Decoupled CMS
Content as a Service: What to Know About Decoupled CMSPantheon
 
Anatomy of a Progressive Web App
Anatomy of a Progressive Web AppAnatomy of a Progressive Web App
Anatomy of a Progressive Web AppMike North
 
Android & Monkey Web Services
Android & Monkey Web ServicesAndroid & Monkey Web Services
Android & Monkey Web ServicesJonathan Gonzalez
 
jBPM Overview & Alfresco Workflows
jBPM Overview &  Alfresco WorkflowsjBPM Overview &  Alfresco Workflows
jBPM Overview & Alfresco WorkflowsFrancesco Valente
 
What is IBM Bluemix , Une nouvelle façon de coder , dans le cloud
What is IBM Bluemix , Une nouvelle façon de coder , dans le cloudWhat is IBM Bluemix , Une nouvelle façon de coder , dans le cloud
What is IBM Bluemix , Une nouvelle façon de coder , dans le cloudPatrick Bouillaud
 
Blazor - .NET in the Browser!
Blazor - .NET in the Browser!Blazor - .NET in the Browser!
Blazor - .NET in the Browser!David Paquette
 
Advancing Content Management for Omni-Channel User Experiences by Roland Bene...
Advancing Content Management for Omni-Channel User Experiences by Roland Bene...Advancing Content Management for Omni-Channel User Experiences by Roland Bene...
Advancing Content Management for Omni-Channel User Experiences by Roland Bene...eZ Systems
 
Progressive web apps
Progressive web appsProgressive web apps
Progressive web appsFastly
 

Mais procurados (20)

Our Battle Against Technical Debt
Our Battle Against Technical DebtOur Battle Against Technical Debt
Our Battle Against Technical Debt
 
Php Indonesia x Bliblidotcom - Architecting Scalable CSS
Php Indonesia x Bliblidotcom - Architecting Scalable CSSPhp Indonesia x Bliblidotcom - Architecting Scalable CSS
Php Indonesia x Bliblidotcom - Architecting Scalable CSS
 
ngRepeat vs ngReact
ngRepeat vs ngReactngRepeat vs ngReact
ngRepeat vs ngReact
 
Single page application
Single page applicationSingle page application
Single page application
 
From server generated pages to client app in a micro-services world
From server generated pages to client app in a micro-services worldFrom server generated pages to client app in a micro-services world
From server generated pages to client app in a micro-services world
 
Mobile WebDriver Selendroid
Mobile WebDriver SelendroidMobile WebDriver Selendroid
Mobile WebDriver Selendroid
 
Writing a Fullstack Application with Javascript - Remote media player
Writing a Fullstack Application with Javascript - Remote media playerWriting a Fullstack Application with Javascript - Remote media player
Writing a Fullstack Application with Javascript - Remote media player
 
Azure Serverless Conf
Azure Serverless ConfAzure Serverless Conf
Azure Serverless Conf
 
Node.js to the rescue
Node.js to the rescueNode.js to the rescue
Node.js to the rescue
 
Java Restart with WebFX
Java Restart with WebFX Java Restart with WebFX
Java Restart with WebFX
 
Single page App
Single page AppSingle page App
Single page App
 
Content as a Service: What to Know About Decoupled CMS
Content as a Service: What to Know About Decoupled CMSContent as a Service: What to Know About Decoupled CMS
Content as a Service: What to Know About Decoupled CMS
 
Anatomy of a Progressive Web App
Anatomy of a Progressive Web AppAnatomy of a Progressive Web App
Anatomy of a Progressive Web App
 
Android & Monkey Web Services
Android & Monkey Web ServicesAndroid & Monkey Web Services
Android & Monkey Web Services
 
jBPM Overview & Alfresco Workflows
jBPM Overview &  Alfresco WorkflowsjBPM Overview &  Alfresco Workflows
jBPM Overview & Alfresco Workflows
 
What is IBM Bluemix , Une nouvelle façon de coder , dans le cloud
What is IBM Bluemix , Une nouvelle façon de coder , dans le cloudWhat is IBM Bluemix , Une nouvelle façon de coder , dans le cloud
What is IBM Bluemix , Une nouvelle façon de coder , dans le cloud
 
Blazor - .NET in the Browser!
Blazor - .NET in the Browser!Blazor - .NET in the Browser!
Blazor - .NET in the Browser!
 
Advancing Content Management for Omni-Channel User Experiences by Roland Bene...
Advancing Content Management for Omni-Channel User Experiences by Roland Bene...Advancing Content Management for Omni-Channel User Experiences by Roland Bene...
Advancing Content Management for Omni-Channel User Experiences by Roland Bene...
 
Progressive web apps
Progressive web appsProgressive web apps
Progressive web apps
 
Server side scripting
Server side scriptingServer side scripting
Server side scripting
 

Destaque

Building a Common Message Solution with MongoDB at Vertafore
Building a Common Message Solution with MongoDB at VertaforeBuilding a Common Message Solution with MongoDB at Vertafore
Building a Common Message Solution with MongoDB at VertaforeMongoDB
 
MongoDB as a Cloud Queue
MongoDB as a Cloud QueueMongoDB as a Cloud Queue
MongoDB as a Cloud QueueMongoDB
 
TALLER#2: FOTOS DEL CUADERNO CON LAS ACTIVIDADES DE COMPLETACION
TALLER#2: FOTOS DEL CUADERNO CON LAS ACTIVIDADES DE COMPLETACIONTALLER#2: FOTOS DEL CUADERNO CON LAS ACTIVIDADES DE COMPLETACION
TALLER#2: FOTOS DEL CUADERNO CON LAS ACTIVIDADES DE COMPLETACIONJuanpa Serna
 
Turner's tour of britain
Turner's tour of britainTurner's tour of britain
Turner's tour of britainnathalieden
 
English Lesson - Reported Direct & Indirect Speech Change in verb of Tenses
English Lesson - Reported Direct & Indirect Speech Change in verb of TensesEnglish Lesson - Reported Direct & Indirect Speech Change in verb of Tenses
English Lesson - Reported Direct & Indirect Speech Change in verb of TensesMulia Fathan
 
11 camera angles
11 camera angles11 camera angles
11 camera anglesaaroncmedia
 
Teacher's pet sale's pitch
Teacher's pet sale's pitchTeacher's pet sale's pitch
Teacher's pet sale's pitchbdonahoo602
 
Simon Jia - The Kohana Framework
Simon Jia - The Kohana FrameworkSimon Jia - The Kohana Framework
Simon Jia - The Kohana FrameworkCaroline_Rose
 
Tegnologi Informasi dan Komunikasi (TIK) - “Menggunakan Menu dan Ikon yang ...
Tegnologi Informasi dan Komunikasi (TIK) - “Menggunakan Menu  dan  Ikon yang ...Tegnologi Informasi dan Komunikasi (TIK) - “Menggunakan Menu  dan  Ikon yang ...
Tegnologi Informasi dan Komunikasi (TIK) - “Menggunakan Menu dan Ikon yang ...Mulia Fathan
 
Mandarin Oriental - Pictures
Mandarin Oriental - PicturesMandarin Oriental - Pictures
Mandarin Oriental - Picturesvalentinamuda1989
 
Slidespapertigersrmc2011 110821185239-phpapp01
Slidespapertigersrmc2011 110821185239-phpapp01Slidespapertigersrmc2011 110821185239-phpapp01
Slidespapertigersrmc2011 110821185239-phpapp01Nan Karsh
 
2014 Collegiate Effie Award Winner
2014 Collegiate Effie Award Winner2014 Collegiate Effie Award Winner
2014 Collegiate Effie Award WinnerCamille Trent
 
블랙보드 학습자 메뉴얼_중앙대
블랙보드 학습자 메뉴얼_중앙대블랙보드 학습자 메뉴얼_중앙대
블랙보드 학습자 메뉴얼_중앙대yeajuneyoon
 
Tegnologi Informasi dan Komunikasi - LAPTOP
Tegnologi Informasi dan Komunikasi - LAPTOPTegnologi Informasi dan Komunikasi - LAPTOP
Tegnologi Informasi dan Komunikasi - LAPTOPMulia Fathan
 
SEO - Carlo Redaelli
SEO - Carlo Redaelli SEO - Carlo Redaelli
SEO - Carlo Redaelli Carlo_Reda
 

Destaque (20)

Building a Common Message Solution with MongoDB at Vertafore
Building a Common Message Solution with MongoDB at VertaforeBuilding a Common Message Solution with MongoDB at Vertafore
Building a Common Message Solution with MongoDB at Vertafore
 
MongoDB as a Cloud Queue
MongoDB as a Cloud QueueMongoDB as a Cloud Queue
MongoDB as a Cloud Queue
 
tweter
twetertweter
tweter
 
TALLER#2: FOTOS DEL CUADERNO CON LAS ACTIVIDADES DE COMPLETACION
TALLER#2: FOTOS DEL CUADERNO CON LAS ACTIVIDADES DE COMPLETACIONTALLER#2: FOTOS DEL CUADERNO CON LAS ACTIVIDADES DE COMPLETACION
TALLER#2: FOTOS DEL CUADERNO CON LAS ACTIVIDADES DE COMPLETACION
 
The Phoenician - Pictures
The Phoenician - PicturesThe Phoenician - Pictures
The Phoenician - Pictures
 
Turner's tour of britain
Turner's tour of britainTurner's tour of britain
Turner's tour of britain
 
English Lesson - Reported Direct & Indirect Speech Change in verb of Tenses
English Lesson - Reported Direct & Indirect Speech Change in verb of TensesEnglish Lesson - Reported Direct & Indirect Speech Change in verb of Tenses
English Lesson - Reported Direct & Indirect Speech Change in verb of Tenses
 
Measuring Change Risk for Organisational Decision Making Through a Hierarchic...
Measuring Change Risk for Organisational Decision Making Through a Hierarchic...Measuring Change Risk for Organisational Decision Making Through a Hierarchic...
Measuring Change Risk for Organisational Decision Making Through a Hierarchic...
 
11 camera angles
11 camera angles11 camera angles
11 camera angles
 
Save The Camels
Save The Camels Save The Camels
Save The Camels
 
Teacher's pet sale's pitch
Teacher's pet sale's pitchTeacher's pet sale's pitch
Teacher's pet sale's pitch
 
Simon Jia - The Kohana Framework
Simon Jia - The Kohana FrameworkSimon Jia - The Kohana Framework
Simon Jia - The Kohana Framework
 
Tegnologi Informasi dan Komunikasi (TIK) - “Menggunakan Menu dan Ikon yang ...
Tegnologi Informasi dan Komunikasi (TIK) - “Menggunakan Menu  dan  Ikon yang ...Tegnologi Informasi dan Komunikasi (TIK) - “Menggunakan Menu  dan  Ikon yang ...
Tegnologi Informasi dan Komunikasi (TIK) - “Menggunakan Menu dan Ikon yang ...
 
Mandarin Oriental - Pictures
Mandarin Oriental - PicturesMandarin Oriental - Pictures
Mandarin Oriental - Pictures
 
Slidespapertigersrmc2011 110821185239-phpapp01
Slidespapertigersrmc2011 110821185239-phpapp01Slidespapertigersrmc2011 110821185239-phpapp01
Slidespapertigersrmc2011 110821185239-phpapp01
 
Dal deck
Dal deckDal deck
Dal deck
 
2014 Collegiate Effie Award Winner
2014 Collegiate Effie Award Winner2014 Collegiate Effie Award Winner
2014 Collegiate Effie Award Winner
 
블랙보드 학습자 메뉴얼_중앙대
블랙보드 학습자 메뉴얼_중앙대블랙보드 학습자 메뉴얼_중앙대
블랙보드 학습자 메뉴얼_중앙대
 
Tegnologi Informasi dan Komunikasi - LAPTOP
Tegnologi Informasi dan Komunikasi - LAPTOPTegnologi Informasi dan Komunikasi - LAPTOP
Tegnologi Informasi dan Komunikasi - LAPTOP
 
SEO - Carlo Redaelli
SEO - Carlo Redaelli SEO - Carlo Redaelli
SEO - Carlo Redaelli
 

Semelhante a Shaddy Zeineddine: Queuing w/ MongoDB & BreakMedia's API

Introduction to Cross-Platform Hybrid Mobile App Development
Introduction to Cross-Platform Hybrid Mobile App DevelopmentIntroduction to Cross-Platform Hybrid Mobile App Development
Introduction to Cross-Platform Hybrid Mobile App DevelopmentÖzcan Zafer AYAN
 
Top Reasons to Use Node.JS Development for Your Next Project
Top Reasons to Use Node.JS Development for Your Next ProjectTop Reasons to Use Node.JS Development for Your Next Project
Top Reasons to Use Node.JS Development for Your Next ProjectWeblineIndia
 
Mongo db - How we use Go and MongoDB by Sam Helman
Mongo db - How we use Go and MongoDB by Sam HelmanMongo db - How we use Go and MongoDB by Sam Helman
Mongo db - How we use Go and MongoDB by Sam HelmanHakka Labs
 
PHP is the King, nodejs is the Prince and Lua is the fool
PHP is the King, nodejs is the Prince and Lua is the foolPHP is the King, nodejs is the Prince and Lua is the fool
PHP is the King, nodejs is the Prince and Lua is the foolAlessandro Cinelli (cirpo)
 
SharePoint Framework -The future of SharePoint/ Office 365 developer ecosystem.
SharePoint Framework -The future of SharePoint/ Office 365 developer ecosystem. SharePoint Framework -The future of SharePoint/ Office 365 developer ecosystem.
SharePoint Framework -The future of SharePoint/ Office 365 developer ecosystem. Kushan Lahiru Perera
 
Arm html5 presentation
Arm html5 presentationArm html5 presentation
Arm html5 presentationIan Renyard
 
MEAN Stack
MEAN StackMEAN Stack
MEAN StackDotitude
 
A Tale of Two Pizzas: Developer Tools at AWS - DevDay Los Angeles 2017
A Tale of Two Pizzas: Developer Tools at AWS - DevDay Los Angeles 2017A Tale of Two Pizzas: Developer Tools at AWS - DevDay Los Angeles 2017
A Tale of Two Pizzas: Developer Tools at AWS - DevDay Los Angeles 2017Amazon Web Services
 
PHP is the king, nodejs is the prince and Lua is the fool
PHP is the king, nodejs is the prince and Lua is the foolPHP is the king, nodejs is the prince and Lua is the fool
PHP is the king, nodejs is the prince and Lua is the foolAlessandro Cinelli (cirpo)
 
Open source CMS tool for web based job portal and recruitment system
Open source CMS tool for web based job portal and recruitment systemOpen source CMS tool for web based job portal and recruitment system
Open source CMS tool for web based job portal and recruitment systemArjun Rajeswaran
 
PHP is the king, nodejs is the prince and Python is the fool - Alessandro Cin...
PHP is the king, nodejs is the prince and Python is the fool - Alessandro Cin...PHP is the king, nodejs is the prince and Python is the fool - Alessandro Cin...
PHP is the king, nodejs is the prince and Python is the fool - Alessandro Cin...Codemotion
 
PHP is the King, nodejs the prince and python the fool
PHP is the King, nodejs the prince and python the foolPHP is the King, nodejs the prince and python the fool
PHP is the King, nodejs the prince and python the foolAlessandro Cinelli (cirpo)
 
Software Developer’s Project Documentation Template
Software Developer’s Project Documentation TemplateSoftware Developer’s Project Documentation Template
Software Developer’s Project Documentation TemplateSalim M Bhonhariya
 
ENT201 A Tale of Two Pizzas: Accelerating Software Delivery with AWS Develope...
ENT201 A Tale of Two Pizzas: Accelerating Software Delivery with AWS Develope...ENT201 A Tale of Two Pizzas: Accelerating Software Delivery with AWS Develope...
ENT201 A Tale of Two Pizzas: Accelerating Software Delivery with AWS Develope...Amazon Web Services
 
Announcing AWS CodeBuild - January 2017 Online Teck Talks
Announcing AWS CodeBuild - January 2017 Online Teck TalksAnnouncing AWS CodeBuild - January 2017 Online Teck Talks
Announcing AWS CodeBuild - January 2017 Online Teck TalksAmazon Web Services
 

Semelhante a Shaddy Zeineddine: Queuing w/ MongoDB & BreakMedia's API (20)

Introduction to Cross-Platform Hybrid Mobile App Development
Introduction to Cross-Platform Hybrid Mobile App DevelopmentIntroduction to Cross-Platform Hybrid Mobile App Development
Introduction to Cross-Platform Hybrid Mobile App Development
 
Top Reasons to Use Node.JS Development for Your Next Project
Top Reasons to Use Node.JS Development for Your Next ProjectTop Reasons to Use Node.JS Development for Your Next Project
Top Reasons to Use Node.JS Development for Your Next Project
 
Expo - Zero to App.pptx
Expo - Zero to App.pptxExpo - Zero to App.pptx
Expo - Zero to App.pptx
 
Dockerizing react app
Dockerizing react appDockerizing react app
Dockerizing react app
 
Mongo db - How we use Go and MongoDB by Sam Helman
Mongo db - How we use Go and MongoDB by Sam HelmanMongo db - How we use Go and MongoDB by Sam Helman
Mongo db - How we use Go and MongoDB by Sam Helman
 
PHP is the King, nodejs is the Prince and Lua is the fool
PHP is the King, nodejs is the Prince and Lua is the foolPHP is the King, nodejs is the Prince and Lua is the fool
PHP is the King, nodejs is the Prince and Lua is the fool
 
SharePoint Framework -The future of SharePoint/ Office 365 developer ecosystem.
SharePoint Framework -The future of SharePoint/ Office 365 developer ecosystem. SharePoint Framework -The future of SharePoint/ Office 365 developer ecosystem.
SharePoint Framework -The future of SharePoint/ Office 365 developer ecosystem.
 
Arm html5 presentation
Arm html5 presentationArm html5 presentation
Arm html5 presentation
 
MEAN Stack
MEAN StackMEAN Stack
MEAN Stack
 
How to deploy your Apps in serverless-way using App Engine.pptx
How to deploy your Apps in serverless-way using App Engine.pptxHow to deploy your Apps in serverless-way using App Engine.pptx
How to deploy your Apps in serverless-way using App Engine.pptx
 
Polymer
PolymerPolymer
Polymer
 
A Tale of Two Pizzas: Developer Tools at AWS - DevDay Los Angeles 2017
A Tale of Two Pizzas: Developer Tools at AWS - DevDay Los Angeles 2017A Tale of Two Pizzas: Developer Tools at AWS - DevDay Los Angeles 2017
A Tale of Two Pizzas: Developer Tools at AWS - DevDay Los Angeles 2017
 
PHP is the king, nodejs is the prince and Lua is the fool
PHP is the king, nodejs is the prince and Lua is the foolPHP is the king, nodejs is the prince and Lua is the fool
PHP is the king, nodejs is the prince and Lua is the fool
 
Open source CMS tool for web based job portal and recruitment system
Open source CMS tool for web based job portal and recruitment systemOpen source CMS tool for web based job portal and recruitment system
Open source CMS tool for web based job portal and recruitment system
 
PHP is the king, nodejs is the prince and Python is the fool - Alessandro Cin...
PHP is the king, nodejs is the prince and Python is the fool - Alessandro Cin...PHP is the king, nodejs is the prince and Python is the fool - Alessandro Cin...
PHP is the king, nodejs is the prince and Python is the fool - Alessandro Cin...
 
PHP is the King, nodejs the prince and python the fool
PHP is the King, nodejs the prince and python the foolPHP is the King, nodejs the prince and python the fool
PHP is the King, nodejs the prince and python the fool
 
Meanstack overview
Meanstack overviewMeanstack overview
Meanstack overview
 
Software Developer’s Project Documentation Template
Software Developer’s Project Documentation TemplateSoftware Developer’s Project Documentation Template
Software Developer’s Project Documentation Template
 
ENT201 A Tale of Two Pizzas: Accelerating Software Delivery with AWS Develope...
ENT201 A Tale of Two Pizzas: Accelerating Software Delivery with AWS Develope...ENT201 A Tale of Two Pizzas: Accelerating Software Delivery with AWS Develope...
ENT201 A Tale of Two Pizzas: Accelerating Software Delivery with AWS Develope...
 
Announcing AWS CodeBuild - January 2017 Online Teck Talks
Announcing AWS CodeBuild - January 2017 Online Teck TalksAnnouncing AWS CodeBuild - January 2017 Online Teck Talks
Announcing AWS CodeBuild - January 2017 Online Teck Talks
 

Último

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 DevelopmentsTrustArc
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
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
 
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
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
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
 
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
 
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 WorkerThousandEyes
 
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
 
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, Adobeapidays
 
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.pdfUK Journal
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024SynarionITSolutions
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
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
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
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
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 

Último (20)

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
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
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
 
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?
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
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...
 
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
 
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
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
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
 
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
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
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
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
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
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 

Shaddy Zeineddine: Queuing w/ MongoDB & BreakMedia's API