SlideShare a Scribd company logo
REACTIVE
PROGRAMMING
TAKING THE RED PILL
Pieter Nijs
Welcome
Pieter Nijs
Senior .NET Consultant
Competence Lead Mobile
Microsoft Extended Experts Team member
Realm MVP
E pieternijs@live.be
T @nijspieter
B blog.pieeatingninjas.be
@ Ordina Belgium
Welcome
Pieter Nijs
Senior .NET Consultant
Competence Lead Mobile
Microsoft Extended Experts Team member
Realm MVP
E pieternijs@live.be
T @nijspieter
B blog.pieeatingninjas.be
@ Ordina Belgium
Don’t worry about the
difference of opinion
What is
Reactive Programming?
Reactive programming
Helps with today’s challenges
Nothingnew
Reactive programming
World around us has changed
LOB / internal
business applications
Consumer-facing apps
CRUD Real-time data consumption
PCs / terminals
Smart phones, tablets, TVs,
wearables, coffee machines,
mirrors,…
Reactive programming
Event-driven
Scalable Resilient
Responsive
Reactive programming
Responsive
…and lazy
Interactive programming
Program asks the enviroment for something
Programs PULLS data from the environment
var input = Console.ReadLine();
…
foreach(var item in items) { }
Reactive programming
Environment sends data to the program
Program may need to react to that
Environment PUSHES data to the program
okButton.Click += OnButtonClicked;
DoStuffAsync(callbackWhenItsDone);
What is
IObservable<T>?
“Events are just lists... backwards.”
- Paul Betts
IObservable<T>
OnCompleted OnNext OnNext OnNext OnNext
OnError
IEnumerable<T>
IEnumerable<T>
IObservable<T>
MyApp
MoveNext() MoveNext()
IObservable<T>
MyApp
OnNext() OnNext() OnCompleted()
Example Observables
Observable.FromRange(0, 5);
OnNext OnNext OnNext OnNext OnNext
OnCompleted
0 1 2 3 4
Example Observables
Observable.FromEventPattern<PropertyChangedEventHandler,
PropertyChangedEventArgs>(
x => PropertyChanged += x,
x => PropertyChanged -= x);
OnNext OnNext OnNext
EventPattern<PropertyChangedEventArgs> EventPattern<PropertyChangedEventArgs>
What is
an Observer?
IObservable<T>
T T T T T
Subscribing
Listening to the incoming messages
• Get the values of IObservable
• Process each value
• Filter on values
• Multiple subscriptions possible
• Listen for error
• IDisposable
Subscribing
var rangeObservable = Observable.Range(0, 5);
var rangeObserver = rangeObservable.Subscribe(i =>
{
Debug.WriteLine(i);
});
rangeObserver.Dispose();
Subscribing
var propChangedObservable =
Observable.FromEventPattern
<PropertyChangedEventHandler,
PropertyChangedEventArgs>(
x => PropertyChanged += x,
x => PropertyChanged -= x);
var propChangedObserver =
propChangedObservable.Subscribe(propchange =>
{
Debug.WriteLine(
$"Prop'{propchange.EventArgs.PropertyName}' changed.");
});
What does it look
like in code?
Convinced?
“Honestly,
I don’t know…”
Who loves
functional programming?
LINQ
Why do we love LINQ so much?
var names = new string[] { "Pieter", "Stefanie", "Bruce" };
var query = names.Where(filterOnName).OrderBy(n => n).Select(n => n.ToUpper());
foreach (var item in query)
{
Console.WriteLine(item);
}
Immutability
Function pipeline
Lazy evaluation
Abstraction
IEnumerable => LINQ
IObservable => Rx
Reactive Extensions (Rx)
Created by Microsoft in 2009
RxJS (2010)
RxJava (2012)
RxCpp (2012)
RxRuby (2012)
RxScala (2013)
RxPHP (2013)
RxSwift (2015)
Reactive Extensions (Rx)
Take
Where
Select
Delay
Throttle
DistinctUntilChangedCombineLatest
Buffer
Sample
Retry
Aggregate
What does it look
like in code?
What about
async/await?
What if I told you
async/await is
compatible with Rx
Async/await
Observable.FromAsync(() => DoRequestAsync(url))
.Timeout(TimeSpan.FromMilliseconds(200))
.Retry(3)
.OnErrorResumeNext(
Observable.FromAsync(
() => DoRequestAsync2(url)))
• Async/await ++
Async/await
You can await an Observable!
var result = await observable;
string result = await observable.FirstAsync();
string result = await observable.FirstOrDefaultAsync();
string result = await observable.LastAsync();
What does it look
like in code?
But…
I like MVVM…
What if I told you
MVVM and Rx can work
perfectly together?
DIY
INotifyPropertyChanged
INotifyPropertyChanged
var propChangedObservable =
Observable.FromEventPattern
<PropertyChangedEventHandler,
PropertyChangedEventArgs>(
x => PropertyChanged += x,
x => PropertyChanged -= x);
var propChangedObserver =
propChangedObservable.Subscribe(propchange =>
{
...
});
ReactiveUI
public class MyViewModel : ReactiveObject
• Reactive Bindings
• ReactiveCommands
• PropertyChanged observation with WhenAnyValue()
What does it look
like in code?
Conclusion
Reactive programming
• Event-driven architecture
• Resilient
• Scalable
• Responsive
• Events
• User interaction
• Data flowing-in through streams
• Not the silver bullet
• Use the right tool for the job!
Thank you
Pieter Nijs
Senior .NET Consultant
Competence Lead Mobile
Microsoft Extended Experts Team member
Realm MVP
E pieternijs@live.be
T @nijspieter
B blog.pieeatingninjas.be
@ Ordina Belgium
Thank you
Pieter Nijs
Senior .NET Consultant
Competence Lead Mobile
Microsoft Extended Experts Team member
Realm MVP
E pieternijs@live.be
T @nijspieter
B blog.pieeatingninjas.be
@ Ordina Belgium

