Dependency Injection, that's the thing that Dagger2 does, right? For most of us, it's black magic. Let's look deeper how DI works. And then we better understand the frameworks that are out there. This session introduce Toothpick that was created this year and is already used by millions of users as driven a lot by engineers at Groupon.
What was their need? What's wrong with Dagger?
Toothpick was designed to bring goodies from Guice to modern mobile world. It focuses on scopes and unit testing without loosing performance as Roboguice did.
Unit testing without Robolectric, Droidcon Berlin 2016Danny Preussler
Are you bound to flaky, slow Robolectric Tests? Do you want to know a way out of it? This session shows ideas and concepts to replace Robolectric from your test code base
Contextual communications and why you should care - Droidcon DEMarcos Placona
Communication is the key to everything. From the time you wake up and and press a button on your coffee-machine to tell you to make you a coffee, to when you talk to your other half to make plans for a night out, a trip or your own wedding. Imagine a world where each time when you wanted to do your grocery shopping, you first had to stop at the bank to make sure the funds were clear. Or whenever you wanted to drive from home to work you had to first stop at a petrol station to check whether your car had enough petrol to make the journey.
In this talk I will show you some common scenarios where we are currently doing just that with our websites or mobile apps and not even thinking about it. We will then look at some ways we can avoid that and bring context back onto our applications.
GeeCON 2017 - TestContainers. Integration testing without the hassleAnton Arhipov
TestContainers is a Java library that supports JUnit tests, providing lightweight, throwaway instances of common databases, Selenium web browsers, or anything else that can run in a Docker container.
Unit testing without Robolectric, Droidcon Berlin 2016Danny Preussler
Are you bound to flaky, slow Robolectric Tests? Do you want to know a way out of it? This session shows ideas and concepts to replace Robolectric from your test code base
Contextual communications and why you should care - Droidcon DEMarcos Placona
Communication is the key to everything. From the time you wake up and and press a button on your coffee-machine to tell you to make you a coffee, to when you talk to your other half to make plans for a night out, a trip or your own wedding. Imagine a world where each time when you wanted to do your grocery shopping, you first had to stop at the bank to make sure the funds were clear. Or whenever you wanted to drive from home to work you had to first stop at a petrol station to check whether your car had enough petrol to make the journey.
In this talk I will show you some common scenarios where we are currently doing just that with our websites or mobile apps and not even thinking about it. We will then look at some ways we can avoid that and bring context back onto our applications.
GeeCON 2017 - TestContainers. Integration testing without the hassleAnton Arhipov
TestContainers is a Java library that supports JUnit tests, providing lightweight, throwaway instances of common databases, Selenium web browsers, or anything else that can run in a Docker container.
Introduction to web programming for java and c# programmers by @drpicoxDavid Rodenas
(better presented by @drpicox)
Slides of an introductory course for web programming focusing in basic Javascript and CSS concepts. It assumes knowledge of programming, Java or C#.
This is the support of a course to teach mainly Redux, and Redux with React for Java and C# programmers. It is the third part of the course to recycle programmers from desktop app programming to web app programming. This course covers from history of Redux, its origin, step by step what is a reducer, and later concepts like reducer splitting, action handling, async and many more.
You also can use repositories:
- https://github.com/drpicox/learn-redux-bytesting
- https://github.com/drpicox/learn-redux-zoo-bytesting
To improve your skills.
JEEConf 2017 - The hitchhiker’s guide to Java class reloadingAnton Arhipov
In Java, a typical workflow involves restarting the application (almost) with every class change. For some applications it is not a problem at all, for some – it is a disaster.
From HotSwap to agent-based reloading. In this session, we are going to take a look at the options available for Java class reloading. There is plenty of tools that you can use for this task: rely on standard JVM HotSwap, redesign your application to rely on dynamic class loaders, to comprehend the Zen of OSGi, or to integrate a reloading agent. Every option has its own drawbacks and benefits and we’re going to take a deep dive on the subject.
Finally, there are also the conceptual challenges in reloading Java classes. What to do with the state? What should happen with the static initialisers? What if super class changes? Join this session to gain a better understanding of class reloading technologies and become more productive Java developer.
Использование GMock для обеспечения спокойной и сытой жизни разработчика. Обзор как верхушки так и некоторых подводных частей GMock. Разбор возможностей фреймворка на примерах.
JavaFX 8 est disponible depuis mars 2014 et apporte son lot de nouveautés. Gradle est en version 2 depuis juillet 2014. Deux technologies plus que prometteuses: JavaFX donne un coup de jeune au développement d’applications desktop en Java en apportant un navigateur web intégré, le support des WebSockets, de la 3D, et bien d’autres. Gradle est l’outil de d’automatisation de build à la mode, apportant de superbes possibilités par rapport rapport à maven, outil vieillissant, grâce à l’engouement de la communauté vis à vis de cet outil mais aussi par le fait de la technologie utilisée en son sein: groovy. Venez découvrir comment il est possible de réaliser rapidement une application à la mode en JavaFX avec un outil à la mode également. Bref venez à une session trendy.
A simple talk about appliyng patterns in Javascript.
It focuses in both jQuery and Angular.
It explains some basics MVC, cohesion and coupling.
It also have many examples of the patterns applied.
Full examples and documentation can be found here: http://david-rodenas.com/tutorial-jspatterns-v1/
This is the support of a course to teach React programming for Java and C# programmers. It covers from its origins in Facebook til separation of presentational and container components. What is JSX, rules, state, props, refactoring, conditionals, repeats, forms, synchronizing values, composition, and so on.
Toothpick is a scope tree based Dependency Injection library for Java. It is a full-featured, runtime based, but reflection free, implementation of JSR 330.
Presented at Droidcon Berlin 2016
Bye Bye Charles, Welcome Odo, Android Meetup Berlin May 2014Danny Preussler
Introducing the next generation testing proxy we use at Groupon to the public:
Odo an http proxy with a RESTful API for mocking or partial rewriting of responses and requests
Introduction to web programming for java and c# programmers by @drpicoxDavid Rodenas
(better presented by @drpicox)
Slides of an introductory course for web programming focusing in basic Javascript and CSS concepts. It assumes knowledge of programming, Java or C#.
This is the support of a course to teach mainly Redux, and Redux with React for Java and C# programmers. It is the third part of the course to recycle programmers from desktop app programming to web app programming. This course covers from history of Redux, its origin, step by step what is a reducer, and later concepts like reducer splitting, action handling, async and many more.
You also can use repositories:
- https://github.com/drpicox/learn-redux-bytesting
- https://github.com/drpicox/learn-redux-zoo-bytesting
To improve your skills.
JEEConf 2017 - The hitchhiker’s guide to Java class reloadingAnton Arhipov
In Java, a typical workflow involves restarting the application (almost) with every class change. For some applications it is not a problem at all, for some – it is a disaster.
From HotSwap to agent-based reloading. In this session, we are going to take a look at the options available for Java class reloading. There is plenty of tools that you can use for this task: rely on standard JVM HotSwap, redesign your application to rely on dynamic class loaders, to comprehend the Zen of OSGi, or to integrate a reloading agent. Every option has its own drawbacks and benefits and we’re going to take a deep dive on the subject.
Finally, there are also the conceptual challenges in reloading Java classes. What to do with the state? What should happen with the static initialisers? What if super class changes? Join this session to gain a better understanding of class reloading technologies and become more productive Java developer.
Использование GMock для обеспечения спокойной и сытой жизни разработчика. Обзор как верхушки так и некоторых подводных частей GMock. Разбор возможностей фреймворка на примерах.
JavaFX 8 est disponible depuis mars 2014 et apporte son lot de nouveautés. Gradle est en version 2 depuis juillet 2014. Deux technologies plus que prometteuses: JavaFX donne un coup de jeune au développement d’applications desktop en Java en apportant un navigateur web intégré, le support des WebSockets, de la 3D, et bien d’autres. Gradle est l’outil de d’automatisation de build à la mode, apportant de superbes possibilités par rapport rapport à maven, outil vieillissant, grâce à l’engouement de la communauté vis à vis de cet outil mais aussi par le fait de la technologie utilisée en son sein: groovy. Venez découvrir comment il est possible de réaliser rapidement une application à la mode en JavaFX avec un outil à la mode également. Bref venez à une session trendy.
A simple talk about appliyng patterns in Javascript.
It focuses in both jQuery and Angular.
It explains some basics MVC, cohesion and coupling.
It also have many examples of the patterns applied.
Full examples and documentation can be found here: http://david-rodenas.com/tutorial-jspatterns-v1/
This is the support of a course to teach React programming for Java and C# programmers. It covers from its origins in Facebook til separation of presentational and container components. What is JSX, rules, state, props, refactoring, conditionals, repeats, forms, synchronizing values, composition, and so on.
Toothpick is a scope tree based Dependency Injection library for Java. It is a full-featured, runtime based, but reflection free, implementation of JSR 330.
Presented at Droidcon Berlin 2016
Bye Bye Charles, Welcome Odo, Android Meetup Berlin May 2014Danny Preussler
Introducing the next generation testing proxy we use at Groupon to the public:
Odo an http proxy with a RESTful API for mocking or partial rewriting of responses and requests
Agile for Embedded & System Software Development : Presented by Priyank KS oGuild .
Priyank shared the experience of challenges in being Agile in Embedded/System software development. The effective approaches to handling such challenges were discussed. The importance of eXtreme Programming practices in solving the challenges was highlighted.
Presentation at iBeacon Makers' Workshop held at Andreesen Horowitz on 29 April 2014, describing some security and privacy concerns with the new iBeacon micro-location technology.
Dependency Injection is a software design pattern that allows for a client to be handed all of its dependencies without having to know about anything other than its own behavior. Join us to learn how to use Apex and Custom Settings to apply this pattern and help decouple your applications. You'll head back to your shop with the tools to build independent, reusable, and easily testable code.
Agile London: Industrial Agility, How to respond to the 4th Industrial Revolu...Paolo Sammicheli
Agile London at Photobox/Moonpig, 16 February 2017.
Talk about Wikispeed, Scrum for Hardware and the Fourth Industrial Revolution. What means Industrial Agility and from where to start?
In-Memory Databases presentation by John Sullivan, CEO of Inmemory.net covering best inmemory database solutions and introducing inmemory.net to Hadoop User Group (HUG) Ireland
This Presentation shows That what is Agile methodology, its principles and key points and how it is different from other software development life cycle.
Design & Analysis of Algorithms Lecture NotesFellowBuddy.com
FellowBuddy.com is an innovative platform that brings students together to share notes, exam papers, study guides, project reports and presentation for upcoming exams.
We connect Students who have an understanding of course material with Students who need help.
Benefits:-
# Students can catch up on notes they missed because of an absence.
# Underachievers can find peer developed notes that break down lecture and study material in a way that they can understand
# Students can earn better grades, save time and study effectively
Our Vision & Mission – Simplifying Students Life
Our Belief – “The great breakthrough in your life comes when you realize it, that you can learn anything you need to learn; to accomplish any goal that you have set for yourself. This means there are no limits on what you can be, have or do.”
Like Us - https://www.facebook.com/FellowBuddycom
Going native with less coupling: Dependency Injection in C++Daniele Pallastrelli
Slideshow from C++ Meetup Bologna 2014, about the central role of Dependency Injection in OO software.
The slide deck contains detailed explanation about dependency injection in general and C++ frameworks in particular.
Java Universal super class java.lang.Object is discussed comprehensively with code snippets.
Also covers:
a) Why we need inheritance and dynamic method dispatch
b) Need of a universal parent
c) Delegation and proxies
d) toString(), clone(), equals(), notify()
Talk presented at Apache Con 2021 Groovy track.
Spock is a testing framework written in Groovy. I can confidently say that Spock is the best testing framework I ever used. The reason for this is the expressive specification language provided by the framework along with the productivity benefits offered by the Groovy language. Spock leverages the JUnit ecosystem and hence can co-exist with tests written in JUnit. In this presentation, we explore several features of Spock and understand how they add value to developers in terms of simplicity, readability, productivity, pragmatism.
We start by exploring the BDD style (given-when-then) structure of a Spock test and understand how it aids the developers to organise their thoughts and retain that clarity for the reader of the test as well. Then we move on to exploring the Spock way of writing assertions and understand the simplicity with which it provides expressive failure messages which aid in quick actionable feedback. Then we move on to realizing how Spock requires fewer tools and a smaller set of APIs to achieve functionalities such as mocking. In fact, Spock doesn't need an external library for mocking. In the final part of the presentation, we compare the approach of Spock in the areas of data-driven testing, ordering test cases, and co-existence with JUnit.
Kotlin for Android Developers - Victor Kropp - Codemotion Rome 2018Codemotion
Kotlin is a programming language developed by JetBrains that targets multiple platforms including the JVM, JavaScript, and native binaries. A year ago it has been adopted as an officially supported language for Android development. Kotlin offers clean and concise syntax, interoperability, both object-oriented and functional code constructs, and a lot of other cool features with little or no overhead. Let's find out together why developers love this language and how it helps them to be productive and have fun!
Object-Oriented JavaScript presentation given at the 2010 ESRI Developer Summit. Code and slides are also available at http://github.com/kvangork/OOJS-Presentation
Find me on twitter @kvangork
or my blog http://prng.vangorkom.org
Object-Oriented JavaScript presentation given at ESRI's 2010 Developer Summit. Slides and code available at http://github.com/kvangork/OOJS-Presentation
Find me on twitter @kvangork
or at my blog: http://prng.vangorkom.org
Having a problem figuring out where my errors are- The code is not run.pdfNicholasflqStewartl
Having a problem figuring out where my errors are. The code is not running how I need it to so I
added a few print statements to help me figure it out but to no avail. Any help would be greatly
appreciated.
import java.io.File;
import java.util.Scanner;
import java.io.FileWriter;
import java.io.IOException;
public class Main
{
public static void main(String[] args)
{
if(args.length != 1)
{
System.out.println("Usage: java Main <input_file>");
return;
}
String inputFileName = args[0];
PersonSet orderedSet = new PersonOrderedSet();
PersonSet imperialSet = new PersonImperialSet();
try(Scanner sc = new Scanner(new File(inputFileName)))
{
if(sc.hasNextLine() && sc.nextLine().startsWith("Name\tHeight (cm)\t\tWeight (kg)"))
{
while(sc.hasNextLine())
{
String line = sc.nextLine();
System.out.println("Line:" + line);
String[] parts = line.split("\t");
if(parts.length == 3)
{
String name = parts[0];
double height;
double weight;
try
{
height = Double.parseDouble(parts[1]);
weight = Double.parseDouble(parts[2]);
Person person = new Person(name, height, weight);
orderedSet.add(person);
imperialSet.add(person);
}
catch (NumberFormatException e)
{
// skip this line
}
}
}
}
}
catch (IOException e)
{
System.out.println("An error occurred while reading the file.");
e.printStackTrace();
return;
}
try(FileWriter writer = new FileWriter("hr_ordered_set_output.txt")) //write ordered set to file
{
writer.write("Name\tHeight (cm)\t\tHeight (kg)\n");
writer.write(orderedSet.toText());
}
catch(IOException e)
{
System.out.println("An error occured while writing the ordered set output file.");
e.printStackTrace();
return;
}
try(FileWriter writer = new FileWriter("hr_imperial_set_output.txt")) //write imperial set to file
{
writer.write("Name\tHeight (in)\t\tWeight (lb)\n");
writer.write(imperialSet.toText());
}
catch(IOException e)
{
System.out.println("An error occured while writing the imperial set output file.");
e.printStackTrace();
return;
}
// Output the ordered data and the imperial data to the screen/console, nicely formatted
System.out.println("Ordered data:");
System.out.println("Name Height (cm) Weight (kg)");
System.out.println("-------------------------------------------");
System.out.print(orderedSet.toString());
System.out.println("Imperial data:");
System.out.println("Name Height (in) Weight (lb)");
System.out.println("------------------------------------------");
System.out.print(imperialSet.toString());
}
}
import java.util.ArrayList;
public class Person implements Comparable<Person> //1
{
private String name;
private double height; //in centimeters
private double weight; // in kilagrams
public Person(String name, double height, double weight)//class that has constructors that
initialize name, height, and weight
{
this.name = name;
this.height = height;
this.weight = weight;
}
@Override
public String toString() //returns a string representation of the person's name, height, and weight
{
return String.format("%s\t%.1f\t\t%.1f", name, height, weight);
}
.
Similar to Demystifying dependency Injection: Dagger and Toothpick (20)
TDD on android. Why and How? (Coding Serbia 2019)Danny Preussler
We all heard about TDD: test-driven development. The one side says: It produces better code and fewer bugs, other's see a waste of time. How much time does TDD cost? Does it even work on Android? Is it possible to develop an android app fully test driven? Should we do it? And if: should we only test Java classes? Should we use or avoid Robolectric? How do I even start?
We have all heard about TDD: Test Driven Development. It produces better code and leads to fewer bugs. But, in our daily Android lives, why aren’t we doing it? Is it possible to develop an Android app that is fully test driven? Where do you start? Should you only test Java classes? Should you use or avoid Robolectric?
Junit5: the next gen of testing, don't stay behindDanny Preussler
Junit 5 is a big step for the world of unit testing. A new very flexible testing framework, based on learning from many years of Junit 4.
At sporttotal we use this for our Android unit tests and it changed the way we write tests. Hard for us to imagine living without features like @Nested. Other features we ignored as those are more leaning towards Java and are solved already by Kotlin or other Kotlin libraries. And some features are even breaking changes. How do you test on Android in a world without TestRunner and TestRules?
Android testing team was always very slowly in adopting to new Junit versions, so how far can we bypass this?
Let's do a deep dive into Junit5, how it works and how we can use it on Android
All around the world, localization and internationalization on Android (Droid...Danny Preussler
Android apps are global, they get downloaded all around the world. And this means not only supporting multiple languages via xml files. Its about plurals, date formats, currencies up to things like right-to-left
This topic tries to give an introduction into this large topic for new developers.
(Android) Developer Survival in Multiscreen World, MobCon Sofia 2016Danny Preussler
A modern Android app looks good on phones various sizes, often also a tablet version is required. But good tablet version is more than just a bigger screen, it might have completely different flows.
Now Android TV starts, another entry into the same app code. How does this affect an app? What is with Android Wear?
What code can and should be reused? How can an app be prepared for another screen? Whats a good architecture for this? Which patterns work, which patterns we know are outdated for the new multi screen world of Android?
Abgeschottete Realität - Testen im Emulator, Mobile Testing Days 2014, BerlinDanny Preussler
Mobile Apps leben nicht in einer isolierten Welt, sie interagieren mit anderen Apps, mit Services sowie internen und externen Datenquellen. Auch der Nutzer hat hier Einfluss: er wechselt in Realität schnell zwischen Apps, er nimmt Anrufe entgegen während die App läuft. Wenn es zum Testen kommt, stellt uns dies vor Herausforderungen, denn hier brauchen wir isolierte Zustände. Nur so können die Tests reproduzierbare Ergebnisse liefern. Und doch wollen wir die App realitätsnah testen. Wie testet man aber eine App mit Webservices? Wie entkoppelt man diesen, wie testet man Fehlerzuständige die in der Kommunikation passieren können? Wie simuliert man GPS u.ä.? Diese Session versucht Best Practices hierzu zu vermitteln. Es werden sowohl SDK Bordmittel als auch externe Tools vorgestellt, die uns das Testen von Apps in diesen komplexen Fällen erleichtern.
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
Keynote at DIGIT West Expo, Glasgow on 29 May 2024.
Cheryl Hung, ochery.com
Sr Director, Infrastructure Ecosystem, Arm.
The key trends across hardware, cloud and open-source; exploring how these areas are likely to mature and develop over the short and long-term, and then considering how organisations can position themselves to adapt and thrive.
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Tobias Schneck
As AI technology is pushing into IT I was wondering myself, as an “infrastructure container kubernetes guy”, how get this fancy AI technology get managed from an infrastructure operational view? Is it possible to apply our lovely cloud native principals as well? What benefit’s both technologies could bring to each other?
Let me take this questions and provide you a short journey through existing deployment models and use cases for AI software. On practical examples, we discuss what cloud/on-premise strategy we may need for applying it to our own infrastructure to get it to work from an enterprise perspective. I want to give an overview about infrastructure requirements and technologies, what could be beneficial or limiting your AI use cases in an enterprise environment. An interactive Demo will give you some insides, what approaches I got already working for real.
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.
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.
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
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.
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.
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.
UiPath Test Automation using UiPath Test Suite series, part 3DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 3. In this session, we will cover desktop automation along with UI automation.
Topics covered:
UI automation Introduction,
UI automation Sample
Desktop automation flow
Pradeep Chinnala, Senior Consultant Automation Developer @WonderBotz and UiPath MVP
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
20. @PreusslerBerlin
public class Dependencies {
static Dependencies instance = new Dependencies();
public static Dependencies getInstance() {
return instance;
}
public Tracker getTracker() {
return new GoogleAnalyticsTracker();
}
…
21. @PreusslerBerlin
public class Dependencies {
static Dependencies instance = new Dependencies();
public static Dependencies getInstance() {
return instance;
}
public Tracker getTracker() {
return new GoogleAnalyticsTracker();
}
…
22. @PreusslerBerlin
public class Dependencies {
static Dependencies instance = new Dependencies();
public static Dependencies getInstance() {
return instance;
}
public Tracker getTracker() {
return new GoogleAnalyticsTracker();
}
…
A code base, one activity,
needed a tracker
Needed in in a testable way
A code base, one activity,
needed a tracker
Needed in in a testable way
A code base, one activity,
needed a tracker
Needed in in a testable way
A code base, one activity,
needed a tracker
Needed in in a testable way
A code base, one activity,
needed a tracker
Needed in in a testable way
A code base, one activity,
needed a tracker
Needed in in a testable way
Same as before
Same as before
Todo split
Show inject interface
TODO show singleton! But needs lazy loading then!
TODO in code!
Known as @Inject
Todo split
Show inject interface
TODO show singleton! But needs lazy loading then!
TODO in code!
Todo split
Show inject interface
TODO show singleton! But needs lazy loading then!
TODO in code!
Todo split
Show inject interface
TODO show singleton! But needs lazy loading then!
TODO in code!
Todo split
Show inject interface
TODO show singleton! But needs lazy loading then!
TODO in code!
Todo split
Show inject interface
TODO show singleton! But needs lazy loading then!
TODO in code!
Todo split
Show inject interface
TODO show singleton! But needs lazy loading then!
TODO in code!
Todo split
Show inject interface
TODO show singleton! But needs lazy loading then!
TODO in code!
Same as before
Same as before
Same as before
Same as before
Same as before
Same as before
Same as before
Same as before
Same as before
Same as before
RobGuice
RobGuice
Cheated a bit with some newer reflection methods
Google slide NOI
Problem google said don’t use
Relfection is slow!
Problem google said don’t use
Relfection is slow!
Problem google said don’t use
Relfection is slow!
Problem google said don’t use
Relfection is slow!
Add street figher
Not in JSR
Google slide NOI
Same!
Same!
Lets try anway
Lets try anway
Dagger is heavy weight, top down, annotation porn, compile safe, faster, not for unit tests
TP is light weight, bottom up, reduced boilerplate, runtime bases scopes, JSR conform, testing focused
Dagger is heavy weight, top down, annotation porn, compile safe, faster, not for unit tests
TP is light weight, bottom up, reduced boilerplate, runtime bases scopes, JSR conform, testing focused
Dagger is heavy weight, top down, annotation porn, compile safe, faster, not for unit tests
TP is light weight, bottom up, reduced boilerplate, runtime bases scopes, JSR conform, testing focused
Dagger is heavy weight, top down, annotation porn, compile safe, faster, not for unit tests
TP is light weight, bottom up, reduced boilerplate, runtime bases scopes, JSR conform, testing focused