SlideShare a Scribd company logo
Make you a Redux for fun and profit!
Make you a Redux
for Fun and Profit !!!1!!
Wekoslav
Stefanovski
Sourcico Macedonia
tweet #tarabica18 @swekster
>whoami
Head of Development in Sourcico Macedonia
Coding professionally since last century
I love programming, I love programmers
Long and fruitful love/hate relationship with JavaScript
Prodigiously lazy, so very few slides
tweet #tarabica18 @swekster
Agenda
Words of caution – use at own risk
A simple and basic Angular application
Designing a simple state-holding service
Using the Redux / Flux pattern
Integrating the application
tweet #tarabica18 @swekster
tweet #tarabica18 @swekster
DEMO
Passing data between components in a two-directional way
Two-way communication problems
- Mandatory tight coupling between parent and child
tweet #tarabica18 @swekster
Two-way communication problems
- Mandatory tight coupling between parent and child
- Intermediate property passing
tweet #tarabica18 @swekster
Two-way communication problems
- Mandatory tight coupling between parent and child
- Intermediate property passing
- State all over the place
tweet #tarabica18 @swekster
Two-way communication problems
- Mandatory tight coupling between parent and child
- Intermediate property passing
- State all over the place
- What to do?
tweet #tarabica18 @swekster
Unidirectional data flow to the rescue
tweet #tarabica18 @swekster
Unidirectional data flow to the rescue
- Unique data storage that holds the "one true value"
tweet #tarabica18 @swekster
Unidirectional data flow to the rescue
- Unique data storage that holds the "one true value"
- Components are allowed to get a glimpse at the holy data
tweet #tarabica18 @swekster
tweet #tarabica18 @swekster
DEMO
Building a state management service
Unidirectional data flow to the rescue
- Unique data storage that holds the "one true value"
- Components are allowed to get a glimpse at the holy data
- So how do we modify it?
tweet #tarabica18 @swekster
Unidirectional data flow to the rescue
- Unique data storage that holds the "one true value"
- Components are allowed to get a glimpse at the holy data
- So how do we modify it?
- By changing it directly?
- How will other guys find out we've changed it?
tweet #tarabica18 @swekster
Unidirectional data flow to the rescue
- Unique data storage that holds the "one true value"
- Components are allowed to get a glimpse at the holy data
- Components are not allowed to change the data
- But they can tell the store to do it for them
- Any change in state notifies interested parties
tweet #tarabica18 @swekster
Takeaway
- Very easy to make a two-way mess
tweet #tarabica18 @swekster
Takeaway
- Very easy to make a two-way mess
- Redux / Flux is powerfull tool for a simpler data-flow
tweet #tarabica18 @swekster
Takeaway
- Very easy to make a two-way mess
- Redux / Flux is powerfull tool for a simpler data-flow
- Very easy to make a one-way mess
- Redux is not a silver bullet
- Think about what data you need where, and how to get it there
tweet #tarabica18 @swekster
Questions?
Comments?
Criticisms?
tweet #tarabica18 @swekster
Sponzori
Partneri konferencije
Zlatni sponzori
Srebrni sponzori
Tehnički sponzor
tweet #tarabica18
Vidimo se / See you soon

More Related Content

Similar to Make you a Redux for fun and profit!

The Age of Smiths
The Age of SmithsThe Age of Smiths
The Age of Smiths
Arturo Pelayo
 
Shane Diffily - Effective content for better government engagement
Shane Diffily - Effective content for better government engagementShane Diffily - Effective content for better government engagement
Shane Diffily - Effective content for better government engagement
VisibleThread
 
SharePoint as a Gov 2.0 Platform
SharePoint as a Gov 2.0 PlatformSharePoint as a Gov 2.0 Platform
SharePoint as a Gov 2.0 Platform
Dux Raymond Sy
 