More Related Content

What's hot

TensorFlow 16: Building a Data Science Platform
TensorFlow 16: Building a Data Science Platform TensorFlow 16: Building a Data Science Platform
TensorFlow 16: Building a Data Science Platform
Seldon
 
Scaling up Deep Learning by Scaling Down
Scaling up Deep Learning by Scaling DownScaling up Deep Learning by Scaling Down
Scaling up Deep Learning by Scaling Down
Databricks
 
“Houston, we have a model...” Introduction to MLOps
“Houston, we have a model...” Introduction to MLOps“Houston, we have a model...” Introduction to MLOps
“Houston, we have a model...” Introduction to MLOps
Rui Quintino
 
Patrick Hall, H2O.ai - Human Friendly Machine Learning - H2O World San Francisco
Patrick Hall, H2O.ai - Human Friendly Machine Learning - H2O World San FranciscoPatrick Hall, H2O.ai - Human Friendly Machine Learning - H2O World San Francisco
Patrick Hall, H2O.ai - Human Friendly Machine Learning - H2O World San Francisco
Sri Ambati
 
Apache Liminal (Incubating)—Orchestrate the Machine Learning Pipeline
Apache Liminal (Incubating)—Orchestrate the Machine Learning PipelineApache Liminal (Incubating)—Orchestrate the Machine Learning Pipeline
Apache Liminal (Incubating)—Orchestrate the Machine Learning Pipeline
Databricks
 
Martin Stein, G5 - Driving Marketing Performance with H2O Driverless AI - H2O...
Martin Stein, G5 - Driving Marketing Performance with H2O Driverless AI - H2O...Martin Stein, G5 - Driving Marketing Performance with H2O Driverless AI - H2O...
Martin Stein, G5 - Driving Marketing Performance with H2O Driverless AI - H2O...
Sri Ambati
 
Machine Learning With ML.NET
Machine Learning With ML.NETMachine Learning With ML.NET
Machine Learning With ML.NET
Dev Raj Gautam
 
Dataiku meetup 12 july 2018 Amsterdam
Dataiku meetup 12 july 2018 AmsterdamDataiku meetup 12 july 2018 Amsterdam
Dataiku meetup 12 july 2018 Amsterdam
Longhow Lam
 
Aiman
AimanAiman
Aiman
Aiman Khan
 
Scaling Up Machine Learning: How to Benchmark GraphLab Create on Huge Datasets
Scaling Up Machine Learning: How to Benchmark GraphLab Create on Huge DatasetsScaling Up Machine Learning: How to Benchmark GraphLab Create on Huge Datasets
Scaling Up Machine Learning: How to Benchmark GraphLab Create on Huge Datasets
Turi, Inc.
 
MLSEV. BigML Workshop II
MLSEV. BigML Workshop IIMLSEV. BigML Workshop II
MLSEV. BigML Workshop II
BigML, Inc
 
Kyrylo Perevozchykov "Continuous delivery for Machine Learning, the future of...
Kyrylo Perevozchykov "Continuous delivery for Machine Learning, the future of...Kyrylo Perevozchykov "Continuous delivery for Machine Learning, the future of...
Kyrylo Perevozchykov "Continuous delivery for Machine Learning, the future of...
Fwdays
 
