ITB_2023_Faster_Apps_That_Wont_Get_Crushed_Brian_Klaas.pdf

Ortus Solutions, Corp
Ortus Solutions, CorpOrtus Solutions, Corp
Faster Apps That Won't
Get Crushed With
Queues And Pub/Sub
Mechanisms
INTO THE BOX 2023
BRIAN KLAAS
Workflows
Workflows
Workflows
Click Button
Validate
Request
Check
Inventory
Process
Payment
Find Closest
Warehouse
Create Pick
Ticket
Calculate
Ship Date
Send
Confirmation
Email
Success
View
Workflows
Click Button
Success
View
Nothing’s faster
than work you don’t have to wait for.
Workflows
Scale and speed
are every developer’s problem.
Workflows
Faster Apps That Won't
Get Crushed With
Queues And Pub/Sub
Mechanisms
INTO THE BOX 2023
BRIAN KLAAS
ITB_2023_Faster_Apps_That_Wont_Get_Crushed_Brian_Klaas.pdf
Request/Response
Request/Response
We’ve got to wait around for some ill-
defined future point.
Request/Response
runAsync( ) in CFML 2018+
Request/Response
runAsync(validateRequest)
.then(checkInventory)
.then(processPayment)
.then(findClosestWarehouse)
.then(createPickTicket)
.then(calculateShipDate);
.then(sendEmailConfirmation);
Request/Response
var clientView = runAsync(validateRequest)
.then(processPayment)
.then(sendEmailConfirmation);
var warehouseProcess = runAsync(findClosestWarehouse)
.then(checkInventory)
.then(createPickTicket)
.then(calculateShipDate);
.then(sendShipmentDateEmail);
Request/Response
ColdBox asyncManager & Futures
async().newFuture( () => orderService.getOrder() )
.then( (order) => enrichOrder( order ) )
.then( (order) => performPayment( order ) )
.then( (order) => sendConfirmation( order ) );
Request/Response
Error handling
Retries
Throttling
New business requirements
Request/Response
Linear, linked flow encourages
brittle architectures
Request/Response
Linear, linked flow blocks
your ability to scale
Request/Response
How can we do better?
Request/Response
Event-driven
Something happens.
Code responds.
Event-driven
Database triggers
Event-driven
SQL
ColdBox Interceptors
Event-driven
Event–driven = automatic plumbing
Event-driven
Event-driven = easy fan-out
Event-driven
How do you know it’s done?
Event-driven
?
Orchestration tools
Event-driven
Orchestration = additional complexity
Event-driven
!
Something simpler?
Event-driven
Pub/Sub +
Queues
SNS = Simple Notification Service
Pub/Sub + Queues
SNS = Pub/Sub
Pub/Sub + Queues
SNS = One Publisher,
Many Subscribers
Pub/Sub + Queues
SNS Subscribers:
https endpoints (including CFML)
Email
Phone number (SMS)
SQS queue
Lambda
Kinesis Firehose
Pinpoint
Pub/Sub + Queues
SNS subscribers can:
Filter on specific criteria
Retry on delivery to https endpoints
Specify DLQ on completely failed delivery
Pub/Sub + Queues
var messageBody = { "createdOn": now()),
"userID": arguments.userID,
"event": arguments.thisEvent,
};
var messageBodyAsJSON = serializeJSON(messageBody);
var publishRequest = CreateObject('java',
‘com.amazonaws.services.sns.model.PublishRequest’)
.withTopicARN(variables.snsARN)
.withMessage(messageBodyAsJSON);
variables.snsService.publish(publishRequest);
Pub/Sub + Queues
github.com/brianklaas/awsplaybox
Add AWS Java SDK .jar to:
Adobe ColdFusion: cfusion/lib
Lucee: WEB-INF/lucee/lib/
ColdBox: lib/
Pub/Sub + Queues
SNS is about speed
Pub/Sub + Queues
SNS = Fan-out
Pub/Sub + Queues
SQS = Simple Queue Service
Pub/Sub + Queues
SQS = Stack of messages
Pub/Sub + Queues
SQS = One publisher,
one worker
Pub/Sub + Queues
Pub/Sub + Queues
CFML
(ack)
Pub/Sub + Queues
CFML
CFML
CFML
SQS queues can:
Perform content-based deduplication
Retry messages on failed processing
Specify DLQ on completely failed processing
Pub/Sub + Queues
SQS != ordered processing
Pub/Sub + Queues
SQS != only-once delivery
Pub/Sub + Queues
SQS reqiures idempotency
Pub/Sub + Queues
FIFO queues for order
Pub/Sub + Queues
Pub/Sub + Queues
github.com/brianklaas/awsplaybox
var messageBody = { "createdOn": now()),
"userID": arguments.userID,
"event": arguments.thisEvent,
};
var messageBodyAsJSON = serializeJSON(messageBody);
var sendMessageRequest =
createObject("java","com.amazonaws.services.sqs.model.SendMessageRequest")
.withQueueUrl(variables.sqsQueueURL)
.withMessageBody(messageBody);
variables.sqsService.sendMessage(sendMessageRequest);
var receiveMessageRequest =
CreateObject(‘java’,'com.amazonaws.services.sqs.model.
ReceiveMessageRequest').init()
.withQueueURL(variables.queueURL).withMaxNumberOfMessages(1);
var messagesArray =
variables.sqsService.receiveMessage(receiveMessageRequest).getMessages();
if (arrayLen(messagesArray)) {
var messageToProcess = messagesArray[1];
var receiptHandle = messageToProcess.getReceiptHandle();
var messageBody = deserializeJSON(messageToProcess.getBody());
// do work with the message
var deleteMessageResult =
variables.sqsService.deleteMessage(variables.queueURL,receiptHandle);
}
Pub/Sub + Queues
vs
Message Size Limit:
SNS = 256 KiB
SQS = 256 KiB
vs
Message Persistence:
SNS = No
SQS = Yes
vs
Message Ordering:
SNS = Yes
SQS = Yes, when using FIFO queues
vs
Message Filtering:
SNS = Yes
SQS = Yes
vs
Common Pattern: SNS in front of SQS
vs
Use cases:
SNS = Fan-out to multiple recipients
SQS = Queuing up work by processors
vs
SNS + SQS allow you to scale and
parallelize work safely and durably.
vs
Real-World Example 1
Example
Example
Example
Example
Example
Example
Example
Example
( numRequests * avg execution time )
seconds for scheduled task
var remainingTime = 55000;
do {
var messageProcessStartTime = getTickCount();
// get SQS message, generate and send email, delete message
var messageProcessEndTime = getTickCount();
remainingTime -= (messageProcessEndTime - messageProcessStartTime);
} while (remainingTime gt 0);
Example
Example
Processing–intensive tasks
Throttle processing of a batch of items
Real-World Example 2
Example
Example
Example
Example
Example
Example
Example
Example
Kinesis Data Firehose:
Can ingest up to 500,000 records/second
Stores records for up to 7 days
Manages writing to the destination
Can be queried in real-time with Kinesis Data Analytics
Example
Example
Example
Amazon Athena:
Query files in S3 with SQL
Store in JSON, CSV, or Parquet formats
Ad-hoc or repeated queries
Pay based on amount of data scanned
Example
Example
Example
Example
Example
Example
So how much does this cost?
Example
40 million requests = $30/month
Example
Example
Safe experimentation!
Example
Go Do!
Brian Klaas
@brian_klaas
Blog: brianklaas.net
github.com/brianklaas/awsplaybox
THANK YOU
Thanks to our sponsors
1 de 96

Recomendados

Evolution of the REST API por
Evolution of the REST APIEvolution of the REST API
Evolution of the REST APIJeremyOtt5
263 visualizações37 slides
Bonnes pratiques de développement avec Node js por
Bonnes pratiques de développement avec Node jsBonnes pratiques de développement avec Node js
Bonnes pratiques de développement avec Node jsFrancois Zaninotto
5.7K visualizações26 slides
API Days Paris - Automatic Testing of (RESTful) API Documentation por
API Days Paris - Automatic Testing of (RESTful) API DocumentationAPI Days Paris - Automatic Testing of (RESTful) API Documentation
API Days Paris - Automatic Testing of (RESTful) API DocumentationRouven Weßling
438 visualizações26 slides
Amazon API Gateway and AWS Lambda: Better Together por
Amazon API Gateway and AWS Lambda: Better TogetherAmazon API Gateway and AWS Lambda: Better Together
Amazon API Gateway and AWS Lambda: Better TogetherDanilo Poccia
2.7K visualizações32 slides
Anton Moldovan "Load testing which you always wanted" por
Anton Moldovan "Load testing which you always wanted"Anton Moldovan "Load testing which you always wanted"
Anton Moldovan "Load testing which you always wanted"Fwdays
1.1K visualizações81 slides
Nordic APIs - Automatic Testing of (RESTful) API Documentation por
Nordic APIs - Automatic Testing of (RESTful) API DocumentationNordic APIs - Automatic Testing of (RESTful) API Documentation
Nordic APIs - Automatic Testing of (RESTful) API DocumentationRouven Weßling
235 visualizações26 slides

Mais conteúdo relacionado

Similar a ITB_2023_Faster_Apps_That_Wont_Get_Crushed_Brian_Klaas.pdf

[1C1]Service Workers por
[1C1]Service Workers[1C1]Service Workers
[1C1]Service WorkersNAVER D2
5.5K visualizações26 slides
Serverless Apps with AWS Step Functions por
Serverless Apps with AWS Step FunctionsServerless Apps with AWS Step Functions
Serverless Apps with AWS Step FunctionsAmanda Mackay (she/her)
672 visualizações55 slides
Azure Durable Functions (2018-06-13) por
Azure Durable Functions (2018-06-13)Azure Durable Functions (2018-06-13)
Azure Durable Functions (2018-06-13)Paco de la Cruz
6.8K visualizações26 slides
"Load Testing Distributed Systems with NBomber 4.0", Anton Moldovan por
"Load Testing Distributed Systems with NBomber 4.0",  Anton Moldovan"Load Testing Distributed Systems with NBomber 4.0",  Anton Moldovan
"Load Testing Distributed Systems with NBomber 4.0", Anton MoldovanFwdays
303 visualizações52 slides
Webauthn Tutorial por
Webauthn TutorialWebauthn Tutorial
Webauthn TutorialFIDO Alliance
12.2K visualizações45 slides
Intro to Asynchronous Javascript por
Intro to Asynchronous JavascriptIntro to Asynchronous Javascript
Intro to Asynchronous JavascriptGarrett Welson
601 visualizações62 slides

Similar a ITB_2023_Faster_Apps_That_Wont_Get_Crushed_Brian_Klaas.pdf(20)

[1C1]Service Workers por NAVER D2
[1C1]Service Workers[1C1]Service Workers
[1C1]Service Workers
NAVER D25.5K visualizações
Serverless Apps with AWS Step Functions por Amanda Mackay (she/her)
Serverless Apps with AWS Step FunctionsServerless Apps with AWS Step Functions
Serverless Apps with AWS Step Functions
Amanda Mackay (she/her)672 visualizações
Azure Durable Functions (2018-06-13) por Paco de la Cruz
Azure Durable Functions (2018-06-13)Azure Durable Functions (2018-06-13)
Azure Durable Functions (2018-06-13)
Paco de la Cruz6.8K visualizações
"Load Testing Distributed Systems with NBomber 4.0", Anton Moldovan por Fwdays
"Load Testing Distributed Systems with NBomber 4.0",  Anton Moldovan"Load Testing Distributed Systems with NBomber 4.0",  Anton Moldovan
"Load Testing Distributed Systems with NBomber 4.0", Anton Moldovan
Fwdays303 visualizações
Webauthn Tutorial por FIDO Alliance
Webauthn TutorialWebauthn Tutorial
Webauthn Tutorial
FIDO Alliance12.2K visualizações
Intro to Asynchronous Javascript por Garrett Welson
Intro to Asynchronous JavascriptIntro to Asynchronous Javascript
Intro to Asynchronous Javascript
Garrett Welson601 visualizações
SMC304 Serverless Orchestration with AWS Step Functions por Amazon Web Services
SMC304 Serverless Orchestration with AWS Step FunctionsSMC304 Serverless Orchestration with AWS Step Functions
SMC304 Serverless Orchestration with AWS Step Functions
Amazon Web Services932 visualizações
Being a pimp without silverlight por Maarten Balliauw
Being a pimp without silverlightBeing a pimp without silverlight
Being a pimp without silverlight
Maarten Balliauw625 visualizações
Being a pimp without silverlight - ASP.NET MVC 2 and jQuery por Kris van der Mast
Being a pimp without silverlight - ASP.NET MVC 2 and jQueryBeing a pimp without silverlight - ASP.NET MVC 2 and jQuery
Being a pimp without silverlight - ASP.NET MVC 2 and jQuery
Kris van der Mast1.8K visualizações
Being a pimp without silverlight por Kris van der Mast
Being a pimp without silverlightBeing a pimp without silverlight
Being a pimp without silverlight
Kris van der Mast328 visualizações
Use Windows Azure Service Bus, BizTalk Services, Mobile Services, and BizTalk... por BizTalk360
Use Windows Azure Service Bus, BizTalk Services, Mobile Services, and BizTalk...Use Windows Azure Service Bus, BizTalk Services, Mobile Services, and BizTalk...
Use Windows Azure Service Bus, BizTalk Services, Mobile Services, and BizTalk...
BizTalk3603.3K visualizações
Callbacks, Promises, and Coroutines (oh my!): Asynchronous Programming Patter... por Domenic Denicola
Callbacks, Promises, and Coroutines (oh my!): Asynchronous Programming Patter...Callbacks, Promises, and Coroutines (oh my!): Asynchronous Programming Patter...
Callbacks, Promises, and Coroutines (oh my!): Asynchronous Programming Patter...
Domenic Denicola184.2K visualizações
Azure SQL Database - Connectivity Best Practices por Jose Manuel Jurado Diaz
Azure SQL Database - Connectivity Best PracticesAzure SQL Database - Connectivity Best Practices
Azure SQL Database - Connectivity Best Practices
Jose Manuel Jurado Diaz1.3K visualizações
4Developers 2018: Real-time capabilities in ASP.NET Core web applications (To... por PROIDEA
4Developers 2018: Real-time capabilities in ASP.NET Core web applications (To...4Developers 2018: Real-time capabilities in ASP.NET Core web applications (To...
4Developers 2018: Real-time capabilities in ASP.NET Core web applications (To...
PROIDEA68 visualizações
Final microsoft cloud summit - windows azure building block services por stratospheres
Final   microsoft cloud summit - windows azure building block servicesFinal   microsoft cloud summit - windows azure building block services
Final microsoft cloud summit - windows azure building block services
stratospheres720 visualizações
Server Side Events por thepilif
Server Side EventsServer Side Events
Server Side Events
thepilif2.9K visualizações
ReactJS por Kamlesh Singh
ReactJSReactJS
ReactJS
Kamlesh Singh2.3K visualizações
Building Event Driven Services with Kafka Streams por Ben Stopford
Building Event Driven Services with Kafka StreamsBuilding Event Driven Services with Kafka Streams
Building Event Driven Services with Kafka Streams
Ben Stopford13K visualizações
Serverless Angular, Material, Firebase and Google Cloud applications por Loiane Groner
Serverless Angular, Material, Firebase and Google Cloud applicationsServerless Angular, Material, Firebase and Google Cloud applications
Serverless Angular, Material, Firebase and Google Cloud applications
Loiane Groner2K visualizações
Automated acceptance test por Bryan Liu
Automated acceptance testAutomated acceptance test
Automated acceptance test
Bryan Liu1.2K visualizações

Mais de Ortus Solutions, Corp

Luis Majano The Battlefield ORM por
Luis Majano The Battlefield ORMLuis Majano The Battlefield ORM
Luis Majano The Battlefield ORMOrtus Solutions, Corp
28 visualizações74 slides
Brad Wood - CommandBox CLI por
Brad Wood - CommandBox CLI Brad Wood - CommandBox CLI
Brad Wood - CommandBox CLI Ortus Solutions, Corp
59 visualizações55 slides
Secure your Secrets and Settings in ColdFusion por
Secure your Secrets and Settings in ColdFusionSecure your Secrets and Settings in ColdFusion
Secure your Secrets and Settings in ColdFusionOrtus Solutions, Corp
72 visualizações97 slides
Daniel Garcia ContentBox: CFSummit 2023 por
Daniel Garcia ContentBox: CFSummit 2023Daniel Garcia ContentBox: CFSummit 2023
Daniel Garcia ContentBox: CFSummit 2023Ortus Solutions, Corp
41 visualizações40 slides
ITB_2023_CommandBox_Multi-Server_-_Brad_Wood.pdf por
ITB_2023_CommandBox_Multi-Server_-_Brad_Wood.pdfITB_2023_CommandBox_Multi-Server_-_Brad_Wood.pdf
ITB_2023_CommandBox_Multi-Server_-_Brad_Wood.pdfOrtus Solutions, Corp
14 visualizações21 slides
ITB_2023_The_Many_Layers_of_OAuth_Keith_Casey_.pdf por
ITB_2023_The_Many_Layers_of_OAuth_Keith_Casey_.pdfITB_2023_The_Many_Layers_of_OAuth_Keith_Casey_.pdf
ITB_2023_The_Many_Layers_of_OAuth_Keith_Casey_.pdfOrtus Solutions, Corp
14 visualizações51 slides

Mais de Ortus Solutions, Corp(20)

Luis Majano The Battlefield ORM por Ortus Solutions, Corp
Luis Majano The Battlefield ORMLuis Majano The Battlefield ORM
Luis Majano The Battlefield ORM
Ortus Solutions, Corp28 visualizações
Secure your Secrets and Settings in ColdFusion por Ortus Solutions, Corp
Secure your Secrets and Settings in ColdFusionSecure your Secrets and Settings in ColdFusion
Secure your Secrets and Settings in ColdFusion
Ortus Solutions, Corp72 visualizações
Daniel Garcia ContentBox: CFSummit 2023 por Ortus Solutions, Corp
Daniel Garcia ContentBox: CFSummit 2023Daniel Garcia ContentBox: CFSummit 2023
Daniel Garcia ContentBox: CFSummit 2023
Ortus Solutions, Corp41 visualizações
ITB_2023_CommandBox_Multi-Server_-_Brad_Wood.pdf por Ortus Solutions, Corp
ITB_2023_CommandBox_Multi-Server_-_Brad_Wood.pdfITB_2023_CommandBox_Multi-Server_-_Brad_Wood.pdf
ITB_2023_CommandBox_Multi-Server_-_Brad_Wood.pdf
Ortus Solutions, Corp14 visualizações
ITB_2023_The_Many_Layers_of_OAuth_Keith_Casey_.pdf por Ortus Solutions, Corp
ITB_2023_The_Many_Layers_of_OAuth_Keith_Casey_.pdfITB_2023_The_Many_Layers_of_OAuth_Keith_Casey_.pdf
ITB_2023_The_Many_Layers_of_OAuth_Keith_Casey_.pdf
Ortus Solutions, Corp14 visualizações
ITB_2023_Extend_your_contentbox_apps_with_custom_modules_Javier_Quintero.pdf por Ortus Solutions, Corp
ITB_2023_Extend_your_contentbox_apps_with_custom_modules_Javier_Quintero.pdfITB_2023_Extend_your_contentbox_apps_with_custom_modules_Javier_Quintero.pdf
ITB_2023_Extend_your_contentbox_apps_with_custom_modules_Javier_Quintero.pdf
Ortus Solutions, Corp6 visualizações
ITB_2023_25_Most_Dangerous_Software_Weaknesses_Pete_Freitag.pdf por Ortus Solutions, Corp
ITB_2023_25_Most_Dangerous_Software_Weaknesses_Pete_Freitag.pdfITB_2023_25_Most_Dangerous_Software_Weaknesses_Pete_Freitag.pdf
ITB_2023_25_Most_Dangerous_Software_Weaknesses_Pete_Freitag.pdf
Ortus Solutions, Corp11 visualizações
ITB_2023_CBWire_v3_Grant_Copley.pdf por Ortus Solutions, Corp
ITB_2023_CBWire_v3_Grant_Copley.pdfITB_2023_CBWire_v3_Grant_Copley.pdf
ITB_2023_CBWire_v3_Grant_Copley.pdf
Ortus Solutions, Corp7 visualizações
ITB_2023_Practical_AI_with_OpenAI_-_Grant_Copley_.pdf por Ortus Solutions, Corp
ITB_2023_Practical_AI_with_OpenAI_-_Grant_Copley_.pdfITB_2023_Practical_AI_with_OpenAI_-_Grant_Copley_.pdf
ITB_2023_Practical_AI_with_OpenAI_-_Grant_Copley_.pdf
Ortus Solutions, Corp16 visualizações
ITB_2023_When_Your_Applications_Work_As_a_Team_Nathaniel_Francis.pdf por Ortus Solutions, Corp
ITB_2023_When_Your_Applications_Work_As_a_Team_Nathaniel_Francis.pdfITB_2023_When_Your_Applications_Work_As_a_Team_Nathaniel_Francis.pdf
ITB_2023_When_Your_Applications_Work_As_a_Team_Nathaniel_Francis.pdf
Ortus Solutions, Corp4 visualizações
ITB_2023_Chatgpt_Box_Scott_Steinbeck.pdf por Ortus Solutions, Corp
ITB_2023_Chatgpt_Box_Scott_Steinbeck.pdfITB_2023_Chatgpt_Box_Scott_Steinbeck.pdf
ITB_2023_Chatgpt_Box_Scott_Steinbeck.pdf
Ortus Solutions, Corp19 visualizações
ITB_2023_CommandBox_Task_Runners_Brad_Wood.pdf por Ortus Solutions, Corp
ITB_2023_CommandBox_Task_Runners_Brad_Wood.pdfITB_2023_CommandBox_Task_Runners_Brad_Wood.pdf
ITB_2023_CommandBox_Task_Runners_Brad_Wood.pdf
Ortus Solutions, Corp6 visualizações
ITB2023 Developing for Performance - Denard Springle.pdf por Ortus Solutions, Corp
ITB2023 Developing for Performance - Denard Springle.pdfITB2023 Developing for Performance - Denard Springle.pdf
ITB2023 Developing for Performance - Denard Springle.pdf
Ortus Solutions, Corp14 visualizações
Enterprise Messaging with RabbitMQ.pdf por Ortus Solutions, Corp
Enterprise Messaging with RabbitMQ.pdfEnterprise Messaging with RabbitMQ.pdf
Enterprise Messaging with RabbitMQ.pdf
Ortus Solutions, Corp90 visualizações
Into The Box 2023 Keynote Day 1 por Ortus Solutions, Corp
Into The Box 2023 Keynote Day 1Into The Box 2023 Keynote Day 1
Into The Box 2023 Keynote Day 1
Ortus Solutions, Corp17 visualizações
Secure all things with CBSecurity 3 por Ortus Solutions, Corp
Secure all things with CBSecurity 3Secure all things with CBSecurity 3
Secure all things with CBSecurity 3
Ortus Solutions, Corp17 visualizações
CBSecurity 3 - Secure Your ColdBox Applications por Ortus Solutions, Corp
CBSecurity 3 - Secure Your ColdBox ApplicationsCBSecurity 3 - Secure Your ColdBox Applications
CBSecurity 3 - Secure Your ColdBox Applications
Ortus Solutions, Corp51 visualizações

Último

Software evolution understanding: Automatic extraction of software identifier... por
Software evolution understanding: Automatic extraction of software identifier...Software evolution understanding: Automatic extraction of software identifier...
Software evolution understanding: Automatic extraction of software identifier...Ra'Fat Al-Msie'deen
7 visualizações33 slides
Headless JS UG Presentation.pptx por
Headless JS UG Presentation.pptxHeadless JS UG Presentation.pptx
Headless JS UG Presentation.pptxJack Spektor
7 visualizações24 slides
DSD-INT 2023 Machine learning in hydraulic engineering - Exploring unseen fut... por
DSD-INT 2023 Machine learning in hydraulic engineering - Exploring unseen fut...DSD-INT 2023 Machine learning in hydraulic engineering - Exploring unseen fut...
DSD-INT 2023 Machine learning in hydraulic engineering - Exploring unseen fut...Deltares
6 visualizações28 slides
Winter '24 Release Chat.pdf por
Winter '24 Release Chat.pdfWinter '24 Release Chat.pdf
Winter '24 Release Chat.pdfmelbourneauuser
9 visualizações20 slides
SAP FOR TYRE INDUSTRY.pdf por
SAP FOR TYRE INDUSTRY.pdfSAP FOR TYRE INDUSTRY.pdf
SAP FOR TYRE INDUSTRY.pdfVirendra Rai, PMP
24 visualizações3 slides
Keep por
KeepKeep
KeepGeniusee
75 visualizações10 slides

Último(20)

Software evolution understanding: Automatic extraction of software identifier... por Ra'Fat Al-Msie'deen
Software evolution understanding: Automatic extraction of software identifier...Software evolution understanding: Automatic extraction of software identifier...
Software evolution understanding: Automatic extraction of software identifier...
Ra'Fat Al-Msie'deen7 visualizações
Headless JS UG Presentation.pptx por Jack Spektor
Headless JS UG Presentation.pptxHeadless JS UG Presentation.pptx
Headless JS UG Presentation.pptx
Jack Spektor7 visualizações
DSD-INT 2023 Machine learning in hydraulic engineering - Exploring unseen fut... por Deltares
DSD-INT 2023 Machine learning in hydraulic engineering - Exploring unseen fut...DSD-INT 2023 Machine learning in hydraulic engineering - Exploring unseen fut...
DSD-INT 2023 Machine learning in hydraulic engineering - Exploring unseen fut...
Deltares6 visualizações
Winter '24 Release Chat.pdf por melbourneauuser
Winter '24 Release Chat.pdfWinter '24 Release Chat.pdf
Winter '24 Release Chat.pdf
melbourneauuser9 visualizações
SAP FOR TYRE INDUSTRY.pdf por Virendra Rai, PMP
SAP FOR TYRE INDUSTRY.pdfSAP FOR TYRE INDUSTRY.pdf
SAP FOR TYRE INDUSTRY.pdf
Virendra Rai, PMP24 visualizações
Keep por Geniusee
KeepKeep
Keep
Geniusee75 visualizações
El Arte de lo Possible por Neo4j
El Arte de lo PossibleEl Arte de lo Possible
El Arte de lo Possible
Neo4j39 visualizações
Copilot Prompting Toolkit_All Resources.pdf por Riccardo Zamana
Copilot Prompting Toolkit_All Resources.pdfCopilot Prompting Toolkit_All Resources.pdf
Copilot Prompting Toolkit_All Resources.pdf
Riccardo Zamana8 visualizações
360 graden fabriek por info33492
360 graden fabriek360 graden fabriek
360 graden fabriek
info3349236 visualizações
Advanced API Mocking Techniques por Dimpy Adhikary
Advanced API Mocking TechniquesAdvanced API Mocking Techniques
Advanced API Mocking Techniques
Dimpy Adhikary19 visualizações
WebAssembly por Jens Siebert
WebAssemblyWebAssembly
WebAssembly
Jens Siebert35 visualizações
Generic or specific? Making sensible software design decisions por Bert Jan Schrijver
Generic or specific? Making sensible software design decisionsGeneric or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisions
Bert Jan Schrijver6 visualizações
Fleet Management Software in India por Fleetable
Fleet Management Software in India Fleet Management Software in India
Fleet Management Software in India
Fleetable11 visualizações
DSD-INT 2023 The Danube Hazardous Substances Model - Kovacs por Deltares
DSD-INT 2023 The Danube Hazardous Substances Model - KovacsDSD-INT 2023 The Danube Hazardous Substances Model - Kovacs
DSD-INT 2023 The Danube Hazardous Substances Model - Kovacs
Deltares8 visualizações
Software testing company in India.pptx por SakshiPatel82
Software testing company in India.pptxSoftware testing company in India.pptx
Software testing company in India.pptx
SakshiPatel827 visualizações
What Can Employee Monitoring Software Do?​ por wAnywhere
What Can Employee Monitoring Software Do?​What Can Employee Monitoring Software Do?​
What Can Employee Monitoring Software Do?​
wAnywhere21 visualizações
Citi TechTalk Session 2: Kafka Deep Dive por confluent
Citi TechTalk Session 2: Kafka Deep DiveCiti TechTalk Session 2: Kafka Deep Dive
Citi TechTalk Session 2: Kafka Deep Dive
confluent17 visualizações
DSD-INT 2023 European Digital Twin Ocean and Delft3D FM - Dols por Deltares
DSD-INT 2023 European Digital Twin Ocean and Delft3D FM - DolsDSD-INT 2023 European Digital Twin Ocean and Delft3D FM - Dols
DSD-INT 2023 European Digital Twin Ocean and Delft3D FM - Dols
Deltares7 visualizações
.NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra... por Marc Müller
.NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra....NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra...
.NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra...
Marc Müller38 visualizações

ITB_2023_Faster_Apps_That_Wont_Get_Crushed_Brian_Klaas.pdf