What makes a great engineer [Given at MusesCodeJs in Sydney 07.03.2020]
What makes a great engineer [Given at MusesCodeJs in Sydney 07.03.2020]What makes a great engineer [Given at MusesCodeJs in Sydney 07.03.2020]
What makes a great engineer [Given at MusesCodeJs in Sydney 07.03.2020]
Mikhail Asavkin
 
Don't let your Service be speechless – Clive K. Lavery
Don't let your Service be speechless – Clive K. LaveryDon't let your Service be speechless – Clive K. Lavery
Don't let your Service be speechless – Clive K. Lavery
Service Experience Camp
 
Het verleden, heden en de toekomst van de cloud.pdf
Het verleden, heden en de toekomst van de cloud.pdfHet verleden, heden en de toekomst van de cloud.pdf
Het verleden, heden en de toekomst van de cloud.pdf
Vincent Everts
 
Navigating Towards the Automation Promised Land
Navigating Towards the Automation Promised LandNavigating Towards the Automation Promised Land
Navigating Towards the Automation Promised Land
Erik Davis
 
devopsdays Warsaw 2018 - Chaos while deploying ML
devopsdays Warsaw 2018 - Chaos while deploying MLdevopsdays Warsaw 2018 - Chaos while deploying ML
devopsdays Warsaw 2018 - Chaos while deploying ML
Thiago de Faria
 
Why Structured Data & Semantic SEO Are Important - SMX East 2013
Why Structured Data & Semantic SEO Are Important - SMX East 2013Why Structured Data & Semantic SEO Are Important - SMX East 2013
Why Structured Data & Semantic SEO Are Important - SMX East 2013
Mike Arnesen
 
Codemotion Milan 2018 - AI with a devops mindset: experimentation, sharing an...
Codemotion Milan 2018 - AI with a devops mindset: experimentation, sharing an...Codemotion Milan 2018 - AI with a devops mindset: experimentation, sharing an...
Codemotion Milan 2018 - AI with a devops mindset: experimentation, sharing an...
Thiago de Faria
 
Thiago de Faria - AI with a devops mindset - experimentation, sharing and eas...
Thiago de Faria - AI with a devops mindset - experimentation, sharing and eas...Thiago de Faria - AI with a devops mindset - experimentation, sharing and eas...
Thiago de Faria - AI with a devops mindset - experimentation, sharing and eas...
Codemotion
 
How to Build a Twitter Vending Machine
How to Build a Twitter Vending Machine How to Build a Twitter Vending Machine
How to Build a Twitter Vending Machine
Legacy Marketing Partners
 
Making the most of the emerging digital workplace
Making the most of the emerging digital workplaceMaking the most of the emerging digital workplace
Making the most of the emerging digital workplace
James Robertson
 

Similar to Make you a Redux for fun and profit! (13)

The Age of Smiths
The Age of SmithsThe Age of Smiths
The Age of Smiths
 
Shane Diffily - Effective content for better government engagement
Shane Diffily - Effective content for better government engagementShane Diffily - Effective content for better government engagement
Shane Diffily - Effective content for better government engagement
 
SharePoint as a Gov 2.0 Platform
SharePoint as a Gov 2.0 PlatformSharePoint as a Gov 2.0 Platform
SharePoint as a Gov 2.0 Platform
 
What makes a great engineer [Given at MusesCodeJs in Sydney 07.03.2020]
What makes a great engineer [Given at MusesCodeJs in Sydney 07.03.2020]What makes a great engineer [Given at MusesCodeJs in Sydney 07.03.2020]
What makes a great engineer [Given at MusesCodeJs in Sydney 07.03.2020]
 
Don't let your Service be speechless – Clive K. Lavery
Don't let your Service be speechless – Clive K. LaveryDon't let your Service be speechless – Clive K. Lavery
Don't let your Service be speechless – Clive K. Lavery
 
Het verleden, heden en de toekomst van de cloud.pdf
Het verleden, heden en de toekomst van de cloud.pdfHet verleden, heden en de toekomst van de cloud.pdf
Het verleden, heden en de toekomst van de cloud.pdf
 