201906 02 Introduction to AutoML with ML.NET 1.0
201906 02 Introduction to AutoML with ML.NET 1.0201906 02 Introduction to AutoML with ML.NET 1.0
201906 02 Introduction to AutoML with ML.NET 1.0
Mark Tabladillo
 
201906 01 Introduction to ML.NET 1.0
201906 01 Introduction to ML.NET 1.0201906 01 Introduction to ML.NET 1.0
201906 01 Introduction to ML.NET 1.0
Mark Tabladillo
 
Ashutosh's resume (2)
Ashutosh's resume (2)Ashutosh's resume (2)
Ashutosh's resume (2)
Ashutosh Vishnoi
 
Parallel Execution of Model Management Programs (STAF 2017)
Parallel Execution of Model Management Programs (STAF 2017)Parallel Execution of Model Management Programs (STAF 2017)
Parallel Execution of Model Management Programs (STAF 2017)
Sina Madani
 

What's hot (16)

TensorFlow 16: Building a Data Science Platform
TensorFlow 16: Building a Data Science Platform TensorFlow 16: Building a Data Science Platform
TensorFlow 16: Building a Data Science Platform
 
Scaling up Deep Learning by Scaling Down
Scaling up Deep Learning by Scaling DownScaling up Deep Learning by Scaling Down
Scaling up Deep Learning by Scaling Down
 
“Houston, we have a model...” Introduction to MLOps
“Houston, we have a model...” Introduction to MLOps“Houston, we have a model...” Introduction to MLOps
“Houston, we have a model...” Introduction to MLOps
 
Patrick Hall, H2O.ai - Human Friendly Machine Learning - H2O World San Francisco
Patrick Hall, H2O.ai - Human Friendly Machine Learning - H2O World San FranciscoPatrick Hall, H2O.ai - Human Friendly Machine Learning - H2O World San Francisco
Patrick Hall, H2O.ai - Human Friendly Machine Learning - H2O World San Francisco
 
Apache Liminal (Incubating)—Orchestrate the Machine Learning Pipeline
Apache Liminal (Incubating)—Orchestrate the Machine Learning PipelineApache Liminal (Incubating)—Orchestrate the Machine Learning Pipeline
Apache Liminal (Incubating)—Orchestrate the Machine Learning Pipeline
 
Martin Stein, G5 - Driving Marketing Performance with H2O Driverless AI - H2O...
Martin Stein, G5 - Driving Marketing Performance with H2O Driverless AI - H2O...Martin Stein, G5 - Driving Marketing Performance with H2O Driverless AI - H2O...
Martin Stein, G5 - Driving Marketing Performance with H2O Driverless AI - H2O...
 
Machine Learning With ML.NET
Machine Learning With ML.NETMachine Learning With ML.NET
Machine Learning With ML.NET
 
Dataiku meetup 12 july 2018 Amsterdam
Dataiku meetup 12 july 2018 AmsterdamDataiku meetup 12 july 2018 Amsterdam
Dataiku meetup 12 july 2018 Amsterdam
 
Aiman
AimanAiman
Aiman
 
Scaling Up Machine Learning: How to Benchmark GraphLab Create on Huge Datasets
Scaling Up Machine Learning: How to Benchmark GraphLab Create on Huge DatasetsScaling Up Machine Learning: How to Benchmark GraphLab Create on Huge Datasets
Scaling Up Machine Learning: How to Benchmark GraphLab Create on Huge Datasets
 
MLSEV. BigML Workshop II
MLSEV. BigML Workshop IIMLSEV. BigML Workshop II
MLSEV. BigML Workshop II
 
Kyrylo Perevozchykov "Continuous delivery for Machine Learning, the future of...
Kyrylo Perevozchykov "Continuous delivery for Machine Learning, the future of...Kyrylo Perevozchykov "Continuous delivery for Machine Learning, the future of...
Kyrylo Perevozchykov "Continuous delivery for Machine Learning, the future of...
 
201906 02 Introduction to AutoML with ML.NET 1.0
201906 02 Introduction to AutoML with ML.NET 1.0201906 02 Introduction to AutoML with ML.NET 1.0
201906 02 Introduction to AutoML with ML.NET 1.0
 
201906 01 Introduction to ML.NET 1.0
201906 01 Introduction to ML.NET 1.0201906 01 Introduction to ML.NET 1.0
201906 01 Introduction to ML.NET 1.0
 
