The talk at DAUG:
1. Think about your project dependencies graph
2. Assert your project dependencies graph
3. Dagger reflect and remove jetifier to speed up builds
The talk at DAUG:
1. Think about your project dependencies graph
2. Assert your project dependencies graph
3. Dagger reflect and remove jetifier to speed up builds
Scaling up development of a modular code baseRobert Munteanu
Microservices are quickly becoming one of the preferred deployment models in the software industry. Much has been said about the runtime impact of microservices, but less about how they impact the development process.
This talk will discuss the details of moving from a single monolithic codebase to multiple repositories in terms of the development process. We will present the impact of modularisation on source control, continous integration, code reviews, IDEs and public discussion on chat/email.
After this talk attendees will have a better understanding on the impact of the development process of modular development.
"The Story of Declarative React at Grammarly: From two-way data binding with ...Fwdays
In this talk, we will detail the history of how the team behind the Grammarly Editor approached React components composition and state management, the problems faced over the years, and how these challenges shape the future of React at Grammarly — a pure, side effect-free, and declarative way to define React-based UI.
Writing an AngularJS application with TypeScript takes a lot of pain out development process and how helps in learning the AngularJS API and best practices. In this session I will show the best practices for building an AngularJS app with TypeScript and explain why the two are a great combination. Some of items we will cover include: authentication, authorization, controllers with ControllerAs, services, minification, and routing. We will also talk about how to use the TypeScript tooling to make learning and working with the AngularJS API easier while automating the compilation process.
Supporting slide deck for Tony Tam's presentation at I Love APIs 2015. Covers the new swagger project, Swagger Inflector, which allows an API-first definition for REST APIs.
How to contribute to an open source project and don’t die during the Code Rev...Victor Morales
Reviewing changes is an essential part of the software development. This process involves the collaboration of several team members who ensure to keep quality standards. In open source projects, the process can be overwhelming for newbies. Along this presentation, I will share experiences and best practices acquired a long of my years contributing to different open source projects, like OpenStack, Kubernetes, CNCF and OPNFV and how to improve that collaboration between contributors and reviewers.
Swagger is a description standard of REST API. I will show you features of Swagger UI, and how to make it out with grape and grape-swagger. At the end introduces PostgREST and emphasizes DRY principle.
Write an API for Almost Anything: The Amazing Power and Flexibility of Django...Caktus Group
This presentation, originally delivered by Django developer Charlotte Mays at DjangoCon 2017, covers what an API is, why APIs are useful, and how to build one of your own using the Django Rest Framework.
The 3h workshop version of the 3d Advanced Architectures training (http://canonicalexamples.com/courses_android/#androidArch). I have delivered this one or the iOS counterpart in more than 20 cities of Europe and America. This is the latest version that shared in Minsk.
Виталий Редько "React + Redux: performance & scalability"Fwdays
This talk discovers the architecture aspects of scalable apps building. It gives the answers on how to reduce head ache while dealing with React + Redux stack. We'll speak about practical implementation of the concepts that help to increase scalability and performance of React apps.
Swagger APIs for Humans and Robots (Gluecon)Tony Tam
Presentation to Gluecon 2014 about Swagger for API development and adoption of services. Reverb also announced the Swagger 2.0 Working Group, with Apigee as a founding member
IMMERSE'16 Introduction to adobe experience manager back endAdobeMarketingCloud
In this session of IMMERSE16 Into Track attendees will learn about key features in Backend Development processes involving services development on Adobe Experience Manager. To see the on-demand IMMERSE Session please go to http://bit.ly/Immerse16
Scaling up development of a modular code baseRobert Munteanu
Microservices are quickly becoming one of the preferred deployment models in the software industry. Much has been said about the runtime impact of microservices, but less about how they impact the development process.
This talk will discuss the details of moving from a single monolithic codebase to multiple repositories in terms of the development process. We will present the impact of modularisation on source control, continous integration, code reviews, IDEs and public discussion on chat/email.
After this talk attendees will have a better understanding on the impact of the development process of modular development.
"The Story of Declarative React at Grammarly: From two-way data binding with ...Fwdays
In this talk, we will detail the history of how the team behind the Grammarly Editor approached React components composition and state management, the problems faced over the years, and how these challenges shape the future of React at Grammarly — a pure, side effect-free, and declarative way to define React-based UI.
Writing an AngularJS application with TypeScript takes a lot of pain out development process and how helps in learning the AngularJS API and best practices. In this session I will show the best practices for building an AngularJS app with TypeScript and explain why the two are a great combination. Some of items we will cover include: authentication, authorization, controllers with ControllerAs, services, minification, and routing. We will also talk about how to use the TypeScript tooling to make learning and working with the AngularJS API easier while automating the compilation process.
Supporting slide deck for Tony Tam's presentation at I Love APIs 2015. Covers the new swagger project, Swagger Inflector, which allows an API-first definition for REST APIs.
How to contribute to an open source project and don’t die during the Code Rev...Victor Morales
Reviewing changes is an essential part of the software development. This process involves the collaboration of several team members who ensure to keep quality standards. In open source projects, the process can be overwhelming for newbies. Along this presentation, I will share experiences and best practices acquired a long of my years contributing to different open source projects, like OpenStack, Kubernetes, CNCF and OPNFV and how to improve that collaboration between contributors and reviewers.
Swagger is a description standard of REST API. I will show you features of Swagger UI, and how to make it out with grape and grape-swagger. At the end introduces PostgREST and emphasizes DRY principle.
Write an API for Almost Anything: The Amazing Power and Flexibility of Django...Caktus Group
This presentation, originally delivered by Django developer Charlotte Mays at DjangoCon 2017, covers what an API is, why APIs are useful, and how to build one of your own using the Django Rest Framework.
The 3h workshop version of the 3d Advanced Architectures training (http://canonicalexamples.com/courses_android/#androidArch). I have delivered this one or the iOS counterpart in more than 20 cities of Europe and America. This is the latest version that shared in Minsk.
Виталий Редько "React + Redux: performance & scalability"Fwdays
This talk discovers the architecture aspects of scalable apps building. It gives the answers on how to reduce head ache while dealing with React + Redux stack. We'll speak about practical implementation of the concepts that help to increase scalability and performance of React apps.
Swagger APIs for Humans and Robots (Gluecon)Tony Tam
Presentation to Gluecon 2014 about Swagger for API development and adoption of services. Reverb also announced the Swagger 2.0 Working Group, with Apigee as a founding member
IMMERSE'16 Introduction to adobe experience manager back endAdobeMarketingCloud
In this session of IMMERSE16 Into Track attendees will learn about key features in Backend Development processes involving services development on Adobe Experience Manager. To see the on-demand IMMERSE Session please go to http://bit.ly/Immerse16
Selenium & PHPUnit made easy with Steward (Berlin, April 2017)Ondřej Machulda
Annotated slides from Berlin PHP Usergroup Meetup, 4th April 2017.
---
Not only unit tests but also end-to-end tests in real browser are important part of test automation and test pyramid. So let's have a look how to easily write and run Selenium functional tests using PHPUnit and Steward.
Spring boot is a suite, pre-configured, pre-sugared set of frameworks/technologies to reduce boilerplate configuration providing you the shortest way to have a Spring web application up and running with smallest line of code/configuration out-of-the-box.
Testing Vue Apps with Cypress.io (STLJS Meetup April 2018)Christian Catalan
Presented at the STLJS Meetup (St Louis, MO)
We dive into a Vue application used in semiconductor labs for transistor measurements. We discuss how get started with E2E testing with Cypress.io. And give a crash course into Vue applications.
Video: https://www.youtube.com/watch?v=dpB0YgnFyZQ
How To Make A Framework Plugin That Does Not SuckMax Andersen
Eclipse plugins that tries to support a specific framework such as Hibernate, JPA, servlets, Struts, Spring, Drools, log4j, etc. all have many of the same challenges but somehow they have a tendency to solve it differently and we end up with a fractured IDE from a usability and architectural perspective.
It seems like everyone understands what functionallity that is specific for their framework, but forget to consider issues like multiple version support, classpath libraries, debugging/launching and coexistence with other 3rd party framework plugins.
After working five years with this in context of JBoss Tools and Eclipse itself I came to realize a lot of this fracture is caused by either not using already existing functionallity available in Eclipse API's or simply not realizing how little effort it actually takes to handle these common issues.
This talk will outline the identified issues and present patterns and in some cases implementation for how framework plugins should be done so they work well within the majority of the Eclipse Java ecosystem.
Comparing Hot JavaScript Frameworks: AngularJS, Ember.js and React.js - Sprin...Matt Raible
JavaScript MVC Frameworks are all the rage these days. They’ve taken the web development world by storm. This session explores the various features of the three hottest JavaScript MVC frameworks: AngularJS, Ember.js and React.js. It also compares client-side templating vs. server-side templating and how well each framework supports Isomorphic JavaScript (code that can run both client-side and server-side). Finally, it ranks each framework on 10 different criteria using Yevgeniy Brikman’s framework scorecard.
Video on InfoQ: https://www.infoq.com/presentations/comparing-angular-ember-react
Extending Adobe Experience Manager with custom solutions that meet your unique business needs has never been easier. Learn how Adobe I/O developer tools, including Adobe I/O Runtime and Adobe I/O Events can be leveraged to deliver timely, targeted, personalized and effective customer experiences.
Adobe Asset Link (AAL) is the new solution to seamless linking of AEM Assets with Creative Cloud products. This session talks about the common use cases where AAL would be the right choice and also provides details around some of the most common pitfalls to avoid when implementing AAL.
AEM is content-centric, so is the future of building commerce experiences. In this session, you will be shown how to build modern commerce experiences with AEM. The demo will explain how authors create/configure multiple (industry-independent) stores, configure the commerce environment for each store and manage all the commerce content and features, without writing a line of code. The second part will demonstrate how developers create templates, components, and functionality to build a compelling Web/User/Commerce Experience.
Rolling out AEM Site or Assets? Learn how to structure your deployment to maximize your return while reducing risk. See how to overdeliver while hitting aggressive timelines. Understand how to generate excitement that fuels user adoption and sets you up for success.
The roles of the Product Owner, Business Analyst and/or Subject Matter Expert are crucial to the success of an AEM project, especially at critical times. From the development team’s perspective leveraging these resources during kickoff can set the project up for success. Hear more about the right resourcing and preparation for kickoff can enable development teams to start a project off right and to avoid costly changes (scope increase or rework) later in the project.
In this session, attendees will learn about key take-aways from a recent interactive round table hosted by Translations.com and Adobe with their shared customers, Lavazza, Western Digital, Lufthansa, and Honeywell. As the $800M leader of their industry, Translations.com will also share trends in translations they are seeing across their 95+ Adobe Experience Manager customers. Bring your burning localization related questions to this interactive session.
When Furniture Row decided to leave their digital assets management provider to go to AEM, they began a multi-phased journey that has resulted in the transition of their eCommerce platform and content management system. They recently launch a newly redesigned DenverMattress.com site which introduces a headless implementation of AEM sites, a new authoring experience for their content team, and an upgrade from a freestanding instance of Scene7 Classic to Dynamic Media integrated with AEM Assets. Hear from the implementation team and learn more about Furniture Row’s digital evolution.
Today’s customers expect relevant and personalized engagement with brands – or they go elsewhere. In this session, Carl will lay out some of the hurdles involved in crafting a customer- and loyalty-forward data management and architectural strategy. Using examples from specific client engagements, he will outline approaches to building an actionable data and technology stack on which teams can build and extend personalized interactions.
Autodesk cut their teeth on AEM in 2013 with Autodesk.com. It's safe to say they've come a long way since then. Join Sharat Radhakrishnan and his gang as they bring us up to speed on their wild AEM journey.
Want to make sure your scope is accurate? How do you dissect requirements to meet your implementation needs? Learn the pitfalls, how to plan MVP projects and what it takes to dig deep and find success when you start your AEM projects.
Get a glimpse into the highly competitive AEM talent market, Dave's journey as an entrepreneur and a little known secret that can help managers better understand the phycological needs of their team members and drastically increase their retention.
Understand concepts around Deep Learning, Machine Learning, Pattern Recognition and more. See AEM scenarios powered with Adobe Sensei. Understand the latest roadmap on AEM and Sensei.
AEM is an investment in the future so it's no surprise that architecting flexible and forward thinking is a must. See how to take an enterprise approach to your AEM architecture that supports globalization, extreme personalization, and omnichannel delivery.
Adobe AEM Managed Services started deploying Production AEM workloads on Azure in Nov 2017. In this session, we will share our learnings and offer advice to those thinking about deploying their AEM workloads on Azure.
Learn how to create omnichannel experiences using Adobe Experience Manager where you manage the content once and deliver across channels like Web, SPA, Mobile, Chatbot, Voice and Email.
Everyone wants to see their project launch successfully. In this session learn about the roles, processes, and tools that are critical to every project.
More from Evolve The Adobe Digital Marketing Community (20)
Dr. Sean Tan, Head of Data Science, Changi Airport Group
Discover how Changi Airport Group (CAG) leverages graph technologies and generative AI to revolutionize their search capabilities. This session delves into the unique search needs of CAG’s diverse passengers and customers, showcasing how graph data structures enhance the accuracy and relevance of AI-generated search results, mitigating the risk of “hallucinations” and improving the overall customer journey.
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.
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
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.
UiPath Test Automation using UiPath Test Suite series, part 5DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 5. In this session, we will cover CI/CD with devops.
Topics covered:
CI/CD with in UiPath
End-to-end overview of CI/CD pipeline with Azure devops
Speaker:
Lyndsey Byblow, Test Suite Sales Engineer @ UiPath, Inc.
Communications Mining Series - Zero to Hero - Session 1DianaGray10
This session provides introduction to UiPath Communication Mining, importance and platform overview. You will acquire a good understand of the phases in Communication Mining as we go over the platform with you. Topics covered:
• Communication Mining Overview
• Why is it important?
• How can it help today’s business and the benefits
• Phases in Communication Mining
• Demo on Platform overview
• Q/A
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionAggregage
Join Maher Hanafi, VP of Engineering at Betterworks, in this new session where he'll share a practical framework to transform Gen AI prototypes into impactful products! He'll delve into the complexities of data collection and management, model selection and optimization, and ensuring security, scalability, and responsible use.
Unlocking Productivity: Leveraging the Potential of Copilot in Microsoft 365, a presentation by Christoforos Vlachos, Senior Solutions Manager – Modern Workplace, Uni Systems
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.
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
Pushing the limits of ePRTC: 100ns holdover for 100 daysAdtran
At WSTS 2024, Alon Stern explored the topic of parametric holdover and explained how recent research findings can be implemented in real-world PNT networks to achieve 100 nanoseconds of accuracy for up to 100 days.
Sudheer Mechineni, Head of Application Frameworks, Standard Chartered Bank
Discover how Standard Chartered Bank harnessed the power of Neo4j to transform complex data access challenges into a dynamic, scalable graph database solution. This keynote will cover their journey from initial adoption to deploying a fully automated, enterprise-grade causal cluster, highlighting key strategies for modelling organisational changes and ensuring robust disaster recovery. Learn how these innovations have not only enhanced Standard Chartered Bank’s data infrastructure but also positioned them as pioneers in the banking sector’s adoption of graph technology.
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
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
2. #evolve18 2
1 | M A V E N , A R C H E T Y P E S A N D L A Z Y B O N E S
2 | I N T R O D U C I N G O S G I
3 | S L I N G : S E R V L E T S , S C H E D U L E R S A N D M O D E L S
4 | S E S S I O N M A N A G E M E N T
5 | Q U E R Y O P T I M I Z A T I O N
INTRODUCTIONTO BACK END DEVELOPMENT IN ADOBE EXPERIENCE MANAGER
3. #evolve18 3
Maven, Archetypes and Lazybones
1. Maven simplifies and provides an uniform build process.
2. Maven makes use of a Project Object Model(POM)
3. pom.xml file defines Project Information, Build Environment Settings
and Relationships.
4. A Maven Archetype/Lazybones is a Project Template
4. #evolve18 4
INTRODUCING OSGI
1. SCR Annotation
a. @component: A JAVA class file that can be stopped or started.
b. @service: An extesnion of component, can be looked up using its interface name.
c. @reference: Defines References to the other services.
d. @properties: Defines properties which are made available to the component.
2. All services are components.
3. @component annotation is mandatory in order to use the rest.
4. Use @component(metatype=true) to create custom OSGI configurations.
5. #evolve18 5
SLING SERVLETS
Sling Servlet API extends HTTPServlet class
Use @slingServlet annotation to define a Sling Servlet
Avoid @slingServlet(paths=‘/bin/foo/bar’)
Use @slingServlet(resourceTypes=‘/company/foo/bar’, selectors=“{‘foo’,’bar’}”)
Default Servlet Execution path - /bin
Define additional execution path with the help of Apache Sling Servlet/Script Resolver and Error Handler
6. #evolve18 6
SLING SCHEDULING
• Scheduler can implement the Runnable API or make use of the Scheduler Interface.
• Scheduler make use of a CRON expression to execute periodically.
Sling Model Enhancements
• Support for resourceType Model resolution allowing a Sling Model to be resolves for a resource based
on the resource's sling:resourceType
• Sling Models will be auto-detected anywhere in the java project.
• ModelFactory API allows creating a model from an object that throws an exception if the conversion is
not possible
7. #evolve18 7
SESSION MANAGEMENT
Use loginService(String subServiceName, String workspace) for providing Super User Access to the repository.
Use ResourceResolver API to obtain the logged in user session
Do not use repository.loginAdministrative or repository.login(userid, password)
8. #evolve18 8
QUERY OPTIMIZATION
Use sling:Folder or oak:Unstructured when large number of sibling nodes are expected and ordering is not
required. Use nt:unstructured and sling:OrderedFolder otherwise.
Avoid Queries in components.
Use node based API’s if the prior knowledge of the location of data is available.
All queries are converted to SQL2 before being run, however the overhead of query conversion is minimal.
Use Explain query tool to understand how a query would be executed.
Enable debug on Query API’s to further analyse the Query Performance:
org.apache.jackrabbit.oak.plugins.index
org.apache.jackrabbit.oak.query
com.day.cq.search