Navigating Towards the Automation Promised Land
Navigating Towards the Automation Promised LandNavigating Towards the Automation Promised Land
Navigating Towards the Automation Promised Land
 
devopsdays Warsaw 2018 - Chaos while deploying ML
devopsdays Warsaw 2018 - Chaos while deploying MLdevopsdays Warsaw 2018 - Chaos while deploying ML
devopsdays Warsaw 2018 - Chaos while deploying ML
 
Why Structured Data & Semantic SEO Are Important - SMX East 2013
Why Structured Data & Semantic SEO Are Important - SMX East 2013Why Structured Data & Semantic SEO Are Important - SMX East 2013
Why Structured Data & Semantic SEO Are Important - SMX East 2013
 
Codemotion Milan 2018 - AI with a devops mindset: experimentation, sharing an...
Codemotion Milan 2018 - AI with a devops mindset: experimentation, sharing an...Codemotion Milan 2018 - AI with a devops mindset: experimentation, sharing an...
Codemotion Milan 2018 - AI with a devops mindset: experimentation, sharing an...
 
Thiago de Faria - AI with a devops mindset - experimentation, sharing and eas...
Thiago de Faria - AI with a devops mindset - experimentation, sharing and eas...Thiago de Faria - AI with a devops mindset - experimentation, sharing and eas...
Thiago de Faria - AI with a devops mindset - experimentation, sharing and eas...
 
How to Build a Twitter Vending Machine
How to Build a Twitter Vending Machine How to Build a Twitter Vending Machine
How to Build a Twitter Vending Machine
 
Making the most of the emerging digital workplace
Making the most of the emerging digital workplaceMaking the most of the emerging digital workplace
Making the most of the emerging digital workplace
 

More from Wekoslav Stefanovski

Blazor - C# for the web
Blazor - C# for the webBlazor - C# for the web
Blazor - C# for the web
Wekoslav Stefanovski
 
Asynchrony on the web
Asynchrony on the webAsynchrony on the web
Asynchrony on the web
Wekoslav Stefanovski
 
Servers? We don't need no stinking servers
Servers? We don't need no stinking serversServers? We don't need no stinking servers
Servers? We don't need no stinking servers
Wekoslav Stefanovski
 
Typescript Decorators
Typescript DecoratorsTypescript Decorators
Typescript Decorators
Wekoslav Stefanovski
 
Coding for the cloud - development of modern web applications
Coding for the cloud - development of modern web applicationsCoding for the cloud - development of modern web applications
Coding for the cloud - development of modern web applications
Wekoslav Stefanovski
 
Through Meteor to the stars - Developing full-stack SPA's with meteor.js
Through Meteor to the stars - Developing full-stack SPA's with meteor.jsThrough Meteor to the stars - Developing full-stack SPA's with meteor.js
Through Meteor to the stars - Developing full-stack SPA's with meteor.js
Wekoslav Stefanovski
 
TypeScript 1.6 - How I learned to Stop Worrying and Love JavaScript
TypeScript 1.6 - How I learned to Stop Worrying and Love JavaScriptTypeScript 1.6 - How I learned to Stop Worrying and Love JavaScript
TypeScript 1.6 - How I learned to Stop Worrying and Love JavaScript
Wekoslav Stefanovski
 
How to write bad code using C#
How to write bad code using C#How to write bad code using C#
How to write bad code using C#
Wekoslav Stefanovski
 
Garbage Collection .Net
Garbage Collection .NetGarbage Collection .Net
Garbage Collection .Net
Wekoslav Stefanovski
 
Testing your Single Page Application
Testing your Single Page ApplicationTesting your Single Page Application
Testing your Single Page Application
Wekoslav Stefanovski
 
Smoke and Mirrors - Reflection in C#
Smoke and Mirrors - Reflection in C#Smoke and Mirrors - Reflection in C#
Smoke and Mirrors - Reflection in C#
Wekoslav Stefanovski
 