Ashutosh's resume (2)
Ashutosh's resume (2)Ashutosh's resume (2)
Ashutosh's resume (2)
 
Parallel Execution of Model Management Programs (STAF 2017)
Parallel Execution of Model Management Programs (STAF 2017)Parallel Execution of Model Management Programs (STAF 2017)
Parallel Execution of Model Management Programs (STAF 2017)
 

Similar to Unite 2017 - Reactive Programming - Pieter Nijs

Reactive programming
Reactive programmingReactive programming
Reactive programming
Nick Hodge
 
Cytoscape CI Chapter 2
Cytoscape CI Chapter 2Cytoscape CI Chapter 2
Cytoscape CI Chapter 2
bdemchak
 
NDC Sydney 2019 - Microservices for building an IDE – The innards of JetBrain...
NDC Sydney 2019 - Microservices for building an IDE – The innards of JetBrain...NDC Sydney 2019 - Microservices for building an IDE – The innards of JetBrain...
NDC Sydney 2019 - Microservices for building an IDE – The innards of JetBrain...
Maarten Balliauw
 
MWLUG 2014: Modern Domino (workshop)
MWLUG 2014: Modern Domino (workshop)MWLUG 2014: Modern Domino (workshop)
MWLUG 2014: Modern Domino (workshop)
Peter Presnell
 
Reactive Java Robotics & IoT with Spring Reactor
Reactive Java Robotics & IoT with Spring ReactorReactive Java Robotics & IoT with Spring Reactor
Reactive Java Robotics & IoT with Spring Reactor
Trayan Iliev
 
Writing high performance code in Net 7.pptx
Writing high performance code in Net 7.pptxWriting high performance code in Net 7.pptx
Writing high performance code in Net 7.pptx
Javier Cantón Ferrero
 
Microservices for building an IDE – The innards of JetBrains Rider - TechDays...
Microservices for building an IDE – The innards of JetBrains Rider - TechDays...Microservices for building an IDE – The innards of JetBrains Rider - TechDays...
Microservices for building an IDE – The innards of JetBrains Rider - TechDays...
Maarten Balliauw
 
Overview Of Parallel Development - Ericnel
Overview Of Parallel Development -  EricnelOverview Of Parallel Development -  Ericnel
Overview Of Parallel Development - Ericnel
ukdpe
 
Reactive Microservices with Quarkus
Reactive Microservices with QuarkusReactive Microservices with Quarkus
Reactive Microservices with Quarkus
Niklas Heidloff
 
React Native and the future of web technology (Mark Wilcox) - GreeceJS #15
React Native and the future of web technology (Mark Wilcox) - GreeceJS #15React Native and the future of web technology (Mark Wilcox) - GreeceJS #15
React Native and the future of web technology (Mark Wilcox) - GreeceJS #15
GreeceJS
 
Keynote: Trends in Modern Application Development - Gilly Dekel, IBM
Keynote: Trends in Modern Application Development - Gilly Dekel, IBMKeynote: Trends in Modern Application Development - Gilly Dekel, IBM
Keynote: Trends in Modern Application Development - Gilly Dekel, IBM
Codemotion Tel Aviv
 
Reactive Architectures
Reactive ArchitecturesReactive Architectures
Reactive Architectures
Ralph Winzinger
 
PHP Reactive Programming at Medan Tech Day 2018
PHP Reactive Programming at Medan Tech Day 2018PHP Reactive Programming at Medan Tech Day 2018
PHP Reactive Programming at Medan Tech Day 2018
Dolly Aswin Harahap
 
Building a web app on top of R (Slides from PAPIs 2014)
Building a web app on top of R (Slides from PAPIs 2014)Building a web app on top of R (Slides from PAPIs 2014)
Building a web app on top of R (Slides from PAPIs 2014)
zhvihti
 
Apidays Paris 2023 - How to use NoCode as a Microservice, Benjamin Buléon and...
Apidays Paris 2023 - How to use NoCode as a Microservice, Benjamin Buléon and...Apidays Paris 2023 - How to use NoCode as a Microservice, Benjamin Buléon and...
Apidays Paris 2023 - How to use NoCode as a Microservice, Benjamin Buléon and...
apidays
 
Being Reactive with Spring
Being Reactive with SpringBeing Reactive with Spring
Being Reactive with Spring
Kris Galea
 
WannaEat: A computer vision-based, multi-platform restaurant lookup app
WannaEat: A computer vision-based, multi-platform restaurant lookup appWannaEat: A computer vision-based, multi-platform restaurant lookup app
WannaEat: A computer vision-based, multi-platform restaurant lookup app
Rakuten Group, Inc.
 
