Continuous delivery is a software development discipline where you build software in such a way that the software can be released to production at any time. The idea is to make your software releasable at any moment of time by integrating it continuously and releasing it frequently to get early and frequent feedback.
Because of the approval process that exists in the release process of Android apps, Continuous Delivery is not easy for Android apps as compared to web application deployments. And it's also assumed that not much tools are available to enable Continuous Delivery.
Yes, its still not instant update to the app, but still things are better than how it has been in the past. This talk gives an overview of tools and techniques that can help us to create a pipeline to get fast and frequent feedback through continuous delivery.
How open source is driving DevOps innovation: CloudOpen NA 2015Gordon Haff
It’s no coincidence that all the interest around DevOps today comes at a time when open source technologies and processes are so dominant in cloud computing, data storage and analysis, and--increasingly--in networking. Innovations in Linux and other projects, including containers, configuration management, and continuous integration, are what make DevOps workflows and portable application deployments possible. But it’s also the result of open source culture, practices, and the tools supporting those practices that have made iterative development and collaboration such a powerful model for creating great software in communities. And now, they’re also providing a template for how to develop and operate applications internally within enterprises. In this session, we will discuss how open source tools and practices can be applied to create effective DevOps workflows and practices.
Continuous delivery of embedded systems embedded meetupMike Long
Continuous Delivery is all the rage, but many of the practices are not applied in the embedded world because the literature seems to focus on the web development community. That is a great shame, because there is a great deal we can apply on our embedded software development projects. This talk will show you how to apply some of the key techniques, such as embedded versioning and software traceability, embedded continuous delivery pipelines, acceptance testing with hardware, automatic deployment to hardware, continuous deployment. Beyond that, the talk will show some real-life examples of companies who are at the leading edge of this adoption.
Talk given at the Oslo Embedded Software meetup group.
Merge hells - Feature Toggles to the rescueLeena N
Feature branching has been popular for long, but everyone knows about the “merge hell”, a common issue because of long lived branches or infrequent integration. How do you continuously merge, test and release software with great confidence without spending too much time on merging and fixing conflict issues. That is where Mainline development, one of the key practices of Continuous Delivery, comes into picture and Feature Toggle works in conjunction with the same.
Feature Toggle [also referred as Feature Flip, Feature Switch, Feature flag] is a simple technique which allows you to turn on or off a feature through configuration. Feature toggles gives you the flexibility to toggle features in specific environments i.e. turn on a feature in testing or staging servers and turn it off the same in production. This also helps to rollback features, as rolling back is as simple as turning off the feature and deploying.
How to pass a coding interview as an automation developer
Oct 17 2016
T.J. Maher has been a software tester for twenty years, but only recently became an automation developer. March 2015 he went from one job executing other people's automated testplans to writing his own.
When he found himself needing to start job searching over a year later due to a switch in management, he found major changes to the interview process. This presentation describes T.J. Maher's job hunt, those changes, and how he managed to find a new position ... Not just as an automation developer, but as a Software Engineer in Test.
Continuous delivery is a software development discipline where you build software in such a way that the software can be released to production at any time. The idea is to make your software releasable at any moment of time by integrating it continuously and releasing it frequently to get early and frequent feedback.
Because of the approval process that exists in the release process of Android apps, Continuous Delivery is not easy for Android apps as compared to web application deployments. And it's also assumed that not much tools are available to enable Continuous Delivery.
Yes, its still not instant update to the app, but still things are better than how it has been in the past. This talk gives an overview of tools and techniques that can help us to create a pipeline to get fast and frequent feedback through continuous delivery.
How open source is driving DevOps innovation: CloudOpen NA 2015Gordon Haff
It’s no coincidence that all the interest around DevOps today comes at a time when open source technologies and processes are so dominant in cloud computing, data storage and analysis, and--increasingly--in networking. Innovations in Linux and other projects, including containers, configuration management, and continuous integration, are what make DevOps workflows and portable application deployments possible. But it’s also the result of open source culture, practices, and the tools supporting those practices that have made iterative development and collaboration such a powerful model for creating great software in communities. And now, they’re also providing a template for how to develop and operate applications internally within enterprises. In this session, we will discuss how open source tools and practices can be applied to create effective DevOps workflows and practices.
Continuous delivery of embedded systems embedded meetupMike Long
Continuous Delivery is all the rage, but many of the practices are not applied in the embedded world because the literature seems to focus on the web development community. That is a great shame, because there is a great deal we can apply on our embedded software development projects. This talk will show you how to apply some of the key techniques, such as embedded versioning and software traceability, embedded continuous delivery pipelines, acceptance testing with hardware, automatic deployment to hardware, continuous deployment. Beyond that, the talk will show some real-life examples of companies who are at the leading edge of this adoption.
Talk given at the Oslo Embedded Software meetup group.
Merge hells - Feature Toggles to the rescueLeena N
Feature branching has been popular for long, but everyone knows about the “merge hell”, a common issue because of long lived branches or infrequent integration. How do you continuously merge, test and release software with great confidence without spending too much time on merging and fixing conflict issues. That is where Mainline development, one of the key practices of Continuous Delivery, comes into picture and Feature Toggle works in conjunction with the same.
Feature Toggle [also referred as Feature Flip, Feature Switch, Feature flag] is a simple technique which allows you to turn on or off a feature through configuration. Feature toggles gives you the flexibility to toggle features in specific environments i.e. turn on a feature in testing or staging servers and turn it off the same in production. This also helps to rollback features, as rolling back is as simple as turning off the feature and deploying.
How to pass a coding interview as an automation developer
Oct 17 2016
T.J. Maher has been a software tester for twenty years, but only recently became an automation developer. March 2015 he went from one job executing other people's automated testplans to writing his own.
When he found himself needing to start job searching over a year later due to a switch in management, he found major changes to the interview process. This presentation describes T.J. Maher's job hunt, those changes, and how he managed to find a new position ... Not just as an automation developer, but as a Software Engineer in Test.
Closer To the Metal - Why and How We Use XCTest and Espresso by Mario Negro P...Sauce Labs
In this SauceCon 2019 presentation, Mario describes the practices that ABN AMRO adopted in mobile teams when it comes to testing native applications on real devices. Since using Espresso and XCUITest is still relatively uncommon for large apps and there are various unique challenges due to being in an EU-regulated industry with various security restrictions, Mario will share the ABN AMRO team’s experiences, including:
- A brief architectural overview of the Mobile Banking app: why it is all native (Objective-C/Swift and Java/Kotlin), how it communicates with other apps and websites
- Why ABN AMRO choose to adopt Espresso and XCUITest: the advantages and the limitations of this choice
- How ABN AMRO runs their test pipelines to spread them across time and devices and prevent teams from being blocked
Manufacturing Plus Open Source Equals DevOpsGordon Haff
From DevOps Summit Silicon Valley, November 2015
Manufacturing has widely adopted standardized and automated processes to create designs, build them, and maintain them through their life cycle. However, many modern manufacturing systems go beyond mechanized workflows to introduce empowered workers, flexible collaboration, and rapid iteration.
Such behaviors also characterize open source software development and are at the heart of DevOps culture, processes, and tooling. In this session, Red Hat’s Gordon Haff will discuss the lessons and processes that DevOps can apply from manufacturing using:
- Container-based platforms designed for modern application development and deployment.
- The ability to design microservices-based applications using modular and reusable parts.
- Iterative development, testing, and deployment using Platform-as-a-Service and integrated continuous delivery systems.
Overview of agile methods in use at Pivotal Labs, and how they're embodied in Pivotal Tracker, Pivotal Labs's project collaboration tool. Tracker is available at http://www.pivotaltracker.com.
DevOps and Continuous Delivery Reference Architectures (including Nexus and o...Sonatype
There are numerous examples of DevOps and Continuous Delivery reference architectures available, and each of them vary in levels of detail, tools highlighted, and processes followed. Yet, there is a constant theme among the tool sets: Jenkins, Maven, Sonatype Nexus, Subversion, Git, Docker, Puppet/Chef, Rundeck, ServiceNow, and Sonar seem to show up time and again.
An almost complete continuous delivery pipeline including configuration manag...ulfmansson
How we have created a build pipeline for continous delivery at Recorded Future. This includes also test of Chef cookbooks and configuration.
Presentation at
Config Management Camp 2014
La integración continua es una práctica de ingeniería de software que consiste en hacer integraciones automáticas de un proyecto lo más a menudo posible, para así poder detectar fallos cuanto antes.
Podríamos pensar que en 2020 todos lo equipos integran continuamente, pero conversando con diferentes profesionales podemos ver que no siempre es así.
En esta sesión revisitaremos esta importante práctica, clave en DevOps, que por ser una de las más básicas, damos demasiadas veces por superada.
AgileDC15 I'm Using Chef So I'm DevOps Right?Rob Brown
Introduce DevOps to the uninitiated
Demystify the terminology and techno-centric jargon
Provide an assessment model that you can take back to your organization to help establish a baseline of behaviors and practices, and guidance on moving towards more of a DevOps culture
Flutter has changed the game 勞
We have worked with several technologies before we met Flutter, but it was love at first sight once we come across this revolutionary tech 朗 While there has been a lot of attempts to solve this multi-platform challenge for app development, Flutter is the first one that truly cracked it
Google’s SDK has firmly established its position in the market and continues to rise at high speed The Flutter community is continuously growing and it's being trusted by top companies such as Google Ads, The New York Times, eBay, Square, Alibaba Group, BMW, Toyota, and many more
Check out Flutter’s main benefits and why it’s our chosen technology for productive, high-quality, and modern software development with reduced costs 六
Overview the Challenges and Limitations of Android App Automation with Espres...Sauce Labs
During this SauceCon 2019 presentation, Jagmit demonstrates how to set up Espresso, develop/execute tests and identify elements, and execute the Espresso tests in a Continuous Integration environment using Jenkins and Firebase.
Merge hells!! feature toggles to the rescueLeena N
Introducing Continuous Delivery practices to a team in trouble can be daunting. Where do you start ? What do you do first ? Which battle do you pick first ?
I’ll share my experience of guiding a team to achieve a higher degree of delivery maturity. This is a journey from a troublesome, struggling start of chaotic manual deployments, merge hell, regular production roll backs and lost code, to deliver a single commit to trunk automatically and reliably, under an hour, many times a day.
Merge hells!! feature toggles to the rescue - Presented @ Agile TorontoLeena N
Have you ever wondered how Amazon does deployments in every 11 seconds? Have you ever wondered how frequently Google Chrome updates?
Compare that with an enterprise product you are using or the banking application that you use, it takes weeks or even months for an update. The assumption is that frequent releases are possible for Googles or Amazons or Unicorns. It is not for others.
This talk is about why that assumption is wrong. It can be done anywhere, with enough focus and investment for the Continuous Delivery pipeline to make sure that every commit is releasable or deployable.
And fundamental to Continuous Delivery is Continuous Integration. Continuous Integration guarantees every change committed to the repository is tested and reported about production readiness. And Feature Toggle is for turning features on/off depending upon certain conditions. This opens the opportunity to test certain features quickly with few users for experimentation and learning.
Feature branching has been popular for long, but everyone knows about the “code merge hell”, a common issue because of long-lived branches or infrequent integration. If the team is spending time in fixing the merge hells and checking what part of the code needs to be merged, then it is not the efficient use of human talent.
Closer To the Metal - Why and How We Use XCTest and Espresso by Mario Negro P...Sauce Labs
In this SauceCon 2019 presentation, Mario describes the practices that ABN AMRO adopted in mobile teams when it comes to testing native applications on real devices. Since using Espresso and XCUITest is still relatively uncommon for large apps and there are various unique challenges due to being in an EU-regulated industry with various security restrictions, Mario will share the ABN AMRO team’s experiences, including:
- A brief architectural overview of the Mobile Banking app: why it is all native (Objective-C/Swift and Java/Kotlin), how it communicates with other apps and websites
- Why ABN AMRO choose to adopt Espresso and XCUITest: the advantages and the limitations of this choice
- How ABN AMRO runs their test pipelines to spread them across time and devices and prevent teams from being blocked
Manufacturing Plus Open Source Equals DevOpsGordon Haff
From DevOps Summit Silicon Valley, November 2015
Manufacturing has widely adopted standardized and automated processes to create designs, build them, and maintain them through their life cycle. However, many modern manufacturing systems go beyond mechanized workflows to introduce empowered workers, flexible collaboration, and rapid iteration.
Such behaviors also characterize open source software development and are at the heart of DevOps culture, processes, and tooling. In this session, Red Hat’s Gordon Haff will discuss the lessons and processes that DevOps can apply from manufacturing using:
- Container-based platforms designed for modern application development and deployment.
- The ability to design microservices-based applications using modular and reusable parts.
- Iterative development, testing, and deployment using Platform-as-a-Service and integrated continuous delivery systems.
Overview of agile methods in use at Pivotal Labs, and how they're embodied in Pivotal Tracker, Pivotal Labs's project collaboration tool. Tracker is available at http://www.pivotaltracker.com.
DevOps and Continuous Delivery Reference Architectures (including Nexus and o...Sonatype
There are numerous examples of DevOps and Continuous Delivery reference architectures available, and each of them vary in levels of detail, tools highlighted, and processes followed. Yet, there is a constant theme among the tool sets: Jenkins, Maven, Sonatype Nexus, Subversion, Git, Docker, Puppet/Chef, Rundeck, ServiceNow, and Sonar seem to show up time and again.
An almost complete continuous delivery pipeline including configuration manag...ulfmansson
How we have created a build pipeline for continous delivery at Recorded Future. This includes also test of Chef cookbooks and configuration.
Presentation at
Config Management Camp 2014
La integración continua es una práctica de ingeniería de software que consiste en hacer integraciones automáticas de un proyecto lo más a menudo posible, para así poder detectar fallos cuanto antes.
Podríamos pensar que en 2020 todos lo equipos integran continuamente, pero conversando con diferentes profesionales podemos ver que no siempre es así.
En esta sesión revisitaremos esta importante práctica, clave en DevOps, que por ser una de las más básicas, damos demasiadas veces por superada.
AgileDC15 I'm Using Chef So I'm DevOps Right?Rob Brown
Introduce DevOps to the uninitiated
Demystify the terminology and techno-centric jargon
Provide an assessment model that you can take back to your organization to help establish a baseline of behaviors and practices, and guidance on moving towards more of a DevOps culture
Flutter has changed the game 勞
We have worked with several technologies before we met Flutter, but it was love at first sight once we come across this revolutionary tech 朗 While there has been a lot of attempts to solve this multi-platform challenge for app development, Flutter is the first one that truly cracked it
Google’s SDK has firmly established its position in the market and continues to rise at high speed The Flutter community is continuously growing and it's being trusted by top companies such as Google Ads, The New York Times, eBay, Square, Alibaba Group, BMW, Toyota, and many more
Check out Flutter’s main benefits and why it’s our chosen technology for productive, high-quality, and modern software development with reduced costs 六
Overview the Challenges and Limitations of Android App Automation with Espres...Sauce Labs
During this SauceCon 2019 presentation, Jagmit demonstrates how to set up Espresso, develop/execute tests and identify elements, and execute the Espresso tests in a Continuous Integration environment using Jenkins and Firebase.
Merge hells!! feature toggles to the rescueLeena N
Introducing Continuous Delivery practices to a team in trouble can be daunting. Where do you start ? What do you do first ? Which battle do you pick first ?
I’ll share my experience of guiding a team to achieve a higher degree of delivery maturity. This is a journey from a troublesome, struggling start of chaotic manual deployments, merge hell, regular production roll backs and lost code, to deliver a single commit to trunk automatically and reliably, under an hour, many times a day.
Merge hells!! feature toggles to the rescue - Presented @ Agile TorontoLeena N
Have you ever wondered how Amazon does deployments in every 11 seconds? Have you ever wondered how frequently Google Chrome updates?
Compare that with an enterprise product you are using or the banking application that you use, it takes weeks or even months for an update. The assumption is that frequent releases are possible for Googles or Amazons or Unicorns. It is not for others.
This talk is about why that assumption is wrong. It can be done anywhere, with enough focus and investment for the Continuous Delivery pipeline to make sure that every commit is releasable or deployable.
And fundamental to Continuous Delivery is Continuous Integration. Continuous Integration guarantees every change committed to the repository is tested and reported about production readiness. And Feature Toggle is for turning features on/off depending upon certain conditions. This opens the opportunity to test certain features quickly with few users for experimentation and learning.
Feature branching has been popular for long, but everyone knows about the “code merge hell”, a common issue because of long-lived branches or infrequent integration. If the team is spending time in fixing the merge hells and checking what part of the code needs to be merged, then it is not the efficient use of human talent.
Cloud-Native Fundamentals: Accelerating Development with Continuous IntegrationVMware Tanzu
DevOps. Microservices. Containers. These terms have a lot of buzz for their role in cloud-native application development and operations. But, if you haven't automated your tests and builds with continuous integration (CI), none of them matter.
Continuous integration is the automation of building and testing new code. Development teams that use CI can catch bugs early and often; resulting in code that is always production ready. Compared to manual testing, CI eliminates a lot of toil and improves code quality. At the end of the day, it's those code defects that slip into production that slow down teams and cause apps to fall over.
The journey to continuous integration maturity has some requirements. Join Pivotal's James Ma, product manager for Concourse, and Dormain Drewitz, product marketing to learn about:
- How Test-Driven Development feeds the CI process
- What is different about CI in a cloud-native context
- How to measure progress and success in adopting CI
Dormain is a Senior Director of Product and Customer Marketing with Pivotal. She has published extensively on cloud computing topics for ten years, demystifying the changing requirements of the infrastructure software stack. She’s presented at the Gartner Application Architecture, Development, and Integration Summit; Open Source Summit; Cloud Foundry Summit, and numerous software user events.
James Ma is a product manager at Pivotal and is based out of their office in Toronto, Canada. As a consultant for the Pivotal Labs team, James worked with Fortune 500 companies to hone their agile software development practices and adopt a user-centered approach to product development. He has worked with companies across multiple industries including: mobile e-commerce, finance, heath and hospitality. James is currently a part of the Pivotal Cloud Foundry R&D group and is the product manager for Concourse CI, the continuous "thing do-er".
Presenters : Dormain Drewitz & James Ma, Pivotal
Containers, the next wave of virtualization, are changing everything! As companies learn about the value of DevOps practices and containerization they are flocking to containers. Now with Docker running on Windows and Docker Containers built into both Azure and Windows Server, containers are poised to take over the virtualization landscape. Come to the session to learn all about containers and how you can put these technologies to use in your organization. You will learn about DevOps, Docker Containers, Running Containers on Windows 10, Windows Server 2016 and Linux on-premises or in the Azure cloud. You will learn about the tools and practices for leveraging containers, deploying containers as well as how you can continue on your journey to becoming a container expert as you grow your technical career.
Build software like a bag of marbles, not a castle of LEGO®Hannes Lowette
If you have ever played with LEGO®, you will know that adding, removing or changing features of a completed castle isn’t as easy as it seems. You will have to deconstruct large parts to get to where you want to be, to build it all up again afterwards. Unfortunately, our software is often built the same way. Wouldn’t it be better if our software behaved like a bag of marbles? So you can just add, remove or replace them at will?
Most of us have taken different approaches to building software: a big monolith, a collection of services, a bus architecture, etc. But whatever your large scale architecture is, at the granular level (a single service or host), you will probably still end up with tightly couple code. Adding functionality means making changes to every layer, service or component involved. It gets even harder if you want to enable or disable features for certain deployments: you’ll need to wrap code in feature flags, write custom DB migration scripts, etc. There has to be a better way!
So what if you think of functionality as loose feature assemblies? We can construct our code in such a way that adding a feature is as simple as adding the assembly to your deployment, and removing it is done by just deleting the file. We would open the door for so many scenarios!
In this talk, I will explain how to tackle the following parts of your application to achieve this goal: WebAPI, Entity Framework, Onion Architecture, IoC and database migrations. And most of all, when you would want to do this. Because… ‘it depends’.
Te dicen "Move fast and break things" pero realmente quieren decir "Hay paladas de trabajo por hacer, hagámoslas rompiendo lo menos posible". En esta charla básica haremos una introducción a integración continua y hablaremos un poco sobre testing, Git, feature toggles, cultura de empresa, versionado (o no) y otros mecanismos que usamos en CartoDB para avanzar lo más deprisa posible.
Evolving Services Into A Cloud Native WorldIain Hull
How Workday manage stateful services with a custom controller on Kubernetes?
Conference talk for CloudNative London 2018
https://skillsmatter.com/skillscasts/12106-evolving-services-into-the-cloud-native-world-how-workday-manage-stateful-services-with-a-custom-controller-on-kubernetes
Kubernetes and declarative infrastructure greatly simplify the way we deploy and manage software. Most services can be orchestrated with the control loops supplied by Kubernetes (deployments, stateful sets or jobs). Some stateful services in Workday require more advanced orchestration, and re-architecting them is not an easy option.
In this talk you will discover why some of our services require extra orchestration, and how we evolved an existing service into a control loop on top of Kubernetes. The control loop organises multiple services into groups these are dynamically created, deleted and scaled. It also orchestrates blue/green deployments of each group. Now we can adopt more kubernetes features and retire some of our old scheduling code. Finally you will learn the process we follow to evaluate and design our own control loops and when you might find them useful.
Bio
Iain is a principal software engineer at Workday using Kubernetes and Scala to deliver their next generation elastic grid. His twin passions are large scale distributed computing and applying clean code to complex problems. He is interested in good design and how this can improve system reliability and reduce friction during development.
He loves sharing his experiences as he learns and builds new systems. He regularly speaks at local meetups in Dublin and has presented at conferences including GotoConf, Scala Days, Functional Kats and Lambda World.
Docker adventures in Continuous Delivery - Alex VranceanuITCamp
Implementing CI with Docker are the baby steps. The tricky one is CD through several environments. Architecture, demo and lessons learned. Target audience: 80% technical, 20% PM/architects/leaders
Imagine we had the power to understand the code before its complied or embedding a backdoor or even stealing legitimate certificates of a well known vendor and using them to sign malware?
Join me in the journey of exploring security issues that tend to happen during Build Time in typical enterprise environments.
PittsburgJUG_Cloud-Native Dev Tools: Bringing the cloud back to earthGrace Jansen
How can we effectively develop for the cloud, when we as developers are coding back down on earth? This is where effective cloud-native developer tools can enable us to either be transported into the cloud or alternatively, to bring the cloud back down to earth. But what tools should we be using for this? In this session, we’ll explore some of the useful OSS tools and technologies that can used by developers to effectively develop, design and test cloud-native Java applications.
Docker Meetup at Docker HQ: Docker CloudDocker, Inc.
Talk #1: Ryan Kennedy, CI: Build and Test in Docker Cloud
In this talk, Ryan Kennedy will present an overview of Docker Cloud and demonstrate how to configure a CI pipeline using the automated build and test capabilities. We will dive into the latest features available in Docker Cloud, including sharing repositories with teams and securing your application pipeline.
*
Talk #2: Bryan Lee and Alberto Megia, Deploying and Managing Applications in Docker Cloud
In this talk, Bryan Lee and Alberto Megia will demonstrate auto-deployment capabilities in Docker Cloud as well as how to deploy, manage, and scale container-based applications directly within the tool.
Speed up the development and increase the app quality are the keywords for success. Good points, not so simple to achieve….
eXtreme Programming (XP) is an agile discipline of software development based on values of simplicity, communication, feedback, courage, and respect. The software is built around the needs of the customer through a continuous release of working software and creating a learning loop that dramatically improves the quality of the final product.
Some XP practices, like TDD and Continuous Integration, can benefit of the support of software tools and frameworks. In this session we will see how XCTest and Xcode Continuous Integration can streamline the process of the iOS XP team.
Confoo-Montreal-2016: Controlling Your Environments using Infrastructure as CodeSteve Mercier
Slides from my talk at ConFoo Montreal, February 2016. A presentation on how to apply configuration management (CM) principles for your various environments, to control changes made to them. You apply CM on your code, why not on your environments content? This presentation will present the infrastructure as code principles using Chef and/or Ansible. Topics discussed include Continuous Integration, Continuous Delivery/Deployment principles, Infrastructure As Code and DevOps.
What is continuous integration?
Building a feature with continuous integration
Practices of continuous integration
Benefits of continuous integration
Introducing continuous integration
Final thoughts
Continuous integration tools
Similar to Merge hells!! Feature toggles to the rescue - DevOpsDays Madison (20)
Have you ever asked a programmer how much longer “this” is going to take? Here goes another typical answer. I am done with most of the tasks, need extra time to finish the last few ones. And the “last few tasks” never ends or takes enormous amounts of time.
On the one hand, we all know that estimates always go wrong. But there is another aspect to this too, i.e. the last mile problem. It can be because of the “fear or shipping” or not applying the guideline “done is better than perfect”.
This talk is about a few tricks I tried not to get into the “perfection” mode; instead, get into the habit of “shipping”. Surprisingly, that helped me to avoid providing estimates :)
n this world of Microservices, I am building a Monolith app. In this world of React and Vue, am building a server-side rendered app.
However, I need Javascript. I can’t avoid that. I need some parts of the page updated dynamically. I need to show/hide certain parts of the page depending upon user actions.
I don’t want JQuery for the obvious reasons. Slow.., Heavy and then, of course, it can easily create spaghetti code.
That is when I came across Stimulus JS - a modest Javascript framework. It sprinkles Javascript to add behaviour to your HTML.
It has a controller, action and targets (i.e. the HTML elements). Moreover, it pairs well with Turbolinks. So I don’t need to do the circus of converting JSON to DOM.
I’ve been using Stimulus for over a year and its been quite good. This talk is about my experiences with Stimulus with a few examples. I will share recommendations on where it might be useful and where it is not.
Patterns and practices for evolvability - the key for technical agilityLeena N
Evolvability refers to the ability to adapt to market needs and the changing environment. Mainly two kinds of evolvability are needed: Product evolving as per the market needs to avoid Building something that nobody wants The architecture and the design of the software evolving to allow the team to make faster changes to the product without breaking things That is why it is crucial to build the right product and build it in the right way.
Expand contract pattern - Continuous Delivery for Databases - DevOpsDays SeattleLeena N
Modifying the schema of a production database is *hard*. If something goes wrong, the impact on both customers and the team can be enormous. And it can be hard or even impossible to rollback a database schema change if things go wrong. And the same is true for any architectural change for a production application.
The Branch by Abstraction and Strangler Pattern makes significant application changes easier. Are there any similar patterns we can use to make production database changes less risky?
Indeed, there are. The Expand/Contract pattern is a blueprint for making the database migration. It makes the remodelling both reversible and safe. By *expanding* the application to accommodate both the old and the new schemas in parallel, we can give ourselves time to:
- Migrate any downstream dependencies on the old database schema
- Gain confidence that the migration is safe
We *contract* the application to the new version, once we’ve satisfied that the old schema is no longer needed.
The pattern helps to make significant, but necessary refactorings to your data model in a **continuous delivery way**. Most importantly, without threatening the robustness of your production applications.
Expand contract pattern continuous delivery and databasesLeena N
Modifying the schema of a production database is hard. If something goes wrong, the impact on both customers and the team can be enormous. And it can be hard or even impossible to rollback a database schema change if things go wrong. And the same is true for any architectural change for a production application.
The Branch by Abstraction and Strangler Pattern makes significant application changes easier. Are there any similar patterns we can use to make production database changes less risky?
Indeed, there are. The Expand/Collapse pattern is a blueprint for making the database migration and makes the remodelling both reversible and safe. By expanding the application to accommodate both the old and the new schemas in parallel, we can give ourselves time to:
- Migrate any downstream dependencies on the old database schema;
- Gain confidence that the migration is safe.
We contract the application to the new version, once we’ve satisfied that the old schema is no longer needed.
The pattern helps to make significant, but necessary refactorings to your data model in a continuous delivery way. Most importantly, without threatening the robustness of your production applications.
Expand contract pattern - Continuous Delivery and DatabasesLeena N
Modifying the schema of a production database is *hard*. If something goes wrong, the impact on both customers and the team can be enormous. And it can be hard or even impossible to rollback a database schema change if things go wrong. And the same is true for any architectural change for a production application.
The Branch by Abstraction and Strangler Pattern makes significant application changes easier. Are there any similar patterns we can use to make production database changes less risky?
Indeed, there are. The Expand/Contract pattern is a blueprint for making the database migration. It makes the remodelling both reversible and safe. By *expanding* the application to accommodate both the old and the new schemas in parallel, we can give ourselves time to:
- Migrate any downstream dependencies on the old database schema
- Gain confidence that the migration is safe
We *contract* the application to the new version, once we’ve satisfied that the old schema is no longer needed.
The pattern helps to make significant, but necessary refactorings to your data model in a **continuous delivery way**. Most importantly, without threatening the robustness of your production applications.
What does career growth mean? How does one grow in their career? How do you choose an organisation which allows one to grow?
One grows when the environment allows growing. I am not talking about the std. the corporate ladder. One can climb those automatically as the time passes. But all of us agree that it doesn't mean "growth".
The key ingredients for the actual growth is the following:
* Purpose - the intention to contribute to the well-being of others
* Practice - Consistent and deliberate practice
* Perseverance - Persistence to try out hard things
The talk is about examples and stories about these ingredients and what makes those who have these ingredients and those who don't.
This talk is about bringing in the segregation to identify the debt and the tactics of paying off technical debt in a matured, sustainable manner. Yes, it can be paid off provided enough focus is given to it.
Developing, building, testing and deploying react native appsLeena N
React Native is gaining maturity as a cross-platform mobile app development solution. With a strong community around the ecosystem, mobile app development is all set to become simpler and enjoyable.
This talk is about various techniques and tools that are available for building, testing and deploying React Native apps for Android and iOS platforms.
Code reviews are vital for ensuring good code quality. They serve as one of our last lines of defense against bugs and subpar code reaching production.
Yet, they often turn into annoying tasks riddled with frustration, hostility, unclear feedback and lack of standards. How can we improve this crucial process?
In this session we will cover:
- The Art of Effective Code Reviews
- Streamlining the Review Process
- Elevating Reviews with Automated Tools
By the end of this presentation, you'll have the knowledge on how to organize and improve your code review proces
What is Augmented Reality Image Trackingpavan998932
Augmented Reality (AR) Image Tracking is a technology that enables AR applications to recognize and track images in the real world, overlaying digital content onto them. This enhances the user's interaction with their environment by providing additional information and interactive elements directly tied to physical images.
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeAftab Hussain
Understanding variable roles in code has been found to be helpful by students
in learning programming -- could variable roles help deep neural models in
performing coding tasks? We do an exploratory study.
- These are slides of the talk given at InteNSE'23: The 1st International Workshop on Interpretability and Robustness in Neural Software Engineering, co-located with the 45th International Conference on Software Engineering, ICSE 2023, Melbourne Australia
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Mind IT Systems
Healthcare providers often struggle with the complexities of chronic conditions and remote patient monitoring, as each patient requires personalized care and ongoing monitoring. Off-the-shelf solutions may not meet these diverse needs, leading to inefficiencies and gaps in care. It’s here, custom healthcare software offers a tailored solution, ensuring improved care and effectiveness.
Quarkus Hidden and Forbidden ExtensionsMax Andersen
Quarkus has a vast extension ecosystem and is known for its subsonic and subatomic feature set. Some of these features are not as well known, and some extensions are less talked about, but that does not make them less interesting - quite the opposite.
Come join this talk to see some tips and tricks for using Quarkus and some of the lesser known features, extensions and development techniques.
Software Engineering, Software Consulting, Tech Lead, Spring Boot, Spring Cloud, Spring Core, Spring JDBC, Spring Transaction, Spring MVC, OpenShift Cloud Platform, Kafka, REST, SOAP, LLD & HLD.
Takashi Kobayashi and Hironori Washizaki, "SWEBOK Guide and Future of SE Education," First International Symposium on the Future of Software Engineering (FUSE), June 3-6, 2024, Okinawa, Japan
Atelier - Innover avec l’IA Générative et les graphes de connaissancesNeo4j
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Allez au-delà du battage médiatique autour de l’IA et découvrez des techniques pratiques pour utiliser l’IA de manière responsable à travers les données de votre organisation. Explorez comment utiliser les graphes de connaissances pour augmenter la précision, la transparence et la capacité d’explication dans les systèmes d’IA générative. Vous partirez avec une expérience pratique combinant les relations entre les données et les LLM pour apporter du contexte spécifique à votre domaine et améliorer votre raisonnement.
Amenez votre ordinateur portable et nous vous guiderons sur la mise en place de votre propre pile d’IA générative, en vous fournissant des exemples pratiques et codés pour démarrer en quelques minutes.
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Crescat
Crescat is industry-trusted event management software, built by event professionals for event professionals. Founded in 2017, we have three key products tailored for the live event industry.
Crescat Event for concert promoters and event agencies. Crescat Venue for music venues, conference centers, wedding venues, concert halls and more. And Crescat Festival for festivals, conferences and complex events.
With a wide range of popular features such as event scheduling, shift management, volunteer and crew coordination, artist booking and much more, Crescat is designed for customisation and ease-of-use.
Over 125,000 events have been planned in Crescat and with hundreds of customers of all shapes and sizes, from boutique event agencies through to international concert promoters, Crescat is rigged for success. What's more, we highly value feedback from our users and we are constantly improving our software with updates, new features and improvements.
If you plan events, run a venue or produce festivals and you're looking for ways to make your life easier, then we have a solution for you. Try our software for free or schedule a no-obligation demo with one of our product specialists today at crescat.io
Artificia Intellicence and XPath Extension FunctionsOctavian Nadolu
The purpose of this presentation is to provide an overview of how you can use AI from XSLT, XQuery, Schematron, or XML Refactoring operations, the potential benefits of using AI, and some of the challenges we face.
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxrickgrimesss22
Discover the essential features to incorporate in your Winzo clone app to boost business growth, enhance user engagement, and drive revenue. Learn how to create a compelling gaming experience that stands out in the competitive market.
GraphSummit Paris - The art of the possible with Graph TechnologyNeo4j
Sudhir Hasbe, Chief Product Officer, Neo4j
Join us as we explore breakthrough innovations enabled by interconnected data and AI. Discover firsthand how organizations use relationships in data to uncover contextual insights and solve our most pressing challenges – from optimizing supply chains, detecting fraud, and improving customer experiences to accelerating drug discoveries.
Hand Rolled Applicative User ValidationCode KataPhilip Schwarz
Could you use a simple piece of Scala validation code (granted, a very simplistic one too!) that you can rewrite, now and again, to refresh your basic understanding of Applicative operators <*>, <*, *>?
The goal is not to write perfect code showcasing validation, but rather, to provide a small, rough-and ready exercise to reinforce your muscle-memory.
Despite its grandiose-sounding title, this deck consists of just three slides showing the Scala 3 code to be rewritten whenever the details of the operators begin to fade away.
The code is my rough and ready translation of a Haskell user-validation program found in a book called Finding Success (and Failure) in Haskell - Fall in love with applicative functors.
Zoom is a comprehensive platform designed to connect individuals and teams efficiently. With its user-friendly interface and powerful features, Zoom has become a go-to solution for virtual communication and collaboration. It offers a range of tools, including virtual meetings, team chat, VoIP phone systems, online whiteboards, and AI companions, to streamline workflows and enhance productivity.
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteGoogle
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
👉👉 Click Here To Get More Info 👇👇
https://sumonreview.com/ai-pilot-review/
AI Pilot Review: Key Features
✅Deploy AI expert bots in Any Niche With Just A Click
✅With one keyword, generate complete funnels, websites, landing pages, and more.
✅More than 85 AI features are included in the AI pilot.
✅No setup or configuration; use your voice (like Siri) to do whatever you want.
✅You Can Use AI Pilot To Create your version of AI Pilot And Charge People For It…
✅ZERO Manual Work With AI Pilot. Never write, Design, Or Code Again.
✅ZERO Limits On Features Or Usages
✅Use Our AI-powered Traffic To Get Hundreds Of Customers
✅No Complicated Setup: Get Up And Running In 2 Minutes
✅99.99% Up-Time Guaranteed
✅30 Days Money-Back Guarantee
✅ZERO Upfront Cost
See My Other Reviews Article:
(1) TubeTrivia AI Review: https://sumonreview.com/tubetrivia-ai-review
(2) SocioWave Review: https://sumonreview.com/sociowave-review
(3) AI Partner & Profit Review: https://sumonreview.com/ai-partner-profit-review
(4) AI Ebook Suite Review: https://sumonreview.com/ai-ebook-suite-review
13. Think about how long would it take you to deliver a
change of one line of code within your application to
production
~Mary and Tom Poppendieck
Lean Software Development, An Agile Toolkit
14. “Continuous Delivery is a software development
discipline where you build software in such a way that
the software can be released to production at any
time.”
http://martinfowler.com/bliki/ContinuousDelivery.html
16. “Continuous integration (CI) is the practice, in
software engineering, of merging all developer
working copies to a shared mainline several times a
day.”
40. References
Feature Toggles - Martin Fowler's Bliki
Continuous Delivery
Trunk Based Development - Paul Hammant
Merge Hells - Feature Toggles to the Rescue
Devops Journey @ Capital One
DevOps at Capital One: Focusing on Pipeline and Measurement
The Death of Continuous Integration - by Steve Smith
Enabling Continuous Delivery with DB - Pramod Sadalage
Evolutionary Database Design - Martin Fowler, Pramod Sadalage