TypeScript - Javascript done right
TypeScript - Javascript done rightTypeScript - Javascript done right
TypeScript - Javascript done right
Wekoslav Stefanovski
 
Entity Framework 5 - Code First
Entity Framework 5 - Code FirstEntity Framework 5 - Code First
Entity Framework 5 - Code First
Wekoslav Stefanovski
 
SOLID -Clean Code For Mere Mortals
SOLID -Clean Code For Mere MortalsSOLID -Clean Code For Mere Mortals
SOLID -Clean Code For Mere Mortals
Wekoslav Stefanovski
 

More from Wekoslav Stefanovski (14)

Blazor - C# for the web
Blazor - C# for the webBlazor - C# for the web
Blazor - C# for the web
 
Asynchrony on the web
Asynchrony on the webAsynchrony on the web
Asynchrony on the web
 
Servers? We don't need no stinking servers
Servers? We don't need no stinking serversServers? We don't need no stinking servers
Servers? We don't need no stinking servers
 
Typescript Decorators
Typescript DecoratorsTypescript Decorators
Typescript Decorators
 
Coding for the cloud - development of modern web applications
Coding for the cloud - development of modern web applicationsCoding for the cloud - development of modern web applications
Coding for the cloud - development of modern web applications
 
Through Meteor to the stars - Developing full-stack SPA's with meteor.js
Through Meteor to the stars - Developing full-stack SPA's with meteor.jsThrough Meteor to the stars - Developing full-stack SPA's with meteor.js
Through Meteor to the stars - Developing full-stack SPA's with meteor.js
 
TypeScript 1.6 - How I learned to Stop Worrying and Love JavaScript
TypeScript 1.6 - How I learned to Stop Worrying and Love JavaScriptTypeScript 1.6 - How I learned to Stop Worrying and Love JavaScript
TypeScript 1.6 - How I learned to Stop Worrying and Love JavaScript
 
How to write bad code using C#
How to write bad code using C#How to write bad code using C#
How to write bad code using C#
 
Garbage Collection .Net
Garbage Collection .NetGarbage Collection .Net
Garbage Collection .Net
 
Testing your Single Page Application
Testing your Single Page ApplicationTesting your Single Page Application
Testing your Single Page Application
 
Smoke and Mirrors - Reflection in C#
Smoke and Mirrors - Reflection in C#Smoke and Mirrors - Reflection in C#
Smoke and Mirrors - Reflection in C#
 
TypeScript - Javascript done right
TypeScript - Javascript done rightTypeScript - Javascript done right
TypeScript - Javascript done right
 
Entity Framework 5 - Code First
Entity Framework 5 - Code FirstEntity Framework 5 - Code First
Entity Framework 5 - Code First
 
SOLID -Clean Code For Mere Mortals
SOLID -Clean Code For Mere MortalsSOLID -Clean Code For Mere Mortals
SOLID -Clean Code For Mere Mortals
 

Recently uploaded

Premium Girls Call Mumbai 9920725232 Unlimited Short Providing Girls Service ...
Premium Girls Call Mumbai 9920725232 Unlimited Short Providing Girls Service ...Premium Girls Call Mumbai 9920725232 Unlimited Short Providing Girls Service ...
Premium Girls Call Mumbai 9920725232 Unlimited Short Providing Girls Service ...
shanihomely
 