Resume
ResumeResume
Resume
Sathis Kumar
 
Reaktive Programmierung mit den Reactive Extensions (Rx)
Reaktive Programmierung mit den Reactive Extensions (Rx)Reaktive Programmierung mit den Reactive Extensions (Rx)
Reaktive Programmierung mit den Reactive Extensions (Rx)
NETUserGroupBern
 
SUT and Ostadkar Co-Ops.pdf
SUT and Ostadkar Co-Ops.pdfSUT and Ostadkar Co-Ops.pdf
SUT and Ostadkar Co-Ops.pdf
HadiValipour
 

Similar to Unite 2017 - Reactive Programming - Pieter Nijs (20)

Reactive programming
Reactive programmingReactive programming
Reactive programming
 
Cytoscape CI Chapter 2
Cytoscape CI Chapter 2Cytoscape CI Chapter 2
Cytoscape CI Chapter 2
 
NDC Sydney 2019 - Microservices for building an IDE – The innards of JetBrain...
NDC Sydney 2019 - Microservices for building an IDE – The innards of JetBrain...NDC Sydney 2019 - Microservices for building an IDE – The innards of JetBrain...
NDC Sydney 2019 - Microservices for building an IDE – The innards of JetBrain...
 
MWLUG 2014: Modern Domino (workshop)
MWLUG 2014: Modern Domino (workshop)MWLUG 2014: Modern Domino (workshop)
MWLUG 2014: Modern Domino (workshop)
 
Reactive Java Robotics & IoT with Spring Reactor
Reactive Java Robotics & IoT with Spring ReactorReactive Java Robotics & IoT with Spring Reactor
Reactive Java Robotics & IoT with Spring Reactor
 
Writing high performance code in Net 7.pptx
Writing high performance code in Net 7.pptxWriting high performance code in Net 7.pptx
Writing high performance code in Net 7.pptx
 
Microservices for building an IDE – The innards of JetBrains Rider - TechDays...
Microservices for building an IDE – The innards of JetBrains Rider - TechDays...Microservices for building an IDE – The innards of JetBrains Rider - TechDays...
Microservices for building an IDE – The innards of JetBrains Rider - TechDays...
 
Overview Of Parallel Development - Ericnel
Overview Of Parallel Development -  EricnelOverview Of Parallel Development -  Ericnel
Overview Of Parallel Development - Ericnel
 
Reactive Microservices with Quarkus
Reactive Microservices with QuarkusReactive Microservices with Quarkus
Reactive Microservices with Quarkus
 
React Native and the future of web technology (Mark Wilcox) - GreeceJS #15
React Native and the future of web technology (Mark Wilcox) - GreeceJS #15React Native and the future of web technology (Mark Wilcox) - GreeceJS #15
React Native and the future of web technology (Mark Wilcox) - GreeceJS #15
 
Keynote: Trends in Modern Application Development - Gilly Dekel, IBM
Keynote: Trends in Modern Application Development - Gilly Dekel, IBMKeynote: Trends in Modern Application Development - Gilly Dekel, IBM
Keynote: Trends in Modern Application Development - Gilly Dekel, IBM
 
Reactive Architectures
Reactive ArchitecturesReactive Architectures
Reactive Architectures
 
PHP Reactive Programming at Medan Tech Day 2018
PHP Reactive Programming at Medan Tech Day 2018PHP Reactive Programming at Medan Tech Day 2018
PHP Reactive Programming at Medan Tech Day 2018
 
Building a web app on top of R (Slides from PAPIs 2014)
Building a web app on top of R (Slides from PAPIs 2014)Building a web app on top of R (Slides from PAPIs 2014)
Building a web app on top of R (Slides from PAPIs 2014)
 
Apidays Paris 2023 - How to use NoCode as a Microservice, Benjamin Buléon and...
Apidays Paris 2023 - How to use NoCode as a Microservice, Benjamin Buléon and...Apidays Paris 2023 - How to use NoCode as a Microservice, Benjamin Buléon and...
Apidays Paris 2023 - How to use NoCode as a Microservice, Benjamin Buléon and...
 
Being Reactive with Spring
Being Reactive with SpringBeing Reactive with Spring
Being Reactive with Spring
 
WannaEat: A computer vision-based, multi-platform restaurant lookup app
WannaEat: A computer vision-based, multi-platform restaurant lookup appWannaEat: A computer vision-based, multi-platform restaurant lookup app
WannaEat: A computer vision-based, multi-platform restaurant lookup app
 
