The document introduces service workers, which are scripts that run in the background to cache assets and handle requests to provide functionality even when a network is unavailable; it discusses key service worker concepts like promises, registration, installation and activation; and it provides examples of how service workers can be used to improve performance and the offline experience on a web page.
Creating automated functional tests of your web application with Selenium IDE is quick and easy, but leads to massive duplication in your test scripts. See why this duplication is a problem, and how to address it using a simple design pattern called the Page Object.
This presentation provides an overview of a Test Automation Framework with BDD and Cucumber. It also includes several open-source initiatives that Rhoynar Software Consulting (www.rhoynar.com) has been working on in the fields of QA Automation and DevOps. Lastly, it also includes links to some of the open-source projects that you can use right now for your work.
- Continuous Integration Infra a la OpenStack - https://github.com/Rhoynar/ci-infra
- An Email Verification Library in Java:
https://github.com/Rhoynar/EmailVerify
- Automatic Test Generation using Selenium WebDriver, Java and TestNG
https://github.com/Rhoynar/AutoTestR
- Barebones BDD and Cucumber Framework integrated with Java Maven and TestNG:
https://github.com/Rhoynar/qa-automation
Page-Object pattern is very commonly used when implementing Automation frameworks. However, as the scale of the framework grows, there is a limitation on how much reusability really happens. It inherently becomes very difficult to separate the test intent from the business domain.
I talk about this problem, and the solution I have been using - Business Layer - Page-Object pattern, which has helped me keep my code DRY.
For more details (links to slides, etc.), see my blog: http://goo.gl/biRn4n
ProtractorJS for automated testing of Angular 1.x/2.x applicationsBinary Studio
Presentation for "Meet for IT: Learning to test. Testing to learn" by Oleksandr Khotemskyi (QA Team Lead at Lohika)
video: https://youtu.be/VC0q1VXv9ZQ?t=13
Yaroslav Pernerovskyy. REST API testing example on Groovy and Spock. Created for Selenium Camp 2017.
Code here: https://github.com/ysparrow/groovy-test-for-rest
TestingAR XX - Protractor e2e Test Framework - Introduction what we have lear...TestingAR Meetup
Protractor es un framework de pruebas End-To-End para aplicaciones Angular y AngularJS.
Ejecuta pruebas contra tu aplicación que se ejecutan en un navegador real, interactuando con él de la misma forma como lo haría un usuario.
El objetivo de esta charla es introducir las bases sobre Protractor, y también, compartir parte de nuestra experiencia (estrategia, errores, lecciones, etc) utilizando el framework.
Creating automated functional tests of your web application with Selenium IDE is quick and easy, but leads to massive duplication in your test scripts. See why this duplication is a problem, and how to address it using a simple design pattern called the Page Object.
This presentation provides an overview of a Test Automation Framework with BDD and Cucumber. It also includes several open-source initiatives that Rhoynar Software Consulting (www.rhoynar.com) has been working on in the fields of QA Automation and DevOps. Lastly, it also includes links to some of the open-source projects that you can use right now for your work.
- Continuous Integration Infra a la OpenStack - https://github.com/Rhoynar/ci-infra
- An Email Verification Library in Java:
https://github.com/Rhoynar/EmailVerify
- Automatic Test Generation using Selenium WebDriver, Java and TestNG
https://github.com/Rhoynar/AutoTestR
- Barebones BDD and Cucumber Framework integrated with Java Maven and TestNG:
https://github.com/Rhoynar/qa-automation
Page-Object pattern is very commonly used when implementing Automation frameworks. However, as the scale of the framework grows, there is a limitation on how much reusability really happens. It inherently becomes very difficult to separate the test intent from the business domain.
I talk about this problem, and the solution I have been using - Business Layer - Page-Object pattern, which has helped me keep my code DRY.
For more details (links to slides, etc.), see my blog: http://goo.gl/biRn4n
ProtractorJS for automated testing of Angular 1.x/2.x applicationsBinary Studio
Presentation for "Meet for IT: Learning to test. Testing to learn" by Oleksandr Khotemskyi (QA Team Lead at Lohika)
video: https://youtu.be/VC0q1VXv9ZQ?t=13
Yaroslav Pernerovskyy. REST API testing example on Groovy and Spock. Created for Selenium Camp 2017.
Code here: https://github.com/ysparrow/groovy-test-for-rest
TestingAR XX - Protractor e2e Test Framework - Introduction what we have lear...TestingAR Meetup
Protractor es un framework de pruebas End-To-End para aplicaciones Angular y AngularJS.
Ejecuta pruebas contra tu aplicación que se ejecutan en un navegador real, interactuando con él de la misma forma como lo haría un usuario.
El objetivo de esta charla es introducir las bases sobre Protractor, y también, compartir parte de nuestra experiencia (estrategia, errores, lecciones, etc) utilizando el framework.
In this session we will have a look at the different Caching options in Lucee and introduce a new tool called ArgusCache, which will allow you to tune your applications, WITHOUT touching the source code.
Single Page Applications: Your Browser is the OS!Jeremy Likness
Single Page Applications have gained tremendous popularity over the past few years and have prompted the creation of several frameworks to support their development. Unlike traditional web applications, most of the heavy lifting for SPA happens on the client side in your web browser. These applications rely on hundreds of lines of JavaScript coupled with asynchronous web service calls to provide a desktop-like experience that is accessible from virtually any device.
Join Principal Architect, Jeremy Likness, to learn more about SPA, including how to determine when you should choose this approach, how SPA compares and contrasts with traditional server-based approaches including ASP.NET WebForms and MVC, and what frameworks and tools (such as jQuery, AngularJS, and Aurelia) make building SPA easier. Discover how single page applications powered by HTML5 and JavaScript transform your browser into a web-based operating system.
Picnic Software - Developing a flexible and scalable applicationNick Josevski
The team at Picnic Software giving a detailed walkthrough of their application architecture and development processes for a large Angular and .NET Event Sourcing application.
What is Serverless Computing?
From its Introduction, Architecture, Characteristics, Commercial Platform, Benefits and Drawbacks, Use Cases and Workloads, to its API Composition.
The main API for PWA creation is Service Workers, they are the heart of this “new web”. With Service workers, we can send push notifications to the user or do background sync and show data even when the user is offline. They are not some science fiction, but a script that is quite easy to use.
In this talk, we will see overview what are service workers and when and how to use them.
“Progressive Web Apps (PWAs) are web applications that load like regular web pages or websites but can offer the user functionality such as working offline, push notifications, and device hardware access traditionally available only to native mobile applications. PWAs are an emerging technology that combine the open standards of the web offered by modern browsers to provide benefits of a rich mobile experience”
Best Practices for WordPress in EnterpriseTaylor Lovett
10up open sourced their WordPress Best Practices (PHP, JavaScript, tools, and workflows) in late 2014. As the Director of Web Engineering at 10up, I drove this project and am the lead contributor to the docs. These Best Practices allow developers to build sites that scale, perform, and are secure one sites receiving millions of page views per day. They also standardize development practices in such a way that facilitates team collaboration. This talk will highlight some important parts of the Best Practices and reveal some valuable tips about how we (10up) engineer some of the most complex and most viewed WordPress sites in the world.
Similar to Intro to Service Worker API and its use cases (20)
Unleash Unlimited Potential with One-Time Purchase
BoxLang is more than just a language; it's a community. By choosing a Visionary License, you're not just investing in your success, you're actively contributing to the ongoing development and support of BoxLang.
Listen to the keynote address and hear about the latest developments from Rachana Ananthakrishnan and Ian Foster who review the updates to the Globus Platform and Service, and the relevance of Globus to the scientific community as an automation platform to accelerate scientific discovery.
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus
As part of the DOE Integrated Research Infrastructure (IRI) program, NERSC at Lawrence Berkeley National Lab and ALCF at Argonne National Lab are working closely with General Atomics on accelerating the computing requirements of the DIII-D experiment. As part of the work the team is investigating ways to speedup the time to solution for many different parts of the DIII-D workflow including how they run jobs on HPC systems. One of these routes is looking at Globus Compute as a way to replace the current method for managing tasks and we describe a brief proof of concept showing how Globus Compute could help to schedule jobs and be a tool to connect compute at different facilities.
May Marketo Masterclass, London MUG May 22 2024.pdfAdele Miller
Can't make Adobe Summit in Vegas? No sweat because the EMEA Marketo Engage Champions are coming to London to share their Summit sessions, insights and more!
This is a MUG with a twist you don't want to miss.
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxrickgrimesss22
Discover the essential features to incorporate in your Winzo clone app to boost business growth, enhance user engagement, and drive revenue. Learn how to create a compelling gaming experience that stands out in the competitive market.
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...Juraj Vysvader
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I didn't get rich from it but it did have 63K downloads (powered possible tens of thousands of websites).
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Mind IT Systems
Healthcare providers often struggle with the complexities of chronic conditions and remote patient monitoring, as each patient requires personalized care and ongoing monitoring. Off-the-shelf solutions may not meet these diverse needs, leading to inefficiencies and gaps in care. It’s here, custom healthcare software offers a tailored solution, ensuring improved care and effectiveness.
We describe the deployment and use of Globus Compute for remote computation. This content is aimed at researchers who wish to compute on remote resources using a unified programming interface, as well as system administrators who will deploy and operate Globus Compute services on their research computing infrastructure.
Accelerate Enterprise Software Engineering with PlatformlessWSO2
Key takeaways:
Challenges of building platforms and the benefits of platformless.
Key principles of platformless, including API-first, cloud-native middleware, platform engineering, and developer experience.
How Choreo enables the platformless experience.
How key concepts like application architecture, domain-driven design, zero trust, and cell-based architecture are inherently a part of Choreo.
Demo of an end-to-end app built and deployed on Choreo.
Large Language Models and the End of ProgrammingMatt Welsh
Talk by Matt Welsh at Craft Conference 2024 on the impact that Large Language Models will have on the future of software development. In this talk, I discuss the ways in which LLMs will impact the software industry, from replacing human software developers with AI, to replacing conventional software with models that perform reasoning, computation, and problem-solving.
Developing Distributed High-performance Computing Capabilities of an Open Sci...Globus
COVID-19 had an unprecedented impact on scientific collaboration. The pandemic and its broad response from the scientific community has forged new relationships among public health practitioners, mathematical modelers, and scientific computing specialists, while revealing critical gaps in exploiting advanced computing systems to support urgent decision making. Informed by our team’s work in applying high-performance computing in support of public health decision makers during the COVID-19 pandemic, we present how Globus technologies are enabling the development of an open science platform for robust epidemic analysis, with the goal of collaborative, secure, distributed, on-demand, and fast time-to-solution analyses to support public health.
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Globus
The U.S. Geological Survey (USGS) has made substantial investments in meeting evolving scientific, technical, and policy driven demands on storing, managing, and delivering data. As these demands continue to grow in complexity and scale, the USGS must continue to explore innovative solutions to improve its management, curation, sharing, delivering, and preservation approaches for large-scale research data. Supporting these needs, the USGS has partnered with the University of Chicago-Globus to research and develop advanced repository components and workflows leveraging its current investment in Globus. The primary outcome of this partnership includes the development of a prototype enterprise repository, driven by USGS Data Release requirements, through exploration and implementation of the entire suite of the Globus platform offerings, including Globus Flow, Globus Auth, Globus Transfer, and Globus Search. This presentation will provide insights into this research partnership, introduce the unique requirements and challenges being addressed and provide relevant project progress.
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Shahin Sheidaei
Games are powerful teaching tools, fostering hands-on engagement and fun. But they require careful consideration to succeed. Join me to explore factors in running and selecting games, ensuring they serve as effective teaching tools. Learn to maintain focus on learning objectives while playing, and how to measure the ROI of gaming in education. Discover strategies for pitching gaming to leadership. This session offers insights, tips, and examples for coaches, team leads, and enterprise leaders seeking to teach from simple to complex concepts.
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Globus
Large Language Models (LLMs) are currently the center of attention in the tech world, particularly for their potential to advance research. In this presentation, we'll explore a straightforward and effective method for quickly initiating inference runs on supercomputers using the vLLM tool with Globus Compute, specifically on the Polaris system at ALCF. We'll begin by briefly discussing the popularity and applications of LLMs in various fields. Following this, we will introduce the vLLM tool, and explain how it integrates with Globus Compute to efficiently manage LLM operations on Polaris. Attendees will learn the practical aspects of setting up and remotely triggering LLMs from local machines, focusing on ease of use and efficiency. This talk is ideal for researchers and practitioners looking to leverage the power of LLMs in their work, offering a clear guide to harnessing supercomputing resources for quick and effective LLM inference.
A Comprehensive Look at Generative AI in Retail App Testing.pdfkalichargn70th171
Traditional software testing methods are being challenged in retail, where customer expectations and technological advancements continually shape the landscape. Enter generative AI—a transformative subset of artificial intelligence technologies poised to revolutionize software testing.
Understanding Globus Data Transfers with NetSageGlobus
NetSage is an open privacy-aware network measurement, analysis, and visualization service designed to help end-users visualize and reason about large data transfers. NetSage traditionally has used a combination of passive measurements, including SNMP and flow data, as well as active measurements, mainly perfSONAR, to provide longitudinal network performance data visualization. It has been deployed by dozens of networks world wide, and is supported domestically by the Engagement and Performance Operations Center (EPOC), NSF #2328479. We have recently expanded the NetSage data sources to include logs for Globus data transfers, following the same privacy-preserving approach as for Flow data. Using the logs for the Texas Advanced Computing Center (TACC) as an example, this talk will walk through several different example use cases that NetSage can answer, including: Who is using Globus to share data with my institution, and what kind of performance are they able to achieve? How many transfers has Globus supported for us? Which sites are we sharing the most data with, and how is that changing over time? How is my site using Globus to move data internally, and what kind of performance do we see for those transfers? What percentage of data transfers at my institution used Globus, and how did the overall data transfer performance compare to the Globus users?
1. Intro to Service Worker
API and its use cases
Satej Kumar Sahu
Mindfire Solutions
2. Contents
• What is a Service Worker?
• Service Worker concepts
• Promise concept
• Some general pointers
• Service Worker example
• Debugging tips
• Service Worker Support
• Service Worker use cases
• Conclusion
3. What is a Service Worker?
• At it’s simplest it’s a worker.
• A worker is a JavaScript script that runs in the
background, independently of other scripts in a separate
thread, without affecting the performance of the page.
• A service worker is run in a worker context: it therefore has
no DOM access, and runs on a different thread to the main
JavaScript that powers your app, so it is not blocking. It is
designed to be fully async; as a consequence, APIs such
as synchronous XHR and localStorage can't be used
inside a service worker.
6. Promise concept
• Promises are a great mechanism for running async operations
• sync
try {
var value = myFunction();
console.log(value);
} catch(err) {
console.log(err);
}
• async
myFunction().then(function(value) {
console.log(value);
}).catch(function(err) {
console.log(err);
});
7. • There have been various attempts to create
technologies to solve this problem
• There still isn’t a good overall control mechanism for
asset caching and custom network requests.
• AppCache — seemed to be a good idea because it
allowed you to specify assets to cache really easily.
But it relied on many assumptions and when you
didn’t follow them, it breaks.
8. Some general pointers
• As of Firefox 44, when AppCache is used to provide offline support for a page a
warning message is now displayed in the console advising developers to use
Service workers instead.
• Offline first experience. Native Apps already provide them so they are much
favoured.
• Many service workers features are now enabled by default in newer versions of
supporting browsers.
• If still not working, then please try
- Firefox Nightly: about:config -> dom.serviceWorkers.enabled to true -> restart
- Chrome Canary: chrome://flags -> turn on experimental-web-platform-features ->
restart
- Opera: opera://flags -> enable Support for ServiceWorker -> restart
• Service Workers are restricted to running across HTTPS for security reasons.
9. Service Worker example
• Service Worker presence. If not present then
fallback to other ways AppCache, indexed DB etc.
else load from network.
• Basic Architecture
• Registering a Service Worker
• Install and Activation process
• Cache control and custom responses
10.
11.
12. Debugging tips
• Chrome has chrome://inspect/#service-workers, which shows current
service worker activity and storage on a device
• chrome://serviceworker-internals, which shows more detail and allows
you to start/stop/debug the worker process
• In the future they will have throttling/offline modes to simulate bad or
non-existent connections, which will be a really good thing.
• Firefox: You can navigate to about:serviceworkers to see what SWs
are registered and update/remove them.
• When testing you can get around the HTTPS restriction by checking
the "Enable Service Workers over HTTP (when toolbox is open)" option
in the Firefox Devtools options (gear menu.)
13. Service Worker Support
• https://jakearchibald.github.io/isserviceworkerready/
• caniuse.com/#feat=serviceworkers
14. Service Worker use cases
• Caching
• Loss of connectivity. Offline user experience
• Background data synchronization
• Responding to resource requests from other origins
• Receiving centralized updates to expensive-to-calculate data such as geolocation or gyroscope, so
multiple pages can make use of one set of data
• Client-side compiling and dependency management of CoffeeScript, less, CJS/AMD modules, etc.
for dev purposes
• Hooks for background services
• Custom templating based on certain URL patterns
• Performance enhancements, for example pre-fetching resources that the user is likely to need in the
near future, such as the next few pictures in a photo album.