(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf
(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf
(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf
Priyanka Aash
 
Use Cases & Benefits of RPA in Manufacturing in 2024.pptx
Use Cases & Benefits of RPA in Manufacturing in 2024.pptxUse Cases & Benefits of RPA in Manufacturing in 2024.pptx
Use Cases & Benefits of RPA in Manufacturing in 2024.pptx
SynapseIndia
 
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
Kief Morris
 
How to Build a Profitable IoT Product.pptx
How to Build a Profitable IoT Product.pptxHow to Build a Profitable IoT Product.pptx
How to Build a Profitable IoT Product.pptx
Adam Dunkels
 
The Rise of AI in Cybersecurity How Machine Learning Will Shape Threat Detect...
The Rise of AI in Cybersecurity How Machine Learning Will Shape Threat Detect...The Rise of AI in Cybersecurity How Machine Learning Will Shape Threat Detect...
The Rise of AI in Cybersecurity How Machine Learning Will Shape Threat Detect...
digitalxplive
 
Pigging Unit Lubricant Oil Blending Plant
Pigging Unit Lubricant Oil Blending PlantPigging Unit Lubricant Oil Blending Plant
Pigging Unit Lubricant Oil Blending Plant
LINUS PROJECTS (INDIA)
 
The Role of IoT in Australian Mobile App Development - PDF Guide
The Role of IoT in Australian Mobile App Development - PDF GuideThe Role of IoT in Australian Mobile App Development - PDF Guide
The Role of IoT in Australian Mobile App Development - PDF Guide
Shiv Technolabs
 
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdfBT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
Neo4j
 
Litestack talk at Brighton 2024 (Unleashing the power of SQLite for Ruby apps)
Litestack talk at Brighton 2024 (Unleashing the power of SQLite for Ruby apps)Litestack talk at Brighton 2024 (Unleashing the power of SQLite for Ruby apps)
Litestack talk at Brighton 2024 (Unleashing the power of SQLite for Ruby apps)
Muhammad Ali
 
Introduction-to-the-IAM-Platform-Implementation-Plan.pptx
Introduction-to-the-IAM-Platform-Implementation-Plan.pptxIntroduction-to-the-IAM-Platform-Implementation-Plan.pptx
Introduction-to-the-IAM-Platform-Implementation-Plan.pptx
313mohammedarshad
 
July Patch Tuesday
July Patch TuesdayJuly Patch Tuesday
July Patch Tuesday
Ivanti
 
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptxRPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
SynapseIndia
 
Girls Call Churchgate 9910780858 Provide Best And Top Girl Service And No1 in...
Girls Call Churchgate 9910780858 Provide Best And Top Girl Service And No1 in...Girls Call Churchgate 9910780858 Provide Best And Top Girl Service And No1 in...
Girls Call Churchgate 9910780858 Provide Best And Top Girl Service And No1 in...
maigasapphire
 
Vulnerability Management: A Comprehensive Overview
Vulnerability Management: A Comprehensive OverviewVulnerability Management: A Comprehensive Overview
Vulnerability Management: A Comprehensive Overview
Steven Carlson
 
Best Practices for Effectively Running dbt in Airflow.pdf
Best Practices for Effectively Running dbt in Airflow.pdfBest Practices for Effectively Running dbt in Airflow.pdf
Best Practices for Effectively Running dbt in Airflow.pdf
Tatiana Al-Chueyr
 
How Social Media Hackers Help You to See Your Wife's Message.pdf
How Social Media Hackers Help You to See Your Wife's Message.pdfHow Social Media Hackers Help You to See Your Wife's Message.pdf
How Social Media Hackers Help You to See Your Wife's Message.pdf
HackersList
 
High Profile Girls call Service Pune 000XX00000 Provide Best And Top Girl Ser...
High Profile Girls call Service Pune 000XX00000 Provide Best And Top Girl Ser...High Profile Girls call Service Pune 000XX00000 Provide Best And Top Girl Ser...
High Profile Girls call Service Pune 000XX00000 Provide Best And Top Girl Ser...
bhumivarma35300
 
EuroPython 2024 - Streamlining Testing in a Large Python Codebase
EuroPython 2024 - Streamlining Testing in a Large Python CodebaseEuroPython 2024 - Streamlining Testing in a Large Python Codebase
EuroPython 2024 - Streamlining Testing in a Large Python Codebase
Jimmy Lai
 
leewayhertz.com-AI agents for healthcare Applications benefits and implementa...
leewayhertz.com-AI agents for healthcare Applications benefits and implementa...leewayhertz.com-AI agents for healthcare Applications benefits and implementa...
leewayhertz.com-AI agents for healthcare Applications benefits and implementa...
alexjohnson7307
 

Recently uploaded (20)

Premium Girls Call Mumbai 9920725232 Unlimited Short Providing Girls Service ...
Premium Girls Call Mumbai 9920725232 Unlimited Short Providing Girls Service ...Premium Girls Call Mumbai 9920725232 Unlimited Short Providing Girls Service ...
Premium Girls Call Mumbai 9920725232 Unlimited Short Providing Girls Service ...
 
(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf
(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf
(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf
 
Use Cases & Benefits of RPA in Manufacturing in 2024.pptx
Use Cases & Benefits of RPA in Manufacturing in 2024.pptxUse Cases & Benefits of RPA in Manufacturing in 2024.pptx
Use Cases & Benefits of RPA in Manufacturing in 2024.pptx
 
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
 
How to Build a Profitable IoT Product.pptx
How to Build a Profitable IoT Product.pptxHow to Build a Profitable IoT Product.pptx
How to Build a Profitable IoT Product.pptx
 
The Rise of AI in Cybersecurity How Machine Learning Will Shape Threat Detect...
The Rise of AI in Cybersecurity How Machine Learning Will Shape Threat Detect...The Rise of AI in Cybersecurity How Machine Learning Will Shape Threat Detect...
The Rise of AI in Cybersecurity How Machine Learning Will Shape Threat Detect...
 
Pigging Unit Lubricant Oil Blending Plant
Pigging Unit Lubricant Oil Blending PlantPigging Unit Lubricant Oil Blending Plant
Pigging Unit Lubricant Oil Blending Plant
 
The Role of IoT in Australian Mobile App Development - PDF Guide
The Role of IoT in Australian Mobile App Development - PDF GuideThe Role of IoT in Australian Mobile App Development - PDF Guide
The Role of IoT in Australian Mobile App Development - PDF Guide
 
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdfBT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
 
Litestack talk at Brighton 2024 (Unleashing the power of SQLite for Ruby apps)
Litestack talk at Brighton 2024 (Unleashing the power of SQLite for Ruby apps)Litestack talk at Brighton 2024 (Unleashing the power of SQLite for Ruby apps)
Litestack talk at Brighton 2024 (Unleashing the power of SQLite for Ruby apps)
 
Introduction-to-the-IAM-Platform-Implementation-Plan.pptx
Introduction-to-the-IAM-Platform-Implementation-Plan.pptxIntroduction-to-the-IAM-Platform-Implementation-Plan.pptx
Introduction-to-the-IAM-Platform-Implementation-Plan.pptx
 
July Patch Tuesday
July Patch TuesdayJuly Patch Tuesday
July Patch Tuesday
 
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptxRPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
 
Girls Call Churchgate 9910780858 Provide Best And Top Girl Service And No1 in...
Girls Call Churchgate 9910780858 Provide Best And Top Girl Service And No1 in...Girls Call Churchgate 9910780858 Provide Best And Top Girl Service And No1 in...
Girls Call Churchgate 9910780858 Provide Best And Top Girl Service And No1 in...
 
Vulnerability Management: A Comprehensive Overview
Vulnerability Management: A Comprehensive OverviewVulnerability Management: A Comprehensive Overview
Vulnerability Management: A Comprehensive Overview
 
Best Practices for Effectively Running dbt in Airflow.pdf
Best Practices for Effectively Running dbt in Airflow.pdfBest Practices for Effectively Running dbt in Airflow.pdf
Best Practices for Effectively Running dbt in Airflow.pdf
 
How Social Media Hackers Help You to See Your Wife's Message.pdf
How Social Media Hackers Help You to See Your Wife's Message.pdfHow Social Media Hackers Help You to See Your Wife's Message.pdf
How Social Media Hackers Help You to See Your Wife's Message.pdf
 
High Profile Girls call Service Pune 000XX00000 Provide Best And Top Girl Ser...
High Profile Girls call Service Pune 000XX00000 Provide Best And Top Girl Ser...High Profile Girls call Service Pune 000XX00000 Provide Best And Top Girl Ser...
High Profile Girls call Service Pune 000XX00000 Provide Best And Top Girl Ser...
 
EuroPython 2024 - Streamlining Testing in a Large Python Codebase
EuroPython 2024 - Streamlining Testing in a Large Python CodebaseEuroPython 2024 - Streamlining Testing in a Large Python Codebase
EuroPython 2024 - Streamlining Testing in a Large Python Codebase
 
leewayhertz.com-AI agents for healthcare Applications benefits and implementa...
leewayhertz.com-AI agents for healthcare Applications benefits and implementa...leewayhertz.com-AI agents for healthcare Applications benefits and implementa...
leewayhertz.com-AI agents for healthcare Applications benefits and implementa...
 

Make you a Redux for fun and profit!

  • 2. Make you a Redux for Fun and Profit !!!1!! Wekoslav Stefanovski Sourcico Macedonia tweet #tarabica18 @swekster
  • 3. >whoami Head of Development in Sourcico Macedonia Coding professionally since last century I love programming, I love programmers Long and fruitful love/hate relationship with JavaScript Prodigiously lazy, so very few slides tweet #tarabica18 @swekster
  • 4. Agenda Words of caution – use at own risk A simple and basic Angular application Designing a simple state-holding service Using the Redux / Flux pattern Integrating the application tweet #tarabica18 @swekster
  • 5. tweet #tarabica18 @swekster DEMO Passing data between components in a two-directional way
  • 6. Two-way communication problems - Mandatory tight coupling between parent and child tweet #tarabica18 @swekster
  • 7. Two-way communication problems - Mandatory tight coupling between parent and child - Intermediate property passing tweet #tarabica18 @swekster
  • 8. Two-way communication problems - Mandatory tight coupling between parent and child - Intermediate property passing - State all over the place tweet #tarabica18 @swekster
  • 9. Two-way communication problems - Mandatory tight coupling between parent and child - Intermediate property passing - State all over the place - What to do? tweet #tarabica18 @swekster
  • 10. Unidirectional data flow to the rescue tweet #tarabica18 @swekster
  • 11. Unidirectional data flow to the rescue - Unique data storage that holds the "one true value" tweet #tarabica18 @swekster
  • 12. Unidirectional data flow to the rescue - Unique data storage that holds the "one true value" - Components are allowed to get a glimpse at the holy data tweet #tarabica18 @swekster
  • 13. tweet #tarabica18 @swekster DEMO Building a state management service
  • 14. Unidirectional data flow to the rescue - Unique data storage that holds the "one true value" - Components are allowed to get a glimpse at the holy data - So how do we modify it? tweet #tarabica18 @swekster
  • 15. Unidirectional data flow to the rescue - Unique data storage that holds the "one true value" - Components are allowed to get a glimpse at the holy data - So how do we modify it? - By changing it directly? - How will other guys find out we've changed it? tweet #tarabica18 @swekster
  • 16. Unidirectional data flow to the rescue - Unique data storage that holds the "one true value" - Components are allowed to get a glimpse at the holy data - Components are not allowed to change the data - But they can tell the store to do it for them - Any change in state notifies interested parties tweet #tarabica18 @swekster
  • 17. Takeaway - Very easy to make a two-way mess tweet #tarabica18 @swekster
  • 18. Takeaway - Very easy to make a two-way mess - Redux / Flux is powerfull tool for a simpler data-flow tweet #tarabica18 @swekster
  • 19. Takeaway - Very easy to make a two-way mess - Redux / Flux is powerfull tool for a simpler data-flow - Very easy to make a one-way mess - Redux is not a silver bullet - Think about what data you need where, and how to get it there tweet #tarabica18 @swekster
  • 21. Sponzori Partneri konferencije Zlatni sponzori Srebrni sponzori Tehnički sponzor tweet #tarabica18
  • 22. Vidimo se / See you soon