Resume
ResumeResume
Resume
 
Reaktive Programmierung mit den Reactive Extensions (Rx)
Reaktive Programmierung mit den Reactive Extensions (Rx)Reaktive Programmierung mit den Reactive Extensions (Rx)
Reaktive Programmierung mit den Reactive Extensions (Rx)
 
SUT and Ostadkar Co-Ops.pdf
SUT and Ostadkar Co-Ops.pdfSUT and Ostadkar Co-Ops.pdf
SUT and Ostadkar Co-Ops.pdf
 

More from N Core

Techorama 2018 - Help my Xamarin app has memory issues! - Pieter Nijs
Techorama 2018 - Help my Xamarin app has memory issues! - Pieter NijsTechorama 2018 - Help my Xamarin app has memory issues! - Pieter Nijs
Techorama 2018 - Help my Xamarin app has memory issues! - Pieter Nijs
N Core
 
Techorama 2018 - Elasticsearch - search done right - Bart Wullems
Techorama 2018 - Elasticsearch - search done right - Bart WullemsTechorama 2018 - Elasticsearch - search done right - Bart Wullems
Techorama 2018 - Elasticsearch - search done right - Bart Wullems
N Core
 
uNite 2017 - Going serverless - Gertjan Vanthienen
uNite 2017 - Going serverless - Gertjan VanthienenuNite 2017 - Going serverless - Gertjan Vanthienen
uNite 2017 - Going serverless - Gertjan Vanthienen
N Core
 
Unite 2017 - CQRS - Jens Gheerardyn
Unite 2017 - CQRS - Jens GheerardynUnite 2017 - CQRS - Jens Gheerardyn
Unite 2017 - CQRS - Jens Gheerardyn
N Core
 
uNite 2017 - Magic mirror - Tom Vandevoorde and Michiel Wouters
uNite 2017 - Magic mirror - Tom Vandevoorde and Michiel WoutersuNite 2017 - Magic mirror - Tom Vandevoorde and Michiel Wouters
uNite 2017 - Magic mirror - Tom Vandevoorde and Michiel Wouters
N Core
 
Unite 2017 - Elastic Eearch - Bart Wullems
Unite 2017 - Elastic Eearch - Bart WullemsUnite 2017 - Elastic Eearch - Bart Wullems
Unite 2017 - Elastic Eearch - Bart Wullems
N Core
 

More from N Core (6)

Techorama 2018 - Help my Xamarin app has memory issues! - Pieter Nijs
Techorama 2018 - Help my Xamarin app has memory issues! - Pieter NijsTechorama 2018 - Help my Xamarin app has memory issues! - Pieter Nijs
Techorama 2018 - Help my Xamarin app has memory issues! - Pieter Nijs
 
Techorama 2018 - Elasticsearch - search done right - Bart Wullems
Techorama 2018 - Elasticsearch - search done right - Bart WullemsTechorama 2018 - Elasticsearch - search done right - Bart Wullems
Techorama 2018 - Elasticsearch - search done right - Bart Wullems
 
uNite 2017 - Going serverless - Gertjan Vanthienen
uNite 2017 - Going serverless - Gertjan VanthienenuNite 2017 - Going serverless - Gertjan Vanthienen
uNite 2017 - Going serverless - Gertjan Vanthienen
 
Unite 2017 - CQRS - Jens Gheerardyn
Unite 2017 - CQRS - Jens GheerardynUnite 2017 - CQRS - Jens Gheerardyn
Unite 2017 - CQRS - Jens Gheerardyn
 
uNite 2017 - Magic mirror - Tom Vandevoorde and Michiel Wouters
uNite 2017 - Magic mirror - Tom Vandevoorde and Michiel WoutersuNite 2017 - Magic mirror - Tom Vandevoorde and Michiel Wouters
uNite 2017 - Magic mirror - Tom Vandevoorde and Michiel Wouters
 
Unite 2017 - Elastic Eearch - Bart Wullems
Unite 2017 - Elastic Eearch - Bart WullemsUnite 2017 - Elastic Eearch - Bart Wullems
Unite 2017 - Elastic Eearch - Bart Wullems
 

Recently uploaded

Enhanced Screen Flows UI/UX using SLDS with Tom Kitt
Enhanced Screen Flows UI/UX using SLDS with Tom KittEnhanced Screen Flows UI/UX using SLDS with Tom Kitt
Enhanced Screen Flows UI/UX using SLDS with Tom Kitt
Peter Caitens
 
