I start with the basics of the strangler pattern approach and then go to some harder parts of it, like the Anti-Corruption Layer. I also briefly discuss two projects I worked on using this pattern.
Dr Strangler and Mr Hype - Strangler pattern w praktyceMichał Kurzeja
O tym jak w bezpieczny sposób pozbyć się legacy w projekcie - nie narażając biznesu, ani zdrowia psychicznego programistów. Strangler Pattern z praktycznego punktu widzenia - co zadziałało, a gdzie popełniliśmy błędy.
Źródła:
Whitepaper Evansa: http://domainlanguage.com/wp-content/uploads/2016/04/GettingStartedWithDDDWhenSurroundedByLegacySystemsV1.pdf
Case Studies: https://paulhammant.com/2013/07/14/legacy-application-strangulation-case-studies/
Implementacja z książki Vernona: https://github.com/VaughnVernon/IDDD_Samples/tree/master/iddd_collaboration/src/main/java/com/saasovation/collaboration/port/adapter/service
Canary Deployments on Amazon EKS with Istio - SRV305 - Chicago AWS SummitAmazon Web Services
Within complex systems, even well-written code can behave in unexpected ways and lead to outages and critical issues. Amazon Elastic Container Service for Kubernetes (Amazon EKS) enables you to easily run Kubernetes, quickly deploy new code, and revert to safe, stable releases when issues are identified. But the damage done in the short period between deployment and rollback can be significant. In this session, we show you how to limit the effect of unforeseen issues using canary deployments with Istio and how to better monitor your applications in Amazon EKS and spot potential problems before they affect your customer base. This session is brought to you by AWS partner, Datadog.
Switching horses midstream - From Waterfall to AgileDoc Norton
You’ve been working for several months on a key software initiative for the company and leadership has decided they want it faster than projected, so the team has been told they’re getting “the agile” installed next week.
“Great.”, you think, “Right in the middle of the project. Nothing like changing horses in midstream. One way or another, this will go swimmingly.”
Sarcasm and puns aside, you’ve got a point. It isn’t easy to switch methodologies in the middle of a project. Doc shares some stories from his own experiences helping teams make this change and provides a few pointers that can help you do the same.
While this talk is focused on testing, it involves the whole team, as agile methods usually do.
This presentation gives a lot of insights into Jimdo's infrastructure that hosts 20 million websites. To enable our application developers to quickly launch and improve their services, we've created a platform called Wonderland that does all the infrastructure work them.
In this talk, I present the parts of Wonderland related to monitoring and logging. You can learn about our Prometheus setup as well as how we stream log messages from Docker to Logstash.
Blockchain Technology : Privacy Perspectives and Security ConcernsGokul Alex
My Session on the emerging contours of identity and privacy in the Digital World and how Blockchain is playing a decisive role in this landscape in the upcoming #FintechSummit, Bangalore on August 08, 2018. You can find further details on the Event Portal. https://lnkd.in/fbAmsqf
Dr Strangler and Mr Hype - Strangler pattern w praktyceMichał Kurzeja
O tym jak w bezpieczny sposób pozbyć się legacy w projekcie - nie narażając biznesu, ani zdrowia psychicznego programistów. Strangler Pattern z praktycznego punktu widzenia - co zadziałało, a gdzie popełniliśmy błędy.
Źródła:
Whitepaper Evansa: http://domainlanguage.com/wp-content/uploads/2016/04/GettingStartedWithDDDWhenSurroundedByLegacySystemsV1.pdf
Case Studies: https://paulhammant.com/2013/07/14/legacy-application-strangulation-case-studies/
Implementacja z książki Vernona: https://github.com/VaughnVernon/IDDD_Samples/tree/master/iddd_collaboration/src/main/java/com/saasovation/collaboration/port/adapter/service
Canary Deployments on Amazon EKS with Istio - SRV305 - Chicago AWS SummitAmazon Web Services
Within complex systems, even well-written code can behave in unexpected ways and lead to outages and critical issues. Amazon Elastic Container Service for Kubernetes (Amazon EKS) enables you to easily run Kubernetes, quickly deploy new code, and revert to safe, stable releases when issues are identified. But the damage done in the short period between deployment and rollback can be significant. In this session, we show you how to limit the effect of unforeseen issues using canary deployments with Istio and how to better monitor your applications in Amazon EKS and spot potential problems before they affect your customer base. This session is brought to you by AWS partner, Datadog.
Switching horses midstream - From Waterfall to AgileDoc Norton
You’ve been working for several months on a key software initiative for the company and leadership has decided they want it faster than projected, so the team has been told they’re getting “the agile” installed next week.
“Great.”, you think, “Right in the middle of the project. Nothing like changing horses in midstream. One way or another, this will go swimmingly.”
Sarcasm and puns aside, you’ve got a point. It isn’t easy to switch methodologies in the middle of a project. Doc shares some stories from his own experiences helping teams make this change and provides a few pointers that can help you do the same.
While this talk is focused on testing, it involves the whole team, as agile methods usually do.
This presentation gives a lot of insights into Jimdo's infrastructure that hosts 20 million websites. To enable our application developers to quickly launch and improve their services, we've created a platform called Wonderland that does all the infrastructure work them.
In this talk, I present the parts of Wonderland related to monitoring and logging. You can learn about our Prometheus setup as well as how we stream log messages from Docker to Logstash.
Blockchain Technology : Privacy Perspectives and Security ConcernsGokul Alex
My Session on the emerging contours of identity and privacy in the Digital World and how Blockchain is playing a decisive role in this landscape in the upcoming #FintechSummit, Bangalore on August 08, 2018. You can find further details on the Event Portal. https://lnkd.in/fbAmsqf
How can you architect a successful IT career that last for decades? Should you be a specialist or a generalist? What is a "T"-shaped expert? Is that enough? Is Docker, DevOps, or the Cloud the answer?
Managing codebases and projects takes time, and time usually means money (especially with development resources). Using some of the methods discussed, we can help make ourselves and our teams more productive as we move from project to project, which saves time, money, and costly research time. We'll cover code complexity, reusability, and the dreaded 'refactoring' question.
Zend con 2016 - Asynchronous Prorgamming in PHPAdam Englander
Asynchronous frameworks allow developers to build stateful protocol and Internet of Things applications without threading and forking. Python, Ruby, and Node.js have had asynchronous frameworks for over ten years. PHP is now starting to catch up with Icicle.io. Learn the basic concepts of event-based programming and how the event loop allows a single thread to process all the requests for an application.
Data Modelling is an important tool in the toolbox of a developer. By building and communicating a shared understanding of the domain they're working with, their applications and APIs are more useable and maintainable. However, as you scale up your technical teams, how do you keep these benefits whilst avoiding time-consuming meetings every time something new comes along? This talk reminds ourselves of key data modelling technique and how our use of Kafka changes and informs them. It then examines how these patterns change as more teams join your organisation and how Kafka comes into its own in this world.
From Content Strategy to Drupal Site Building - Connecting the dotsRonald Ashri
Content strategy is, undoubtedly, a hot topic these days. A lot is being said that spans the range from concerns regarding the ability to display content on any device to the ability to drive engagement and increase traffic through better content creation and social media strategies. In this presentation we will connect the dots between these issues and practical Drupal site-building concerns with tools that are readily available now.
We will show, through specific examples and references to available modules, how different approaches to content strategy can be practically implemented on Drupal sites. The aim is to equip Drupal site-builders with a handy toolkit that will allow them to both implement a content strategy for their sites as well as better exchange information with content strategists.
The examples will include:
- Different approaches to building content types so as to empower content creators to create a range of different structures.
- Best practices in using vocabularies (fixed, open, user-generated, moderated, etc) or where alternative categorization methods may be relevant.
We will also discuss:
- Editorial calendars and scheduling.
- The true benefit of workflows (and how, sometimes, they can be a disadvantage).
- Analytics and how the ability to measure the effects of any strategy is as important as defining the strategy itself.
Attendees will go away with practical examples and techniques that they can apply to their sites as well as a better understanding of what content strategy really is and how they can use it to improve their sites.
The examples are a result of our own experiences in helping both clients develop their content strategy as well as applying it on italymagazine.com, an in-house product of ours. We grew italymagazine.com to a relevant online digital brand with a strong community by expressing our content strategy ideas through the tools that Drupal 7 made available to us. The resulting ~250% increase in traffic over 3 months is a testament to both the value of a content strategy as well as the power of Drupal to allow you to flexibly and iteratively support it.
From Content Strategy to Drupal Site Building - Connecting the DotsRonald Ashri
The actual presentation is available on YouTube here:
https://www.youtube.com/watch?v=agcQsQfCFow
Content strategy is, undoubtedly, a hot topic these days. A lot is being said that spans the range from concerns regarding the ability to display content on any device to the ability to drive engagement and increase traffic through better content creation and social media strategies. In this presentation we will connect the dots between these issues and practical Drupal site-building concerns with tools that are readily available now.
We will show, through specific examples and references to available modules, how different approaches to content strategy can be practically implemented on Drupal sites. The aim is to equip Drupal site-builders with a handy toolkit that will allow them to both implement a content strategy for their sites as well as better exchange information with content strategists.
The examples will include:
- Different approaches to building content types so as to empower content creators to create a range of different structures.
- Best practices in using vocabularies (fixed, open, user-generated, moderated, etc) or where alternative categorization methods may be relevant.
- Building menus and navigation.
We will also discuss:
- Editorial calendars and scheduling.
- The true benefit of workflows (and how, sometimes, they can be a disadvantage).
- Analytics and how the ability to measure the effects of any strategy is as important as defining the strategy itself.
Attendees will go away with practical examples and techniques that they can apply to their sites as well as a better understanding of what content strategy really is and how they can use it to improve their sites.
The examples are a result of our own experiences in helping both clients develop their content strategy as well as applying it on italymagazine.com, an in-house product of ours. We grew italymagazine.com to a relevant online digital brand with a strong community by expressing our content strategy ideas through the tools that Drupal 7 made available to us. The resulting ~250% increase in traffic over 3 months is a testament to both the value of a content strategy as well as the power of Drupal to allow you to flexibly and iteratively support it.
php[world] 2016 - You Don’t Need Node.js - Async Programming in PHPAdam Englander
Asynchronous frameworks allow developers to build stateful protocols and Internet of Things applications without threading and forking. Python, Ruby, and Node.js have had asynchronous frameworks for over ten years. PHP is now starting to catch up with Icicle.io. Learn the basics concepts of event based programming, and how the event loop allows a single thread to process all the requests for your application.
We know that a content-first approach to design is a best practice, but knowing is only half the battle. We're accustomed to our legacy workflows--and so are our clients. For years, we've trained clients to expect designs first, prototypes later, and writing last of all.
Win clients over to your new workflow by showing them what's in it for them: not just a better user experience for their readers, but a better authoring experience for the content editors.
With a CMS that lets you modify the admin interface, you can make not only the design but the CMS itself fit the content. When coupled with a responsive design workflow, setting up the model first helps clients think more concretely about:
* modular content
* prioritizing chunks for mobile, search, and archived contexts
* user roles and access
* editorial UX
This content-first approach lets you design the CMS to fit the organization's content model and workflow. You can:
* dogfood throughout the prototyping and design processes
* spot areas of confusion early
* change the admin interface
* add inline help
* plan documentation to be a backup or a last resort
https://github.com/alvarowolfx/react-native-shakeit-demo
Introduction to React native presentation. A little history about React web, comparison with state of art of hybrid mobile development and demo to the local community.
Creating Modern Metadata Systems [FutureStack16 NYC]New Relic
FutureStack16 NYC - Aug 9, 2016
Bill Sammons, Head of Content Enrichment, DowJones
Technology Stack Transformation
New Relic Insights for Classification Engine Transition
The Bitcoin Blockchain has given rise to a new infrastructure paradigm, this slide deck presents ideas on how Blockchain technologies and applications can be presented as an opportunity for the Enterprise. For questions please contact hello@vanbex.com
Digital Data Commons - Emergence of AI Blockchain ConvergenceGokul Alex
My Session on the Emergence of AI Blockchain Convergence in the perspective of a new digital data commons presented in the Blockchain Hackathon organised by #Accubits and #BHub on January 2nd and 3rd 2018.
Kolejkowanie w systemach multi-tenant - PHPCon 2023Michał Kurzeja
Kolejkowanie zadań jest w obecnych czasach standardowym i powszechnie używanym sposobem obsługę cięższych zadań. To z pozoru proste rozwiązanie potrafi się mocno skomplikować, gdy kolejkować musimy zadania w systemach “multi-tenant”. Nie chcemy przecież, aby jeden z naszych klientów miał możliwość “zagłodzenia” innych. Chciałbym podsumować najczęściej stosowane rozwiązania i zaprosić Was do dyskusji – czy da się lepiej rozwiązać ten problem?
Symfony posiada wiele świetnych mechanizmów, które pozwalają łatwo je rozszerzyć. Co więcej, znając je, możemy sami zaprojektować nasze aplikacje tak, aby były rozszerzalne w podobny sposób. W trakcie prezentacji przedstawię te moim zdaniem najciekawsze możliwości, a niekoniecznie wszystkim znane.
More Related Content
Similar to Strangler Pattern in practice @PHPers Day 2019
How can you architect a successful IT career that last for decades? Should you be a specialist or a generalist? What is a "T"-shaped expert? Is that enough? Is Docker, DevOps, or the Cloud the answer?
Managing codebases and projects takes time, and time usually means money (especially with development resources). Using some of the methods discussed, we can help make ourselves and our teams more productive as we move from project to project, which saves time, money, and costly research time. We'll cover code complexity, reusability, and the dreaded 'refactoring' question.
Zend con 2016 - Asynchronous Prorgamming in PHPAdam Englander
Asynchronous frameworks allow developers to build stateful protocol and Internet of Things applications without threading and forking. Python, Ruby, and Node.js have had asynchronous frameworks for over ten years. PHP is now starting to catch up with Icicle.io. Learn the basic concepts of event-based programming and how the event loop allows a single thread to process all the requests for an application.
Data Modelling is an important tool in the toolbox of a developer. By building and communicating a shared understanding of the domain they're working with, their applications and APIs are more useable and maintainable. However, as you scale up your technical teams, how do you keep these benefits whilst avoiding time-consuming meetings every time something new comes along? This talk reminds ourselves of key data modelling technique and how our use of Kafka changes and informs them. It then examines how these patterns change as more teams join your organisation and how Kafka comes into its own in this world.
From Content Strategy to Drupal Site Building - Connecting the dotsRonald Ashri
Content strategy is, undoubtedly, a hot topic these days. A lot is being said that spans the range from concerns regarding the ability to display content on any device to the ability to drive engagement and increase traffic through better content creation and social media strategies. In this presentation we will connect the dots between these issues and practical Drupal site-building concerns with tools that are readily available now.
We will show, through specific examples and references to available modules, how different approaches to content strategy can be practically implemented on Drupal sites. The aim is to equip Drupal site-builders with a handy toolkit that will allow them to both implement a content strategy for their sites as well as better exchange information with content strategists.
The examples will include:
- Different approaches to building content types so as to empower content creators to create a range of different structures.
- Best practices in using vocabularies (fixed, open, user-generated, moderated, etc) or where alternative categorization methods may be relevant.
We will also discuss:
- Editorial calendars and scheduling.
- The true benefit of workflows (and how, sometimes, they can be a disadvantage).
- Analytics and how the ability to measure the effects of any strategy is as important as defining the strategy itself.
Attendees will go away with practical examples and techniques that they can apply to their sites as well as a better understanding of what content strategy really is and how they can use it to improve their sites.
The examples are a result of our own experiences in helping both clients develop their content strategy as well as applying it on italymagazine.com, an in-house product of ours. We grew italymagazine.com to a relevant online digital brand with a strong community by expressing our content strategy ideas through the tools that Drupal 7 made available to us. The resulting ~250% increase in traffic over 3 months is a testament to both the value of a content strategy as well as the power of Drupal to allow you to flexibly and iteratively support it.
From Content Strategy to Drupal Site Building - Connecting the DotsRonald Ashri
The actual presentation is available on YouTube here:
https://www.youtube.com/watch?v=agcQsQfCFow
Content strategy is, undoubtedly, a hot topic these days. A lot is being said that spans the range from concerns regarding the ability to display content on any device to the ability to drive engagement and increase traffic through better content creation and social media strategies. In this presentation we will connect the dots between these issues and practical Drupal site-building concerns with tools that are readily available now.
We will show, through specific examples and references to available modules, how different approaches to content strategy can be practically implemented on Drupal sites. The aim is to equip Drupal site-builders with a handy toolkit that will allow them to both implement a content strategy for their sites as well as better exchange information with content strategists.
The examples will include:
- Different approaches to building content types so as to empower content creators to create a range of different structures.
- Best practices in using vocabularies (fixed, open, user-generated, moderated, etc) or where alternative categorization methods may be relevant.
- Building menus and navigation.
We will also discuss:
- Editorial calendars and scheduling.
- The true benefit of workflows (and how, sometimes, they can be a disadvantage).
- Analytics and how the ability to measure the effects of any strategy is as important as defining the strategy itself.
Attendees will go away with practical examples and techniques that they can apply to their sites as well as a better understanding of what content strategy really is and how they can use it to improve their sites.
The examples are a result of our own experiences in helping both clients develop their content strategy as well as applying it on italymagazine.com, an in-house product of ours. We grew italymagazine.com to a relevant online digital brand with a strong community by expressing our content strategy ideas through the tools that Drupal 7 made available to us. The resulting ~250% increase in traffic over 3 months is a testament to both the value of a content strategy as well as the power of Drupal to allow you to flexibly and iteratively support it.
php[world] 2016 - You Don’t Need Node.js - Async Programming in PHPAdam Englander
Asynchronous frameworks allow developers to build stateful protocols and Internet of Things applications without threading and forking. Python, Ruby, and Node.js have had asynchronous frameworks for over ten years. PHP is now starting to catch up with Icicle.io. Learn the basics concepts of event based programming, and how the event loop allows a single thread to process all the requests for your application.
We know that a content-first approach to design is a best practice, but knowing is only half the battle. We're accustomed to our legacy workflows--and so are our clients. For years, we've trained clients to expect designs first, prototypes later, and writing last of all.
Win clients over to your new workflow by showing them what's in it for them: not just a better user experience for their readers, but a better authoring experience for the content editors.
With a CMS that lets you modify the admin interface, you can make not only the design but the CMS itself fit the content. When coupled with a responsive design workflow, setting up the model first helps clients think more concretely about:
* modular content
* prioritizing chunks for mobile, search, and archived contexts
* user roles and access
* editorial UX
This content-first approach lets you design the CMS to fit the organization's content model and workflow. You can:
* dogfood throughout the prototyping and design processes
* spot areas of confusion early
* change the admin interface
* add inline help
* plan documentation to be a backup or a last resort
https://github.com/alvarowolfx/react-native-shakeit-demo
Introduction to React native presentation. A little history about React web, comparison with state of art of hybrid mobile development and demo to the local community.
Creating Modern Metadata Systems [FutureStack16 NYC]New Relic
FutureStack16 NYC - Aug 9, 2016
Bill Sammons, Head of Content Enrichment, DowJones
Technology Stack Transformation
New Relic Insights for Classification Engine Transition
The Bitcoin Blockchain has given rise to a new infrastructure paradigm, this slide deck presents ideas on how Blockchain technologies and applications can be presented as an opportunity for the Enterprise. For questions please contact hello@vanbex.com
Digital Data Commons - Emergence of AI Blockchain ConvergenceGokul Alex
My Session on the Emergence of AI Blockchain Convergence in the perspective of a new digital data commons presented in the Blockchain Hackathon organised by #Accubits and #BHub on January 2nd and 3rd 2018.
Similar to Strangler Pattern in practice @PHPers Day 2019 (20)
Kolejkowanie w systemach multi-tenant - PHPCon 2023Michał Kurzeja
Kolejkowanie zadań jest w obecnych czasach standardowym i powszechnie używanym sposobem obsługę cięższych zadań. To z pozoru proste rozwiązanie potrafi się mocno skomplikować, gdy kolejkować musimy zadania w systemach “multi-tenant”. Nie chcemy przecież, aby jeden z naszych klientów miał możliwość “zagłodzenia” innych. Chciałbym podsumować najczęściej stosowane rozwiązania i zaprosić Was do dyskusji – czy da się lepiej rozwiązać ten problem?
Symfony posiada wiele świetnych mechanizmów, które pozwalają łatwo je rozszerzyć. Co więcej, znając je, możemy sami zaprojektować nasze aplikacje tak, aby były rozszerzalne w podobny sposób. W trakcie prezentacji przedstawię te moim zdaniem najciekawsze możliwości, a niekoniecznie wszystkim znane.
Event-driven architecture, the easy way.pdfMichał Kurzeja
Od wielu lat rozmawiamy o tworzeniu systemów, które są lepiej podzielone. Łatwiejsze w rozbudowie i utrzymaniu, pięknie napisane i dobrze podzielone na moduły. Wiele czasu poświęciliśmy na dyskusje o mikroserwisach, CQRS, event sourcingu, itp. Ale czy można prościej? Postaram się przybliżyć proste podejście do event-driven architecture, wspomnę też o wadach.
Symfony posiada wiele świetnych mechanizmów, które pozwalają łatwo je rozszerzyć. Co więcej, znając je, możemy sami zaprojektować nasze aplikacje tak, aby były rozszerzalne w podobny sposób. W trakcie prezentacji przedstawię te moim zdaniem najciekawsze możliwości, a niekoniecznie wszystkim znane.
Kubernetes - 0 do 1 - 4Developers Warszawa 2019Michał Kurzeja
Kubernetes jest już praktycznie standardem jeśli chodzi o utrzymywanie i zarządzanie aplikacjami chmurowymi. Pozwala na łatwe skalowanie, wdrażanie nowych wersji w podejściu canary i rolling-upgrade, proste rollbacki, uruchamianie serverless i wiele więcej. Z pozoru może wydawać się trudny, ale tak naprawdę do uruchomienia wielu podstawowych scenariuszy nie potrzeba żadnej zaawansowanej wiedzy. Podczas prezentacji pokażę podstawowe założenia i jak składają się w jedną całość.
Slides from my Docker workshop at PHPCon 2016. From a simple docker run command through own images and Dockerfiles to docker-compose setup supporting scalable app testing on local environment
An introduction to Docker and docker-compose. Starting from single docker run commands we discover docker file basics, docker-compose basics and finally we play around with scaling containers in docker-compose.
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
Connector Corner: Automate dynamic content and events by pushing a buttonDianaGray10
Here is something new! In our next Connector Corner webinar, we will demonstrate how you can use a single workflow to:
Create a campaign using Mailchimp with merge tags/fields
Send an interactive Slack channel message (using buttons)
Have the message received by managers and peers along with a test email for review
But there’s more:
In a second workflow supporting the same use case, you’ll see:
Your campaign sent to target colleagues for approval
If the “Approve” button is clicked, a Jira/Zendesk ticket is created for the marketing design team
But—if the “Reject” button is pushed, colleagues will be alerted via Slack message
Join us to learn more about this new, human-in-the-loop capability, brought to you by Integration Service connectors.
And...
Speakers:
Akshay Agnihotri, Product Manager
Charlie Greenberg, Host
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
Are you looking to streamline your workflows and boost your projects’ efficiency? Do you find yourself searching for ways to add flexibility and control over your FME workflows? If so, you’re in the right place.
Join us for an insightful dive into the world of FME parameters, a critical element in optimizing workflow efficiency. This webinar marks the beginning of our three-part “Essentials of Automation” series. This first webinar is designed to equip you with the knowledge and skills to utilize parameters effectively: enhancing the flexibility, maintainability, and user control of your FME projects.
Here’s what you’ll gain:
- Essentials of FME Parameters: Understand the pivotal role of parameters, including Reader/Writer, Transformer, User, and FME Flow categories. Discover how they are the key to unlocking automation and optimization within your workflows.
- Practical Applications in FME Form: Delve into key user parameter types including choice, connections, and file URLs. Allow users to control how a workflow runs, making your workflows more reusable. Learn to import values and deliver the best user experience for your workflows while enhancing accuracy.
- Optimization Strategies in FME Flow: Explore the creation and strategic deployment of parameters in FME Flow, including the use of deployment and geometry parameters, to maximize workflow efficiency.
- Pro Tips for Success: Gain insights on parameterizing connections and leveraging new features like Conditional Visibility for clarity and simplicity.
We’ll wrap up with a glimpse into future webinars, followed by a Q&A session to address your specific questions surrounding this topic.
Don’t miss this opportunity to elevate your FME expertise and drive your projects to new heights of efficiency.
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
In this insightful webinar, Inflectra explores how artificial intelligence (AI) is transforming software development and testing. Discover how AI-powered tools are revolutionizing every stage of the software development lifecycle (SDLC), from design and prototyping to testing, deployment, and monitoring.
Learn about:
• The Future of Testing: How AI is shifting testing towards verification, analysis, and higher-level skills, while reducing repetitive tasks.
• Test Automation: How AI-powered test case generation, optimization, and self-healing tests are making testing more efficient and effective.
• Visual Testing: Explore the emerging capabilities of AI in visual testing and how it's set to revolutionize UI verification.
• Inflectra's AI Solutions: See demonstrations of Inflectra's cutting-edge AI tools like the ChatGPT plugin and Azure Open AI platform, designed to streamline your testing process.
Whether you're a developer, tester, or QA professional, this webinar will give you valuable insights into how AI is shaping the future of software delivery.
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Ramesh Iyer
In today's fast-changing business world, Companies that adapt and embrace new ideas often need help to keep up with the competition. However, fostering a culture of innovation takes much work. It takes vision, leadership and willingness to take risks in the right proportion. Sachin Dev Duggal, co-founder of Builder.ai, has perfected the art of this balance, creating a company culture where creativity and growth are nurtured at each stage.
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
3. T H I S TA L K S I S A B O U T
• Where legacy comes from?
• Why it is worth to get rid of legacy…
• … and how to make it properly?
• How not to hurt yourself
• Examples
4. T H I S TA L K I S N O T A B O U T
• How to test
• How to refactor classes/methods
• Silver bullet step-by-step approach
11. Q U A L I T Y D E C R E A S E S I N T I M E
- L A C K O F T H E „ B O Y S C O U T ” R U L E
0
17,5
35
52,5
70
2010 2011 2012 2013
12. R E S U LT S ? I S S U E S :
• Complicated code
• Harder to write tests
• Difficult deployment
• Reluctance of developers
• Hard to develop
13. H O W T O C O N V I N C E B U S I N E S S
• Slower development
• competitors might be faster
• increased costs
• HR issues: harder recruitment, more people leaving
• Lots of bugs, angry customers
• It might explode at any time ;)
14. 2 0 1 2 , K N I G H T C A P I TA L G R O U P
$460 mln loss in 45 minutes
30. G AT E WAY - B U I L D I T L E A N
server {
listen 80;
server_name domain.com;
location /profile {
proxy_pass http://10.0.3.10:80;
}
location /news {
proxy_pass http://10.0.3.10:80;
}
proxy_pass http://10.0.3.20:80;
}
31. G AT E WAY - P O S S I B L E S O L U T I O N S
• API - Open Source
• Kong
• API - Paid
• AWS API Gateway
• WWW
• HaProxy
• Nginx/Apache/…
52. L O N G T I M E A G O …
• Market leader
• Project started in 2010, we took over in 2016
• Customers: banks, political parties - no downtime
allowed ;)
68. P R O S
• Small risk, less stress, quick releases
• Instant effects
• Both business and developers happy
69. S E C O N D A P P R O A C H - A C L *
* M O D I F I E D A B I T
70. M O D E R N A C L L E G A C Y
https://github.com/VaughnVernon/IDDD_Samples/tree/master/iddd_collaboration/src/main/java/com/saasovation/
collaboration/port/adapter/service
73. interface CurrencyRepository
{
public function findAll();
public function getDefault();
public function find(string $isoCode);
public function save(Currency $currency);
}
M O D E R N - C U R R E N C Y R E P O S I T O RY
74. class Internal_CurrencyController extends Internal_Controller_InternalController
{
public function listcurrenciesAction()
{
$this->checkIp();
$this->getResponse()->setHeader('Content-type', 'application/json');
$mCurrency = new Default_Model_Currency();
/** @var Zend_Db_Table_Rowset $currencies */
$currencies = $mCurrency->fetchAll('status = "active"');
$this->getResponse()
->setBody(json_encode($currencies->toArray()))
->setHttpResponseCode(200);
}
}
L E G A C Y - C U R R E N C Y FA C A D E
76. class LegacyCurrencyAdapter implements CurrencyAdapter
{
public function findAll(): array
{
$response = $this->client->request('GET', 'listCurrencies');
$currencies = json_decode((string) $response->getBody(), true);
return array_map(function ($row) {
$currency = $this->currencyTranslator->createFromArray($row);
if ($exCurrency = $this->currRepo->find($currency->isoCode())) {
$currency->setRatio($exCurrency->getRatio());
$currency->setDefault($exCurrency->getDefault());
}
return $currency;
}, $currencies);
}
}
A C L - C U R R E N C Y A P I
77. class LegacyCurrencyTranslator implements CurrencyTranslator
{
public function createFromArray(array $data)
{
$default = filter_var($data['default'], FILTER_VALIDATE_BOOLEAN);
$ratio = filter_var($data['value'], FILTER_VALIDATE_FLOAT);
return new Currency($data['code'], $ratio, $default);
}
}
A C L - C U R R E N C Y T R A N S L AT O R