The ColdBox Platform was the first conventions based MVC framework for ColdFusion. It has evolved and become the de-facto standard for building scalable and modern ColdFusion applications. Come learn about hierarchical MVC and modularization to scale your legacy or new applications to a new modern era.
Cypress vs Selenium WebDriver: Better, Or Just Different? -- by Gil TayarApplitools
** Full webinar recording: https://youtu.be/D7vxFuwnUio **
Watch Sr. Architect Gil Tayar's special hands-on session, where he explains & demonstrates how Selenium and Cypress differ.
The session covers the following topics:
* How and why do frontend developers write tests
*Selenium architecture
*Cypress architecture
*Live Demo of Cypress - including how to write a Cypress test, and how it’s used
*How Cypress deals with flakiness
*Cypress and backdoors to development
*Visual Testing using Cypress
Progressive Web App Testing With Cypress.ioKnoldus Inc.
Cypress.io is a frontend automation testing tool built for modern web applications developed on some of the emerging technologies like Reactjs, Ionic, Vue, and Angular.
Cypress is a test automation tool that can perform fast, easy and reliable testing for anything that runs in a browser.
The ColdBox Platform was the first conventions based MVC framework for ColdFusion. It has evolved and become the de-facto standard for building scalable and modern ColdFusion applications. Come learn about hierarchical MVC and modularization to scale your legacy or new applications to a new modern era.
Cypress vs Selenium WebDriver: Better, Or Just Different? -- by Gil TayarApplitools
** Full webinar recording: https://youtu.be/D7vxFuwnUio **
Watch Sr. Architect Gil Tayar's special hands-on session, where he explains & demonstrates how Selenium and Cypress differ.
The session covers the following topics:
* How and why do frontend developers write tests
*Selenium architecture
*Cypress architecture
*Live Demo of Cypress - including how to write a Cypress test, and how it’s used
*How Cypress deals with flakiness
*Cypress and backdoors to development
*Visual Testing using Cypress
Progressive Web App Testing With Cypress.ioKnoldus Inc.
Cypress.io is a frontend automation testing tool built for modern web applications developed on some of the emerging technologies like Reactjs, Ionic, Vue, and Angular.
Cypress is a test automation tool that can perform fast, easy and reliable testing for anything that runs in a browser.
Speed up your Titanium app development with automated tests - TiConf EU 2014Emanuele Rampichini
This session will explore unit and functional testing concepts applied to Titanium mobile and Alloy framework. After a brief introduction to testing we will look at the complete source code of a fully tested app.
Dagger 2
In this talk we'll discuss why Dagger 2 will be the best Java dependency injection library yet. We'll show you how to use it and what advantages it offers over the original Dagger.
Building the Test Automation Framework - Jenkins for TestersWilliam Echlin
http://www.TestManagement.com: Module 2 of a six module course on building the test automation framework. This second module looks at how to implement Jenkins in the test environment.
A super enjoyable and entertaining walk through API memory lane, then a primer on how to test API's from a unit, integration, and monitoring standpoint. Then a demo on a CI/CD implementation I created at Snagajob.
The slides demonstrate how to work successfully with OSGi and discuss alternative architectures namely micro-services. Please like if you find the slides useful.
Learn How to Unit Test Your Android Application (with Robolectric)Marakana Inc.
Robolectric is an open source Android unit testing framework that makes it possible to run unit tests against your Android application code outside of the emulator - in the IDE. Robolectric gives you the scaffolding to run your tests quickly so you can make fast iterations and refactor your code with confidence.
** Check out the video for this presentation at marakana.com: http://mrkn.co/f/192 **
This presentation was given at the San Francisco Android User Group on Oct. 26, 2010.
[AnDevCon 2016] Mutation Testing for AndroidHazem Saleh
Unit testing coverage is a great way to show us the amount of tested lines and branches of code, but is this really enough? The answer is "no" since unit testing coverage does not really fully measure the efficiency of the unit tests.
This is why there is a need for having techniques that show unit tests efficiency. Mutation testing is one of these powerful techniques. The main idea of mutation testing is to perform byte code modifications (mutations) to original Android app source code and then run app unit tests to check if they are strong enough to fail as a result of these mutations.
This session discusses mutation testing techniques, and demonstrates PIT as a powerful mutation testing tool for Android apps with demos.
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’.
Efficient JavaScript Unit Testing, May 2012Hazem Saleh
One of the biggest challenges of many web applications is the support on the different browsers with different versions. JavaScript code that runs on Safari does not necessarily mean it will work on IE or Firefox or Google chrome. This challenge is inherited from the lack of testing the JavaScript code that lives in the presentation tier from day one. Without unit testing the JavaScript code, organization will pay much money for testing, re-testing, and re-testing web applications for just deciding upgrading or supporting new browsers. This presentation shows the solution of this problem.
Why you should switch to Cypress for modern web testing?Shivam Bharadwaj
Cypress is a modern web testing framework built on top of mocha and uses chai as an assertion library. The E2E tests are written entirely in javascript. These slides will give you a kick ass on getting started with Cypress.
Do read my blog @ - https://dzone.com/articles/why-should-you-switch-to-cypress-for-modern-web-te
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
[English][Test Girls] Zero to Hero: Start Test automation with CypressTest Girls
DevOpsDays Philadelphia 2019 presentation.
Zero to Hero: Start Test automation with Cypress
In DevOps world, test automation is a must have. But start coding could be challenging for people novice in tech and also for the ones working in manual testing (because someone said that testers don’t need technical skills)! In this “right to the point” workshop you’ll start your automation test project - easy and painlessly. It’ll give you knowledge to continue learning and practicing after.
What java developers (don’t) know about api compatibilityJens Dietrich
The results of a survey aimed to find out what Java developers know about source, binary and behavioural API compatibility. The questions are based on the deployment puzzlers set of questions.
Speed up your Titanium app development with automated tests - TiConf EU 2014Emanuele Rampichini
This session will explore unit and functional testing concepts applied to Titanium mobile and Alloy framework. After a brief introduction to testing we will look at the complete source code of a fully tested app.
Dagger 2
In this talk we'll discuss why Dagger 2 will be the best Java dependency injection library yet. We'll show you how to use it and what advantages it offers over the original Dagger.
Building the Test Automation Framework - Jenkins for TestersWilliam Echlin
http://www.TestManagement.com: Module 2 of a six module course on building the test automation framework. This second module looks at how to implement Jenkins in the test environment.
A super enjoyable and entertaining walk through API memory lane, then a primer on how to test API's from a unit, integration, and monitoring standpoint. Then a demo on a CI/CD implementation I created at Snagajob.
The slides demonstrate how to work successfully with OSGi and discuss alternative architectures namely micro-services. Please like if you find the slides useful.
Learn How to Unit Test Your Android Application (with Robolectric)Marakana Inc.
Robolectric is an open source Android unit testing framework that makes it possible to run unit tests against your Android application code outside of the emulator - in the IDE. Robolectric gives you the scaffolding to run your tests quickly so you can make fast iterations and refactor your code with confidence.
** Check out the video for this presentation at marakana.com: http://mrkn.co/f/192 **
This presentation was given at the San Francisco Android User Group on Oct. 26, 2010.
[AnDevCon 2016] Mutation Testing for AndroidHazem Saleh
Unit testing coverage is a great way to show us the amount of tested lines and branches of code, but is this really enough? The answer is "no" since unit testing coverage does not really fully measure the efficiency of the unit tests.
This is why there is a need for having techniques that show unit tests efficiency. Mutation testing is one of these powerful techniques. The main idea of mutation testing is to perform byte code modifications (mutations) to original Android app source code and then run app unit tests to check if they are strong enough to fail as a result of these mutations.
This session discusses mutation testing techniques, and demonstrates PIT as a powerful mutation testing tool for Android apps with demos.
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’.
Efficient JavaScript Unit Testing, May 2012Hazem Saleh
One of the biggest challenges of many web applications is the support on the different browsers with different versions. JavaScript code that runs on Safari does not necessarily mean it will work on IE or Firefox or Google chrome. This challenge is inherited from the lack of testing the JavaScript code that lives in the presentation tier from day one. Without unit testing the JavaScript code, organization will pay much money for testing, re-testing, and re-testing web applications for just deciding upgrading or supporting new browsers. This presentation shows the solution of this problem.
Why you should switch to Cypress for modern web testing?Shivam Bharadwaj
Cypress is a modern web testing framework built on top of mocha and uses chai as an assertion library. The E2E tests are written entirely in javascript. These slides will give you a kick ass on getting started with Cypress.
Do read my blog @ - https://dzone.com/articles/why-should-you-switch-to-cypress-for-modern-web-te
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
[English][Test Girls] Zero to Hero: Start Test automation with CypressTest Girls
DevOpsDays Philadelphia 2019 presentation.
Zero to Hero: Start Test automation with Cypress
In DevOps world, test automation is a must have. But start coding could be challenging for people novice in tech and also for the ones working in manual testing (because someone said that testers don’t need technical skills)! In this “right to the point” workshop you’ll start your automation test project - easy and painlessly. It’ll give you knowledge to continue learning and practicing after.
What java developers (don’t) know about api compatibilityJens Dietrich
The results of a survey aimed to find out what Java developers know about source, binary and behavioural API compatibility. The questions are based on the deployment puzzlers set of questions.
We are going to share 15 most important foods that will help you to reduce your unwanted weight. If you are suffering from unwanted fat then you must try these foods once.
Video for this session: http://www.youtube.com/watch?v=jdiu_dH3z5k
Code for this session: https://github.com/xamarin/Seminars/tree/master/2012-12-13-MVVMCross/
An introduction to one approach for using dependency injection, unit testing and MVVM in cross-platform mobile C# development with Stuart Lodge
Exploring the power of Gradle in android studio - Basics & BeyondKaushal Dhruw
In this presentation we will explore the official build system of android studio. Gradle. We will discuss about Gradle basics, Gradle Wrapper and its usage in android studio. We will explore the possibilities with gradle by covering beginner and advanced level topics.
What you can expect:
1. Just enough gradle to get started.
2. Creating simple and custom gradle tasks.
3. Gradle in android studio
4. Exploring product flavors
5. Using product flavors to our advantage.
6. facebook's stetho debug bridge and configuration via flavors.
A quick 30-60 minute overview of the announcements from the Xamarin Evolve 2016 conference. This was used to provide the talking points for a user group presentation
Getting your mobile test automation process in place - using Cucumber and Cal...Niels Frydenholm
Taking your mobile development process cycle, and the quality of the apps, from good to great.
See how focusing on automated tests can improve app quality, time to market and much more, and learn some best practices to avoid too much trouble getting started
Presented at Xamarin Evolve 2014
Containers are an amazing technology that are revolutionising how we deploy and create applications. Docker and Kubernetes are helping developers and organisations realise the magical potential that container technology and orchestration offer. Enter MicroShed and the Testcontainers framework enabling local test automation that leverages that magical portability containers offer. In this session we'll explore how Testcontainers can help you run and test with true-to-production environments in development with minimal re-writing of your test code.
C# everywhere: Xamarin and cross platform developmentGill Cleeren
C# is hotter than ever. Using Xamarin, we can use C# to not only build our apps on Windows Phone but also on iOS and Android. The magic that sits between are PCLs (Portable Class Libraries) that we can re-use on all these platforms. The goal is of course achieving the highest level of code sharing and re-using.
In this talk, we'll see how we can share code between Windows Phone, iOS and Android to build a cross-platform app using Xamarin. You'll also see how much of the marketing fluff is real: do we really get a lower time-to-market when sharing code and is this approach really cheaper than building 3 apps separately? Come to this talk and learn all about it
JLove - Replicating production on your laptop using the magic of containersGrace Jansen
Containers are an amazing technology that are revolutionising how we deploy and create applications. Docker and Kubernetes are helping developers and organisations realise the magical potential that container technology and orchestration offer. Enter MicroShed and the Testcontainers framework enabling local test automation that leverages that magical portability containers offer. In this session we'll explore how Testcontainers can help you run and test with true-to-production environments in development with minimal re-writing of your test code.
original (better quality) on https://docs.google.com/presentation/d/1bnwj8CrFGo5KekONYSeIHySdkoXZiewJxkHcZjXnzkQ/
slides from OpenDaylight Summit Oct 2016 Seattle
Multiplatform shared codebase with Kotlin/Native - UA Mobile 2019Eugene Kurko
f you want to share the code between Android and iOS but you don't feel like doing C++/JNI, React Native, Flutter, you must try Kotlin/Native! In this presentation we will see how Kotlin/Native is different and in some aspects superior, and how easy it becomes to develop, debug and maintain a common codebase with JetBrains tools and without sacrificing runtime performance.
Multiplatform shared codebase with Kotlin/Native - UA Mobile 2019UA Mobile
If you want to share the code between Android and iOS but you don't feel like doing C++/JNI, React Native, Flutter, you must try Kotlin/Native! In this presentation we will see how Kotlin/Native is different and in some aspects superior, and how easy it becomes to develop, debug and maintain a common codebase with JetBrains tools and without sacrificing runtime performance.
Most projects in CF now involve creating some type of consumable CFC Endpoint or API Service... do you Unit test your API, do you use Integration Tests on your API? How many ways do you test your API? Not all tests are created equal.
We build our CFCs and CF API to be consumed with CF Apps, Mobile Apps, Javascript apps and devices we haven’t even thought about yet. To be smart developers we need to be able to test our CFC endpoints, and the code that uses those endpoints.
We’ll learn how to test your API serverside with Testbox and Clientside with Jasmine.
With Testbox and Jasmine both using BDD, your test code can almost be isomorphic.
Attendees should have some exposure to CFCs as endpoints, or CF API creations, and consuming with other languages/devices, in this case, JavaScript.
Attendees will learn
How to use Testbox to test your CFCs 2 different ways
Different types and ways to test JavaScript
Overview of client/server side testing tools
Building testing into your workflow
You are one of many that are not testing your APIs thoroughly
Most projects in CF now involve creating some type of consumable CFC Endpoint or API Service... do you Unit test your API, do you use Integration Tests on your API? How many ways do you test your API? Not all tests are created equal.
We build our CFCs and CF API to be consumed with CF Apps, Mobile Apps, Javascript apps and devices we haven’t even thought about yet. To be smart developers we need to be able to test our CFC endpoints, and the code that uses those endpoints.
We’ll learn how to test your API serverside with Testbox and Clientside with Jasmine.
With Testbox and Jasmine both using BDD, your test code can almost be isomorphic.
Attendees should have some exposure to CFCs as endpoints, or CF API creations, and consuming with other languages/devices, in this case, JavaScript.
Attendees will learn
How to use Testbox to test your CFCs 2 different ways
Different types and ways to test JavaScript
Overview of client/server side testing tools
Building testing into your workflow
You are one of many that are not testing your APIs thoroughly
Getting started with Appcelerator TitaniumTechday7
Techday7, Cross platform application development using Appcelerator Titanium event's Getting started with Appcelerator Titanium By Naga Harish M, Lead Developer of Anubavam Technologies
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfPeter Spielvogel
Building better applications for business users with SAP Fiori.
• What is SAP Fiori and why it matters to you
• How a better user experience drives measurable business benefits
• How to get started with SAP Fiori today
• How SAP Fiori elements accelerates application development
• How SAP Build Code includes SAP Fiori tools and other generative artificial intelligence capabilities
• How SAP Fiori paves the way for using AI in SAP apps
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/
Enhancing Performance with Globus and the Science DMZGlobus
ESnet has led the way in helping national facilities—and many other institutions in the research community—configure Science DMZs and troubleshoot network issues to maximize data transfer performance. In this talk we will present a summary of approaches and tips for getting the most out of your network infrastructure using Globus Connect Server.
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
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.
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...SOFTTECHHUB
The choice of an operating system plays a pivotal role in shaping our computing experience. For decades, Microsoft's Windows has dominated the market, offering a familiar and widely adopted platform for personal and professional use. However, as technological advancements continue to push the boundaries of innovation, alternative operating systems have emerged, challenging the status quo and offering users a fresh perspective on computing.
One such alternative that has garnered significant attention and acclaim is Nitrux Linux 3.5.0, a sleek, powerful, and user-friendly Linux distribution that promises to redefine the way we interact with our devices. With its focus on performance, security, and customization, Nitrux Linux presents a compelling case for those seeking to break free from the constraints of proprietary software and embrace the freedom and flexibility of open-source computing.
The Metaverse and AI: how can decision-makers harness the Metaverse for their...Jen Stirrup
The Metaverse is popularized in science fiction, and now it is becoming closer to being a part of our daily lives through the use of social media and shopping companies. How can businesses survive in a world where Artificial Intelligence is becoming the present as well as the future of technology, and how does the Metaverse fit into business strategy when futurist ideas are developing into reality at accelerated rates? How do we do this when our data isn't up to scratch? How can we move towards success with our data so we are set up for the Metaverse when it arrives?
How can you help your company evolve, adapt, and succeed using Artificial Intelligence and the Metaverse to stay ahead of the competition? What are the potential issues, complications, and benefits that these technologies could bring to us and our organizations? In this session, Jen Stirrup will explain how to start thinking about these technologies as an organisation.
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
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!
A tale of scale & speed: How the US Navy is enabling software delivery from l...sonjaschweigert1
Rapid and secure feature delivery is a goal across every application team and every branch of the DoD. The Navy’s DevSecOps platform, Party Barge, has achieved:
- Reduction in onboarding time from 5 weeks to 1 day
- Improved developer experience and productivity through actionable findings and reduction of false positives
- Maintenance of superior security standards and inherent policy enforcement with Authorization to Operate (ATO)
Development teams can ship efficiently and ensure applications are cyber ready for Navy Authorizing Officials (AOs). In this webinar, Sigma Defense and Anchore will give attendees a look behind the scenes and demo secure pipeline automation and security artifacts that speed up application ATO and time to production.
We will cover:
- How to remove silos in DevSecOps
- How to build efficient development pipeline roles and component templates
- How to deliver security artifacts that matter for ATO’s (SBOMs, vulnerability reports, and policy evidence)
- How to streamline operations with automated policy checks on container images
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.
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
7. Android versions
1. SDK versions
2. Compatibility mode
3. Annotations and branching by if-statement
4. Build compatibility classes
5. Branching object with Dagger
8. **SdkVersion
• minSdkVersion
• Application will support this version at least.
• targetSdkVersion
• Application is fine on this version.
• maxSdkVersion
• Not recommended to specify
• If specified and system is updated to above the version, the
application will automatically uninstalled.
13. Which is preferred?
• 2 Annotations
• @SuppressLint(“NewApi”)
• @TargetApi(Build.VERSION_CODES.LOLLIPOP)
14. Which is preferred?
• @SuppressLint(“NewApi”)
• Suppress all warnings of “NewApi”
• Even if someone call newer API later on, no lint warnings appear
• @TargetApi(Build.VERSION_CODES.LOLLIPOP)
• Recommended
• Suppress warning up to specified API Level
• If someone call newer API later on, new lint warning appears
15. Branching, branching, branching…
public class Something {
public void foo() {
if (Build.VERSION.SDK_INT == Build.VERSION_CODES.LOLLIPOP) {
// foo on Lollipop
} else {
// foo on pre-Lollipop
}
}
public void bar() {
if (Build.VERSION.SDK_INT == Build.VERSION_CODES.LOLLIPOP) {
// bar on Lollipop
} else {
// bar on pre-Lollipop
}
}
// …
}
18. AOSP style delegate pattern
• Declare each classes corresponding to support version
• Enclose those classes in the service class
• Delegate all methods to enclosed object
• Basic architecture on Support Library
19. AOSP style delegate pattern
public class SomethingCompat {
private final SomethingImpl mImpl; // initialize in ctor
public void doSomething() {
mImpl.doSomething();
}
private interface SomethingImpl {
void doSomething();
}
private static class SomethingICS implements SomethingImpl {
@Override
public void doSomething() {}
}
private static class SomethingJB implements SomethingImpl {
@Override
public void doSomething() {}
}
}
20. AOSP style delegate pattern
public class SomethingCompat {
private final SomethingImpl mImpl; // initialize in ctor
public SomethingCompat() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
mImpl = new SomethingJB();
} else if (Build.Version.SDK_INT >=
Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
mImpl = new SomethingICS();
} else {
mImpl = new SomethingDefault();
}
}
}
21. AOSP style delegate pattern
• Pros
• Clean code
• More testable, more flexible
• Cons
• Hard to test for each enclosed classes
• Sometimes they don’t put any codes for compatibility
public void doSomething() {
// TODO compatibility implementation
}
public Object returnSomething() {
return null;
}
22. Service object depends on delegate object
• What if using dependency injection?
• Inject object in constructor
➡ Configure injected object outside of service object
➡ Easily configure test condition
23. Android versions
• Inject different objects by version with Dagger
• Declare common interface
• Implement it enclosing API level specific processes
• Configure modules which implementation to be injected
SomethingImpl something
SomethingICS implements ISomethingImpl
SomethingJB implements ISomethingImpl
SomethingL implements ISomethingImpl
Module
{
31. How to deal with it
1. No clue to predict problems specific to some device
2. Detect problems as early as possible
3. Use workaround utility and enclose dirty works in it
32. Test! test! test!
• Remote Testing Services
• PerfectoMobile
• Remote TestKit
• Samsung Test Lab
• Cloud Test Lab
• Smartphone Test Farm
33. Make it quicker to notice errors
• Crash reports
• Crashlytics
• BugSense
• ACRA(Application Crash Reports for Android)
• Integrate reports to
• Email
• Chat(Slack, HipChat, ChatWork…)
34. Encapsulate compatibility code
• Good to go with DI
• like version compatibility architecture
• AndroidDeviceCompatibility
• https://github.com/mixi-inc/Android-Device-Compatibility
• History from API 7
36. Problems
• Framework has bugs in
• Java layer
• Various type of bugs and result will be…
➡ Some of ‘RuntimeException’ or some of ‘Error’ causes crash
• native code layer
• Bad lib** implementation
• Bad memory management
• Result
➡ Process will be killed and no crash dialog
37. Problems
• Some of ‘RuntimeException’
• Unexpectedly access `null` (NullPointerException)
• Something is wrong (RuntimeException, IllegalStateException…)
• Some of ‘Error’
• Class path conflict (VerifyError)
• Unknown method definition on interface (AbstractMethodError)
40. Big unknowns a lot, a lot, a lot…
• (╯°□°)╯︵ ┻━┻
• Collect logs from area that seems to have some bug
• Collect everything you need to debug…
• View properties, object state, etc…
• stackoverflow.com
41. Be quick, be hacker
• No solid solution. Just you need to be quick to get info.
• If you get the device causing issue, let’s hack it!