Call Girls Bangalore🔥7023059433🔥Best Profile Escorts in Bangalore Available 24/7
Call Girls Bangalore🔥7023059433🔥Best Profile Escorts in Bangalore Available 24/7Call Girls Bangalore🔥7023059433🔥Best Profile Escorts in Bangalore Available 24/7
Call Girls Bangalore🔥7023059433🔥Best Profile Escorts in Bangalore Available 24/7
manji sharman06
 
The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...
The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...
The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...
kalichargn70th171
 
Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...
Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...
Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...
The Third Creative Media
 
ACE - Team 24 Wrapup event at ahmedabad.
ACE - Team 24 Wrapup event at ahmedabad.ACE - Team 24 Wrapup event at ahmedabad.
ACE - Team 24 Wrapup event at ahmedabad.
Maitrey Patel
 
Alluxio Webinar | 10x Faster Trino Queries on Your Data Platform
Alluxio Webinar | 10x Faster Trino Queries on Your Data PlatformAlluxio Webinar | 10x Faster Trino Queries on Your Data Platform
Alluxio Webinar | 10x Faster Trino Queries on Your Data Platform
Alluxio, Inc.
 
Ensuring Efficiency and Speed with Practical Solutions for Clinical Operations
Ensuring Efficiency and Speed with Practical Solutions for Clinical OperationsEnsuring Efficiency and Speed with Practical Solutions for Clinical Operations
Ensuring Efficiency and Speed with Practical Solutions for Clinical Operations
OnePlan Solutions
 
Strengthening Web Development with CommandBox 6: Seamless Transition and Scal...
Strengthening Web Development with CommandBox 6: Seamless Transition and Scal...Strengthening Web Development with CommandBox 6: Seamless Transition and Scal...
Strengthening Web Development with CommandBox 6: Seamless Transition and Scal...
Ortus Solutions, Corp
 
What’s new in VictoriaMetrics - Q2 2024 Update
What’s new in VictoriaMetrics - Q2 2024 UpdateWhat’s new in VictoriaMetrics - Q2 2024 Update
What’s new in VictoriaMetrics - Q2 2024 Update
VictoriaMetrics
 
🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻
🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻
🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻
campbellclarkson
 
What is Continuous Testing in DevOps - A Definitive Guide.pdf
What is Continuous Testing in DevOps - A Definitive Guide.pdfWhat is Continuous Testing in DevOps - A Definitive Guide.pdf
What is Continuous Testing in DevOps - A Definitive Guide.pdf
kalichargn70th171
 
Streamlining End-to-End Testing Automation
Streamlining End-to-End Testing AutomationStreamlining End-to-End Testing Automation
Streamlining End-to-End Testing Automation
Anand Bagmar
 
Secure-by-Design Using Hardware and Software Protection for FDA Compliance
Secure-by-Design Using Hardware and Software Protection for FDA ComplianceSecure-by-Design Using Hardware and Software Protection for FDA Compliance
Secure-by-Design Using Hardware and Software Protection for FDA Compliance
ICS
 
Migration From CH 1.0 to CH 2.0 and Mule 4.6 & Java 17 Upgrade.pptx
Migration From CH 1.0 to CH 2.0 and  Mule 4.6 & Java 17 Upgrade.pptxMigration From CH 1.0 to CH 2.0 and  Mule 4.6 & Java 17 Upgrade.pptx
Migration From CH 1.0 to CH 2.0 and Mule 4.6 & Java 17 Upgrade.pptx
ervikas4
 
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSISDECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
Tier1 app
 
ppt on the brain chip neuralink.pptx
ppt  on   the brain  chip neuralink.pptxppt  on   the brain  chip neuralink.pptx
ppt on the brain chip neuralink.pptx
Reetu63
 
Refactoring legacy systems using events commands and bubble contexts
Refactoring legacy systems using events commands and bubble contextsRefactoring legacy systems using events commands and bubble contexts
Refactoring legacy systems using events commands and bubble contexts
Michał Kurzeja
 
What’s New in VictoriaLogs - Q2 2024 Update
What’s New in VictoriaLogs - Q2 2024 UpdateWhat’s New in VictoriaLogs - Q2 2024 Update
What’s New in VictoriaLogs - Q2 2024 Update
VictoriaMetrics
 
Superpower Your Apache Kafka Applications Development with Complementary Open...
Superpower Your Apache Kafka Applications Development with Complementary Open...Superpower Your Apache Kafka Applications Development with Complementary Open...
Superpower Your Apache Kafka Applications Development with Complementary Open...
Paul Brebner
 

Recently uploaded (20)

Enhanced Screen Flows UI/UX using SLDS with Tom Kitt
Enhanced Screen Flows UI/UX using SLDS with Tom KittEnhanced Screen Flows UI/UX using SLDS with Tom Kitt
Enhanced Screen Flows UI/UX using SLDS with Tom Kitt
 
Call Girls Bangalore🔥7023059433🔥Best Profile Escorts in Bangalore Available 24/7
Call Girls Bangalore🔥7023059433🔥Best Profile Escorts in Bangalore Available 24/7Call Girls Bangalore🔥7023059433🔥Best Profile Escorts in Bangalore Available 24/7
Call Girls Bangalore🔥7023059433🔥Best Profile Escorts in Bangalore Available 24/7
 
The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...
The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...
The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...
 
Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...
Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...
Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...
 
ACE - Team 24 Wrapup event at ahmedabad.
ACE - Team 24 Wrapup event at ahmedabad.ACE - Team 24 Wrapup event at ahmedabad.
ACE - Team 24 Wrapup event at ahmedabad.
 
Alluxio Webinar | 10x Faster Trino Queries on Your Data Platform
Alluxio Webinar | 10x Faster Trino Queries on Your Data PlatformAlluxio Webinar | 10x Faster Trino Queries on Your Data Platform
Alluxio Webinar | 10x Faster Trino Queries on Your Data Platform
 
Ensuring Efficiency and Speed with Practical Solutions for Clinical Operations
Ensuring Efficiency and Speed with Practical Solutions for Clinical OperationsEnsuring Efficiency and Speed with Practical Solutions for Clinical Operations
Ensuring Efficiency and Speed with Practical Solutions for Clinical Operations
 
Strengthening Web Development with CommandBox 6: Seamless Transition and Scal...
Strengthening Web Development with CommandBox 6: Seamless Transition and Scal...Strengthening Web Development with CommandBox 6: Seamless Transition and Scal...
Strengthening Web Development with CommandBox 6: Seamless Transition and Scal...
 
What’s new in VictoriaMetrics - Q2 2024 Update
What’s new in VictoriaMetrics - Q2 2024 UpdateWhat’s new in VictoriaMetrics - Q2 2024 Update
What’s new in VictoriaMetrics - Q2 2024 Update
 
🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻
🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻
🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻
 
What is Continuous Testing in DevOps - A Definitive Guide.pdf
What is Continuous Testing in DevOps - A Definitive Guide.pdfWhat is Continuous Testing in DevOps - A Definitive Guide.pdf
What is Continuous Testing in DevOps - A Definitive Guide.pdf
 
Streamlining End-to-End Testing Automation
Streamlining End-to-End Testing AutomationStreamlining End-to-End Testing Automation
Streamlining End-to-End Testing Automation
 
Secure-by-Design Using Hardware and Software Protection for FDA Compliance
Secure-by-Design Using Hardware and Software Protection for FDA ComplianceSecure-by-Design Using Hardware and Software Protection for FDA Compliance
Secure-by-Design Using Hardware and Software Protection for FDA Compliance
 
Migration From CH 1.0 to CH 2.0 and Mule 4.6 & Java 17 Upgrade.pptx
Migration From CH 1.0 to CH 2.0 and  Mule 4.6 & Java 17 Upgrade.pptxMigration From CH 1.0 to CH 2.0 and  Mule 4.6 & Java 17 Upgrade.pptx
Migration From CH 1.0 to CH 2.0 and Mule 4.6 & Java 17 Upgrade.pptx
 
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSISDECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
 
ppt on the brain chip neuralink.pptx
ppt  on   the brain  chip neuralink.pptxppt  on   the brain  chip neuralink.pptx
ppt on the brain chip neuralink.pptx
 
Refactoring legacy systems using events commands and bubble contexts
Refactoring legacy systems using events commands and bubble contextsRefactoring legacy systems using events commands and bubble contexts
Refactoring legacy systems using events commands and bubble contexts
 
What’s New in VictoriaLogs - Q2 2024 Update
What’s New in VictoriaLogs - Q2 2024 UpdateWhat’s New in VictoriaLogs - Q2 2024 Update
What’s New in VictoriaLogs - Q2 2024 Update
 
bgiolcb
bgiolcbbgiolcb
bgiolcb
 
Superpower Your Apache Kafka Applications Development with Complementary Open...
Superpower Your Apache Kafka Applications Development with Complementary Open...Superpower Your Apache Kafka Applications Development with Complementary Open...
Superpower Your Apache Kafka Applications Development with Complementary Open...
 

Unite 2017 - Reactive Programming - Pieter Nijs