This document discusses handling errors in web applications. It begins by explaining what JavaScript errors are and how they are typically invisible to users. It then discusses how to catch errors using window.onerror or addEventListener and logging errors to help debug issues. Ideal error handling involves logging detailed error information to a database and notifying developers. The document wishes for more context around errors, like function arguments or AJAX requests. It introduces a new error logging and monitoring tool that provides detailed user environment data, function arguments, screenshots, and a timeline to help developers debug issues more easily.
SenchaCon 2016: How Sencha Test Helps Automate Functional Testing of Ext JS M...Sencha
Learn how Sencha Test helped profiq, a software engineering service provider, to automate and track verification of modern Ext JS applications and their various components on multiple web browsers and devices. You will also learn tips and tricks that can speed up the development cycle of your JavaScript applications, including how you can leverage Sencha Test and its APIs.
It’s all about REST in today’s world. Every service you look at, people are providing a REST API for it. Surprisingly, very few of these API’s are even REST, if we’re talking about REST as in a system that abides by a series of constraints making it RESTful. But the positive note is that it has brought to light the power of HTTP as an application protocol, something very often undervalued and misunderstood, even today.
This talk is going to focus on the core values of HTTP for what it is. It will cover all aspects including
Headers
Error Management
Verbs
Content Negotiation
Caching
Security
Messages
Request and Responses
In essence you'll understand HTTP much better, learn to differentiate an HTTP API from a system with RESTful constraints and also understand benefits of providing REST API - if such a thing were to exist of course!
SenchaCon 2016: Enterprise Applications, Role Based Access Controls (RBAC) an...Sencha
This session will cover a real-world example of an enterprise application built using role-based access controls (RBAC) that also support client customizations. We'll show how we built the application in Ext JS 4, and how we leveraged that solution in Ext JS 6. We'll include a detailed working example of how we solved our problem, some of the challenges we faced, and our approach. We'll talk about the new features we used in Ext JS 6, examples of custom components, and how to use a designer on your project. We'll show code examples for RBAC and how the same strategy supported client customizations.
SenchaCon 2016: How Sencha Test Helps Automate Functional Testing of Ext JS M...Sencha
Learn how Sencha Test helped profiq, a software engineering service provider, to automate and track verification of modern Ext JS applications and their various components on multiple web browsers and devices. You will also learn tips and tricks that can speed up the development cycle of your JavaScript applications, including how you can leverage Sencha Test and its APIs.
It’s all about REST in today’s world. Every service you look at, people are providing a REST API for it. Surprisingly, very few of these API’s are even REST, if we’re talking about REST as in a system that abides by a series of constraints making it RESTful. But the positive note is that it has brought to light the power of HTTP as an application protocol, something very often undervalued and misunderstood, even today.
This talk is going to focus on the core values of HTTP for what it is. It will cover all aspects including
Headers
Error Management
Verbs
Content Negotiation
Caching
Security
Messages
Request and Responses
In essence you'll understand HTTP much better, learn to differentiate an HTTP API from a system with RESTful constraints and also understand benefits of providing REST API - if such a thing were to exist of course!
SenchaCon 2016: Enterprise Applications, Role Based Access Controls (RBAC) an...Sencha
This session will cover a real-world example of an enterprise application built using role-based access controls (RBAC) that also support client customizations. We'll show how we built the application in Ext JS 4, and how we leveraged that solution in Ext JS 6. We'll include a detailed working example of how we solved our problem, some of the challenges we faced, and our approach. We'll talk about the new features we used in Ext JS 6, examples of custom components, and how to use a designer on your project. We'll show code examples for RBAC and how the same strategy supported client customizations.
Testing frontends with nightwatch & saucelabsTudor Barbu
Sooner or later, any application needs to be released. And before that, it needs to be tested. Ideally!
The purpose of this talk is to explore Nightwatch as a testing framework, how to set up an automated CI system using Travis and using SauceLabs as a browser farm.
See for code https://github.com/motanelu/bcn-js-news-widget
Building Backbone applications quickly became a de-facto standard, though we can’t really define it as framework but rather just as foundation to create other frameworks.
If you like Backbone, you’ll fall in love with Marionette, the best application library to create large scale Javascript applications.
Nicholas will explain the framework, show examples and talk about some projects like cronycle.com that have been delivered to production using Marionette.
Ionic is a great tool for building hybrid mobile apps and AngularJS is a great JavaScript framework that plays very nicely with Ionic. In this talk we'll go over the basics of getting started with AngularJS+Ionic. We'll look at some real code from each of the 2 libraries and see what all is involved in building a hybrid mobile application. We will finish our journey with a real-life Ionic app presentation powered by RESTFul services.
Target Audience: People that want to see where to start with AngularJS and how it fits into Ionic. This talk assumes no prior knowledge with either library. If you've built a PhoneGap mobile app but felt lost when adding MVC-style structure or Bootstrap-esque UI components, this is the talk for you.
Assumed Knowledge: Attendees should be comfortable with "modern JavaScript". A basic understanding of classes and objects and variable scopes will be helpful. Some basic prior exposure to PhoneGap/Cordova and a UI-framework such as Bootstrap will also be helpful.
Agile documentation with Confluence and Sparx Enterprise ArchitectPer Spilling
A presentation showing how one can create high quality agile software architecture documentation by creating a mashup of Confluence and the Sparx Enterprise Architect UML tool.
*Update:*
The source code for the Sparx EA diagram export tool is now available on github: https://github.com/perspilling/eatools
The Art of AngularJS in 2015 - Angular Summit 2015Matt Raible
Presentation from Angular Summit Keynote in September 2015. http://angularsummit.com/conference/boston/2015/09/session?id=34212
AngularJS is one of today's hottest JavaScript MVC Frameworks. In this session, we'll explore many concepts it brings to the world of client-side development: dependency injection, directives, filters, routing and two-way data binding. We'll also look at its recommended testing tools and build systems.
Jab14 exemple of integration of Joomla and slim Framework
http://jandbeyond.org/program/sessions/dont-worry-be-api-best-practices-and-implementatio.html
In the context of a website or web application, an application-programming interface or API allows software developers to interact with and build upon the data and/or services delivered by your website. Thus, APIs provide limitless flexibility, reach and innovative potential for any website, service or application.
During the last few months, Pierre-André has performed extensive research and development to discover effective ways of adding an API to a Joomla website. In this interactive session, he will share his findings.
Attendees can expect to learn, why you need an API for your web site, the pros and cons of various API solutions, and why a RESTful API is a good fit for Joomla. Best practices for implementing a well-documented, pragmatic, and RESTful API will be discussed, along with useful tools and sample code for using the com_api component as well as Slim Framework.
SenchaCon 2016: Ext JS + React: A Match Made in UX Heaven - Mark BrocatoSencha
Have you ever wished you could use Sencha’s powerful Ext JS components in your React apps? Now you can. Learn about the new bridge we’ve created that enables you to use the Ext JS grid, treegrid, pivot grid, calendar, charts, and other components in your React based apps. We’ve integrated the frameworks, so you can manage data and respond to events using React while rendering UI controls using Ext JS with React's tag-based JSX syntax.
“How are business users assured that all features are built and tested?”. “Test cases written by the test teams are too technical for business users”. If you find yourself in the above situations, Behavior-Driven Development (BDD) may be a good choice for your team. In this presentation, we will discuss BDD as an agile development practice, automation testing using Cucumber as well as the advantages and disadvantages of BDD/Cucumber.
AngularJS is a framework for client-side dynamic web apps. It lets you use HTML as your template language and lets you extend HTML's syntax to express your application's components clearly and succinctly. Angular's low impact nature ties in with Drupal's data handling and structure to allow you rapidly make interactive Javascript applications. Javascript developers will find that Angular's Controller/View structure adapts itself well to Drupal's Block and/or Panel System with minimal disruption to a standard Javascript development workflow - even if that developer has minimal or no Drupal knowledge.
In this talk I'll cover setting up AngularJS in Drupal using the Angles module, how to setup your Angular project structure for a large implementation (it works for small ones too), interacting with Drupal via the Services module and gotchas to watch out for.
This talk is targeted at technical users primarily but managers evaluating using AngularJS with Drupal will also benefit. Having some Javascript experience is recommended but not required.
Webinar: AngularJS and the WordPress REST APIWP Engine UK
The WordPress REST API, in conjunction with a JavaScript MVC framework such as AngularJS, opens up endless opportunities for developers to build new types of plugins and customize user experiences. This webinar goes in-depth into how to use AngularJS with the WordPress REST API. Together, these tools help you tie systems together to customize user experiences, build plugins, and advance your business in new, innovative ways that are only limited by your imagination!
What is covered in these slides:
-How to make custom admin interfaces using REST API & Angular JS
-2 practical examples of specific use cases:
-Starting point - Simple example of creating a customized post editor with AngularJS.
-End point - Using AngularJS to build a plugin admin screen using Ingot A/B testing plugin as an example.
Sencha Roadshow 2017: Innovations in Ext JS 6.5 and BeyondSencha
Learn about the advancements we’ve made in Ext JS 6.5 and what’s planned for future releases. You’ll learn about powerful components we’ve added to the framework and the new dynamic package loader which enables a smooth loading experience for large enterprise applications.
Learn Key Insights from The State of Web Application Testing Research ReportSencha
In a recent study by Dimensional Research of 1,011 development and QA professionals, almost every survey respondent cited that application quality is important, with 84% believing it is very or critically important. Despite this, findings revealed that 94% of teams still face challenges when it comes to conducting adequate QA. View the presentation to learn why organizations must prioritize automated testing and QA practices to deliver high-quality applications and increase customer satisfaction.
Testing frontends with nightwatch & saucelabsTudor Barbu
Sooner or later, any application needs to be released. And before that, it needs to be tested. Ideally!
The purpose of this talk is to explore Nightwatch as a testing framework, how to set up an automated CI system using Travis and using SauceLabs as a browser farm.
See for code https://github.com/motanelu/bcn-js-news-widget
Building Backbone applications quickly became a de-facto standard, though we can’t really define it as framework but rather just as foundation to create other frameworks.
If you like Backbone, you’ll fall in love with Marionette, the best application library to create large scale Javascript applications.
Nicholas will explain the framework, show examples and talk about some projects like cronycle.com that have been delivered to production using Marionette.
Ionic is a great tool for building hybrid mobile apps and AngularJS is a great JavaScript framework that plays very nicely with Ionic. In this talk we'll go over the basics of getting started with AngularJS+Ionic. We'll look at some real code from each of the 2 libraries and see what all is involved in building a hybrid mobile application. We will finish our journey with a real-life Ionic app presentation powered by RESTFul services.
Target Audience: People that want to see where to start with AngularJS and how it fits into Ionic. This talk assumes no prior knowledge with either library. If you've built a PhoneGap mobile app but felt lost when adding MVC-style structure or Bootstrap-esque UI components, this is the talk for you.
Assumed Knowledge: Attendees should be comfortable with "modern JavaScript". A basic understanding of classes and objects and variable scopes will be helpful. Some basic prior exposure to PhoneGap/Cordova and a UI-framework such as Bootstrap will also be helpful.
Agile documentation with Confluence and Sparx Enterprise ArchitectPer Spilling
A presentation showing how one can create high quality agile software architecture documentation by creating a mashup of Confluence and the Sparx Enterprise Architect UML tool.
*Update:*
The source code for the Sparx EA diagram export tool is now available on github: https://github.com/perspilling/eatools
The Art of AngularJS in 2015 - Angular Summit 2015Matt Raible
Presentation from Angular Summit Keynote in September 2015. http://angularsummit.com/conference/boston/2015/09/session?id=34212
AngularJS is one of today's hottest JavaScript MVC Frameworks. In this session, we'll explore many concepts it brings to the world of client-side development: dependency injection, directives, filters, routing and two-way data binding. We'll also look at its recommended testing tools and build systems.
Jab14 exemple of integration of Joomla and slim Framework
http://jandbeyond.org/program/sessions/dont-worry-be-api-best-practices-and-implementatio.html
In the context of a website or web application, an application-programming interface or API allows software developers to interact with and build upon the data and/or services delivered by your website. Thus, APIs provide limitless flexibility, reach and innovative potential for any website, service or application.
During the last few months, Pierre-André has performed extensive research and development to discover effective ways of adding an API to a Joomla website. In this interactive session, he will share his findings.
Attendees can expect to learn, why you need an API for your web site, the pros and cons of various API solutions, and why a RESTful API is a good fit for Joomla. Best practices for implementing a well-documented, pragmatic, and RESTful API will be discussed, along with useful tools and sample code for using the com_api component as well as Slim Framework.
SenchaCon 2016: Ext JS + React: A Match Made in UX Heaven - Mark BrocatoSencha
Have you ever wished you could use Sencha’s powerful Ext JS components in your React apps? Now you can. Learn about the new bridge we’ve created that enables you to use the Ext JS grid, treegrid, pivot grid, calendar, charts, and other components in your React based apps. We’ve integrated the frameworks, so you can manage data and respond to events using React while rendering UI controls using Ext JS with React's tag-based JSX syntax.
“How are business users assured that all features are built and tested?”. “Test cases written by the test teams are too technical for business users”. If you find yourself in the above situations, Behavior-Driven Development (BDD) may be a good choice for your team. In this presentation, we will discuss BDD as an agile development practice, automation testing using Cucumber as well as the advantages and disadvantages of BDD/Cucumber.
AngularJS is a framework for client-side dynamic web apps. It lets you use HTML as your template language and lets you extend HTML's syntax to express your application's components clearly and succinctly. Angular's low impact nature ties in with Drupal's data handling and structure to allow you rapidly make interactive Javascript applications. Javascript developers will find that Angular's Controller/View structure adapts itself well to Drupal's Block and/or Panel System with minimal disruption to a standard Javascript development workflow - even if that developer has minimal or no Drupal knowledge.
In this talk I'll cover setting up AngularJS in Drupal using the Angles module, how to setup your Angular project structure for a large implementation (it works for small ones too), interacting with Drupal via the Services module and gotchas to watch out for.
This talk is targeted at technical users primarily but managers evaluating using AngularJS with Drupal will also benefit. Having some Javascript experience is recommended but not required.
Webinar: AngularJS and the WordPress REST APIWP Engine UK
The WordPress REST API, in conjunction with a JavaScript MVC framework such as AngularJS, opens up endless opportunities for developers to build new types of plugins and customize user experiences. This webinar goes in-depth into how to use AngularJS with the WordPress REST API. Together, these tools help you tie systems together to customize user experiences, build plugins, and advance your business in new, innovative ways that are only limited by your imagination!
What is covered in these slides:
-How to make custom admin interfaces using REST API & Angular JS
-2 practical examples of specific use cases:
-Starting point - Simple example of creating a customized post editor with AngularJS.
-End point - Using AngularJS to build a plugin admin screen using Ingot A/B testing plugin as an example.
Sencha Roadshow 2017: Innovations in Ext JS 6.5 and BeyondSencha
Learn about the advancements we’ve made in Ext JS 6.5 and what’s planned for future releases. You’ll learn about powerful components we’ve added to the framework and the new dynamic package loader which enables a smooth loading experience for large enterprise applications.
Learn Key Insights from The State of Web Application Testing Research ReportSencha
In a recent study by Dimensional Research of 1,011 development and QA professionals, almost every survey respondent cited that application quality is important, with 84% believing it is very or critically important. Despite this, findings revealed that 94% of teams still face challenges when it comes to conducting adequate QA. View the presentation to learn why organizations must prioritize automated testing and QA practices to deliver high-quality applications and increase customer satisfaction.
Sencha Roadshow 2017: Best Practices for Implementing Continuous Web App TestingSencha
Learn how to create end-to-end functional tests quickly across multiple browsers simultaneously and scale the automated test suite to over thousands of test cases and cross-browser combinations for a complete regression cycle. We will demonstrate how we are able to locate a component, generate test code, and execute tests from TeamCity.
It can be difficult for users to understand and modify workflow procedures in their applications. The job lifecycle of workflow-driven applications may change based on some specific procedures. We know that people can memorize images, shapes, and colors more easily than raw data. Using Ext JS Draw package, we created a dynamic, easy to use, workflow diagram modeler. We delivered a distinct solution that overcomes the challenges our users encountered. With our modeler, users can drag and drop, resize, label, and connect workflow steps with minimal effort. This ensures that users can visualize and design workflows in a more natural and innovative way.
Introducing ExtReact: Adding Powerful Sencha Components to React AppsSencha
Learn about Sencha’s newest release, ExtReact: the most comprehensive set of components for React apps. Now you can quickly and easily add any of our 115+ professionally tested and supported components including grid, tree grid, pivot grid, charts, D3 visualizations, trees, calendar, buttons, menus and more to your React applications.
With ExtReact, all of the components are designed to work together seamlessly which eliminates time-consuming integration work and reduces ongoing maintenance burdens. View this presentation to learn how to:
- Build data-intensive, cross-platform web apps leveraging Sencha components and React.
- Build immersive user engagement using layouts and adaptive design features.
- Leverage material design and other themes to save time and effort. Modify or extend themes without writing a single line of code.
Leveraging React and GraphQL to Create a Performant, Scalable Data GridSencha
User interfaces often utilize components such as grids and tables to help users browse and understand data. Today’s large data sets require sophisticated capabilities to ensure users can effectively comprehend data while remaining flexible and responsive. Building this functionality is time consuming, has integration and maintenance risks, and worst of all, distracts developers from the task at hand -- actually building the app. View the slides from our latest webinar to learn how the web’s most powerful data grid and GraphQL can help you deliver advanced functionality with minimal effort. View the recording here: https://www.brighttalk.com/webcast/11505/276417
Sencha Roadshow 2017: Sencha Best Practices: Coworkee App Sencha
Learn the best practices for building a beautiful, data-intensive Ext JS application. In this session, we’ll review the Coworkee employee directory full-stack sample application and we’ll share with you how we leveraged the power of the grid, pivot grid, charts and many other features to deliver a highly performant web application.
Sencha Roadshow 2017: Mobile First or Desktop FirstSencha
Historically, web developers approached app development from the desktop first, and mobile was a secondary goal. Now with the extraordinary growth of mobile users across the globe, that approach is being reversed. Developers are building mobile first, and then making progressive enhancements so the app is available on desktop. In this presentation, we’ll explore the benefits of each approach.
Newer REST-based APIs are starting to use HATEOAS, which stands for Hypermedia as the Engine of Application State. The central idea of HATEOAS is to allow the server to control the state transitions instead of hard coding all the links into the client. We've integrated a HATEOAS layer in the Ext JS framework based on the HAL standard (http://stateless.co/hal_specification.html) and into the Ext JS model and store system. We will be showing the techniques we used to accomplish this in a way that keeps the Ext JS model and store usage the same as the standard mechanism.
Sencha Roadshow 2017: Sencha Upgrades - The Good. The Bad. The Ugly - Eva Luc...Sencha
A case study into the common problems faced by companies when trying to upgrade their legacy Sencha applications. Learn about the benefits of upgrading, the common issues faced and how to avoid them in the future.
SenchaCon 2016: Add Magic to Your Ext JS Apps with D3 Visualizations - Vitaly...Sencha
Ext JS provides easy-to-use charting components that satisfy common needs, but sometimes you want to deliver an exceptional, unique user experience. This presentation will discuss how Ext JS leverages the popular and extremely powerful D3 library to create sophisticated, data-driven visualizations. This functionality helps your users understand the story behind their data, so they can make informed decisions.
Sencha Roadshow 2017: Modernizing the Ext JS Class System and ToolingSencha
JavaScript is advancing and ES2015 (formerly ES6) is the foundation of its future. Sencha is committed to delivering cutting-edge technology for your applications, and supporting the evolution of JavaScript is a central part of that commitment. The expansive feature set of ES2015 formally enables coding paradigms: modules to better organize your code, classes to cleanly declare reusable units of functionality, and so much more. In this session, you'll see how Ext JS is embracing these new language and toolset features, and how they will expand your development horizons.
Die Sicht auf große Datenmengen läßt sich in ExtJS auf zwei Wege darstellen – entweder durch Paging oder durch scrollen. Während beide Konzepte das selbe Ziel verfolgen, bringt die Implementierung eines Buffered Stores in ExtJS einige Hürden mit sich, die UI-Konzepte wie dynamisches Löschen oder Hinzufügen von Datensätzen verhindern. Diese Session gibt einen Einblick in den Aufbau eines BufferedStores und zeigt Ansätze, wie man mehr Dynamik in Grids bringen kann, die diesen Store verwenden.
SenchaCon 2016: LinkRest - Modern RESTful API Framework for Ext JS Apps - Rou...Sencha
LinkRest is an active project commissioned and open sourced by NHL under Apache 2.0 license. It was conceived specifically as the server-side counterpart to Ext JS, so it natively supports Ext JS rest proxy, including CRUD, grouping, sorting, filtering, and more. In this session, we'll review Ext JS protocol support. You'll also see extensions that allow the client to safely query the server for specific data and shape the response. We'll cover advanced features, including security, constraints, idempotent methods, and metadata service. We'll show demos and try to allow time for Q&A.
Ext JS Architecture Best Practices - Mitchell SimeonsSencha
Starting your application on the right foot is important. You’re probably excited to start coding, but it’s important to think about the architecture you’ll need. In this session, we’ll cover architectural best practices including the difference between MVC and MVVM, how to start architecting your application, and using the Ext JS router to your advantage.
Sencha Roadshow 2017: Build Progressive Web Apps with Ext JS and Cmd Sencha
Learn how to use Ext JS and Cmd to deliver Progressive Web Applications to deliver the best of both web and mobile app experiences. Web apps can be found easily on the internet and every user is guaranteed access to the same and latest version of the application. Plus, mobile app capabilities, such as offline support and optimizing access to the underlying network using service workers, take the user experience to a whole new level.
SenchaCon 2016: Mobile First? Desktop First? Or Should you Think Universal Ap...Sencha
Developers are building mobile first, and then making progressive enhancements so the app is available on desktop. Should you be taking either a mobile or desktop first approach, or thinking about Universal Apps to deliver the right user experiences. This approach maximizes the shareability of code across these experiences. In this presentation, we’ll explore case studies that show the benefits of each approach.
Sencha Roadshow 2017: What's New in Sencha TestSencha
Learn how you can improve the quality of web applications through Sencha Test 2.2. We’ll demonstrate how you can build robust tests using Page Objects, visualize tests using a tree view and utilize unique locators by using the DOM Tree directly from Sencha Studio.
What Your JavaScript Does When You're Not Around (Influx Days 2017 Edition)Emily Nakashima
As client-side app frameworks like React keep growing more popular, we’re shipping more and more application logic out to users’ browsers. But we don’t always know much about what happens to it after we send it out to the client. This talk will take you on a fast-paced tour of all the strange cases we’ve seen in browsers in the wild, from overseas proxy sites to rogue browser extensions to console-hacking customers with a sense of humor. Finally, we’ll talk about how to cut the noise and focus on minimum viable instrumentation to have visibility into the things that really matter to your users’ experience.
Thoughts on why JavaScript Error Handling and Monitoring in production is hard, and ways to make development and debugging easier, which means a higher quality web app for your customers.
Advanced Error Handling Strategies for ColdFusion Mary Jo Sminkey
A number of years ago I presented a talk at cfObjective on building an advanced, custom CF error handler. This talk will go above and beyond that, covering not just CF but JS/Ajax and SQL Server error logging and strategies for debugging errors on live sites. Developers should come away from this talk with lots of ideas for both custom code they can add to their sites as well a variety of open source and 3rd party solutions for error logging and use site analytics to track and fix issues on their live sites. Blog articles expanding on the information presented in this talk will also be published concurrent with the presentation at coldfusionmuse.com.
In front-end software development it's still rare that data is collected on the client side besides some analytics data where developers usually don't have access to.
Imagine what you can do when you have front-end log data, you see how many ajax calls hitting your servers and you finally know whether the single page application is used like you expected or not. I will briefly talk about projects I was part of where we used these kind of data to improve our product and surprisingly reduced AWS costs by changing front-end code.
https://docs.google.com/presentation/d/1kGK8P7Ll2H4Z_1UUdBneAbNzUEDmpj8g2Mxj_Z-F5u8/pub?start=false&loop=false&delayms=3000
Influx/Days 2017 San Francisco | Emily NakashimaInfluxData
WHAT YOUR JAVASCRIPT DOES WHEN YOU’RE NOT AROUND
As client-side app frameworks like React keep growing more popular, we’re shipping more and more application logic out to users’ browsers. But we don’t always know much about what happens to it after we send it out to the client. This talk will take you on a fast-paced tour of all the strange cases we’ve seen in browsers in the wild, from overseas proxy sites to rogue browser extensions to console-hacking customers with a sense of humor. Finally, we’ll talk about how to cut the noise and focus on minimum viable instrumentation to have visibility into the things that really matter to your users’ experience.
With the creation of the cucumber framework came the creation of the Gherkin Scripting format (also known as the Given-When-Then format). The structure of a Gherkin script is very straight-forward: Given provides you with the background When tells you what is being created Then tells you the expected results. Writing a script in a Given-When-Then format may be fairly simple. Writing a good Gherkin Script is an Art. Some are Picassos, some are Monets, some look like they were created by a toddler with a crayon. In this presentation Mr. Eakin will offer some tips on writing good Gherkin Scripts and show you how a well crafted Gherkin Script can be a beautiful work of Art.
A brownbag presentation at IPC media in London about the need to use libraries to make web development much less random and more professional. Get the audio at: http://www.archive.org/details/ProfessionalWebDevelopmentWithLibraries
While the Python logging module makes it simple to add flexible logging to your application, wording log messages and choosing the appropriate level to maximize their helpfulness is a topic hardly covered in the documentation. This talk give guidelines on when to choose a certain log level, what information to include and which wording templates to use.
Max Voloshin - "Organization of frontend development for products with micros...IT Event
While our product was growing our team came to need to implement microservices. Later it became obvious that our approaches on organization of frontend development should be rethought and significantly improved.
The report contains our team's solutions for simple and comfortable frontend product development with microservices. Also, this talk is about how we along with the way updated frontend framework, separated frontend and backend, solved internalization problem and started using Docker for front end tasks.
Similar to SenchaCon 2016: Expect the Unexpected - Dealing with Errors in Web Apps (20)
Breathe New Life into Your Existing JavaScript Applications with Web ComponentsSencha
You probably have an existing JavaScript application using components that you love, maybe a grid, some graphs, etc. Perhaps today you use Angular and your company is thinking about moving to React, or Vue, and with new frameworks appearing every week, who knows what is next. How do you bring along those great components you have been using?
That is where Web Components fits in!
In this session we will look at some popular enterprise components and their usage in Angular and React. Then we will look at the Web Components spec to use those existing components you know and love in any framework - including no framework at all!
Our latest release, Sencha Ext JS 6.6, includes several major enhancements as well as support for npm packaging and open tooling for exceptionally easy workflows that every JavaScript developer is familiar with. With open tooling, Ext JS developers now have powerful tooling to rapidly generate, build and update Ext JS applications. Read the blog post to learn more: https://www.sencha.com/blog/announcing-sencha-ext-js-6-6-with-open-tooling-ga/
SenchaCon 2016: Developing and Delivering Quality Code, Frequently - Neil ManvarSencha
Learn best practices for leveraging modern technologies to develop, test and deliver maintainable, quality code. You will learn the advantages of testing software early and frequently, best practices to leverage modern technologies for test automation and CI, how to avoid shipping bad code, and how to create maintainable code while keeping it “non-legacy”. You will also learn the how and why of creating a robust developer feedback mechanism for sustained success.
SenchaCon 2016: Creating a Flexible and Usable Industry Specific Solution - D...Sencha
Come hear how we used agile development and Sencha tools to meet our design requirements, to create a system that is highly configurable, flexible, and exceeds the expectations of our customers. Learn how to use an adaptive/responsive design to be able to support two very different types of users, with a single application, and using the same set of libraries. Most importantly, learn how to create a system that even your most important and demanding users will find value and actually want to use. By assembling some of the best programmers and DBA developers in the world, we have been able to create a best-in-class, fully functional, scalable and highly configurable system, while maintaining an amazingly easy-to-use interface.
SenchaCon 2016: JavaScript is Great but Stop Writing It - Rory HardySencha
This talk is not about never writing JavaScript. It is about writing JavaScript when you actually need to and in a minimal fashion. This talk focuses on JavaScript in the browser.
SenchaCon 2016: Accessibility, Teamwork & Ext JS: A Customer Success Story - ...Sencha
Demand for accessible applications is on the rise, and many enterprise software developers are faced with the need to meet accessibility requirements in their products. To address this daunting problem, University of Washington and Innotas collaborated with Sencha to make the Ext JS framework more accessible and share the benefits with all Sencha customers. In this session, we'll detail the steps we took, the pain we experienced, the roadblocks we overcame, and the spectacular results we achieved.
SenchaCon 2016: Using Ext JS 6 for Cross-Platform Development on Mobile - And...Sencha
Andrew will share the experience he and his team have gotten from using Ext JS 6 for cross-platform app development on mobile and desktop devices. Having released Ext JS 6 apps for industries including utilities, oil & gas, construction, and transport, Andrew has learned the common pitfalls and gotchas you need to know. Using examples from recent projects, he provides tips for those who aren't yet familiar or experienced with mobile development. By the end of the session, you will know how to think like a mobile developer, develop apps with mobile user experience in mind, make the move from Ext JS 5 or Sencha Touch to Ext JS 6, deploy native apps with Cordova, and manage data on devices with limited resources.
SenchaCon 2016: Handling Undo-Redo in Sencha Applications - Nickolay PlatonovSencha
Undo and redo is a very common but not trivial feature, requested in most types of modern web applications. An application may define complex data processing rules involving data from different stores, which is tricky to handle when undoing an operation. With the Robo tool, we'll show you how to accurately revert data to any previous state with a simple undo() call.
SenchaCon 2016: How to Auto Generate a Back-end in Minutes - Per Minborg, Emi...Sencha
Connecting your JavaScript application to a database is tedious. Back-end developers spend hours modeling the database, securing connections, writing SQL, optimizing queries, deploying to a server, and fixing bugs. In this session, you'll learn how Ext Speeder gives your front-end team a tool to automatically generate a full back-end. In minutes, a REST API between a Sencha Ext JS Grid application and a relational database is created. This will save you a huge amount of time and also minimizes the risk of human error. Application time-to-market has never been shorter.
SenchaCon 2016: Turbocharge your Ext JS App - Per Minborg, Anselm McClain, Jo...Sencha
Web applications are becoming increasingly data intensive and complex. Yet, users demand a great user experience, including blazingly fast speeds, across many device types. In this talk, we will show you how you can dramatically improve the performance of your web applications by using Sencha Ext JS and Ext Speeder. You will learn how to: accelerate your back-end data requests up to 10x by leveraging sophisticated in-memory, object-oriented techniques, significantly improve application responsiveness without making any modifications to your client Ext JS application, and quickly get started with database acceleration in standard J2EE environments.
SenchaCon 2016: Integrating Geospatial Maps & Big Data Using CartoDB via Ext ...Sencha
Come explore with us CartoDB - Ext JS components (www.cartodb.com). These new components will allow you, as developers, to visualize and interact with geospatial data using up to a billion data points in real time. We will show you how easy it is to enable visualizations, filter dynamically, create time-lapse animations, and explore large location datasets at unprecedented scale. Come learn how to use these new open source components to build interactive geospatial visualizations that deliver solutions, value, and insights to your customers.
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.
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
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.
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.
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/
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
💥 Speed, accuracy, and scaling – discover the superpowers of GenAI in action with UiPath Document Understanding and Communications Mining™:
See how to accelerate model training and optimize model performance with active learning
Learn about the latest enhancements to out-of-the-box document processing – with little to no training required
Get an exclusive demo of the new family of UiPath LLMs – GenAI models specialized for processing different types of documents and messages
This is a hands-on session specifically designed for automation developers and AI enthusiasts seeking to enhance their knowledge in leveraging the latest intelligent document processing capabilities offered by UiPath.
Speakers:
👨🏫 Andras Palfi, Senior Product Manager, UiPath
👩🏫 Lenka Dulovicova, Product Program Manager, UiPath
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.
"Impact of front-end architecture on development cost", Viktor TurskyiFwdays
I have heard many times that architecture is not important for the front-end. Also, many times I have seen how developers implement features on the front-end just following the standard rules for a framework and think that this is enough to successfully launch the project, and then the project fails. How to prevent this and what approach to choose? I have launched dozens of complex projects and during the talk we will analyze which approaches have worked for me and which have not.
Connector Corner: Automate dynamic content and events by pushing a buttonDianaGray10
Here is something new! In our next Connector Corner webinar, we will demonstrate how you can use a single workflow to:
Create a campaign using Mailchimp with merge tags/fields
Send an interactive Slack channel message (using buttons)
Have the message received by managers and peers along with a test email for review
But there’s more:
In a second workflow supporting the same use case, you’ll see:
Your campaign sent to target colleagues for approval
If the “Approve” button is clicked, a Jira/Zendesk ticket is created for the marketing design team
But—if the “Reject” button is pushed, colleagues will be alerted via Slack message
Join us to learn more about this new, human-in-the-loop capability, brought to you by Integration Service connectors.
And...
Speakers:
Akshay Agnihotri, Product Manager
Charlie Greenberg, Host
SenchaCon 2016: Expect the Unexpected - Dealing with Errors in Web Apps
1. Expect the unexpected - dealing with
errors in web apps
Mats Bryntse
Founder, @bryntum
2. Who is Mats Bryntse?
• From Stockholm, Sweden
• Working with Ext JS since 2007
• mankz in the Sencha forums
• Founder of Bryntum (Scheduler, Gantt, Kanban Taskboard, Siesta)
• @bryntum
4. Javascript error basics
• Javascript errors are unhandled exceptions happening in your code base
• Or in the frameworks you use
• Doesn’t matter where it happens, poor user impression regardless
• With JS codebases in the size of MBs, we can no longer ignore error handling + logging
• Good news - it’s easy ?
7. The ErrorEvent constructor
• When an error happens, an ErrorEvent is fired on the window object
• ErrorEvent.message
• ErrorEvent.filename
• ErrorEvent.lineno
• ErrorEvent.colno // Normal browsers only
• ErrorEvent.error // Normal browsers only
8. Global error handler
// Old school
window.onerror = function(message, source, lineno, colno, error) {
…
};
window.addEventListener(‘error’, function(event) {
// event.message
// event.filename
// event.lineno
// event.colno // good browsers only
// event.error (has stack property, in good browsers)
}, true);
…or by listening to the window ‘error’
eventListen with capture=true to also
get notified of resource load errors
Errors are easily caught in window.onerror
9. You can throw your own
Error too
// Bad, no call stack will be available
throw ‘My own error’;
// preferred
throw new Error(‘This will have call stack’);
try {
// Questionable code goes here
} catch(e) {
// log error
} finally {
// always called
}
• throw a String
• Or better, an Error instance
(callstack)
• Catch using simple try/catch/finally
12. Flow of an error - Enterprise version
Error in web app
Reports to own support Your company
User realises it’s an error
01010
10110
11110
User Dear User,
/Depressed dev.
Can’t reproduce,
need more info.
Sincerely yours,
22. Logging is easy
• Log message, file, line, stack etc..
• Add any extra meta relevant for your
debugging (userId/name/…)
• Poor mans error logger:
function log(msg) {
new Image().src = "log.php?msg=" +
encodeURIComponent(msg);
}
window.onerror = log;
throw new Error("Ooops");
23. Saving error info
• Store error logs in some database on a non-production server
• Throttle logging on client side + server side
• Probably we only care about the first error on a page
24. Flow of an error - Improved version
Error in web app
Your company
User realises it’s an error
01010
10110
11110
User
30. Previous error handling at Bryntum
• Web site visitors are test monkeys unknowingly === free help
• Errors logged in a DB
• Emails sent to devs
= Very useful for finding and rapidly fixing bugs
31. Error handling at Bryntum
Instant feedback
Site visitors / “Late QA”Developers
32. Error handling at Bryntum
• What we had was pretty good, not great
• Lots of time spent playing detective, looking at callstacks
• Just error message, filename, callstack isn’t enough to rapidly locate root cause
• We would like to know more…
🕵🕵
34. Function arguments
Know how the crashing function
was called
function getUserInfo(id) {
var user = this.store.getById(id); // => null
return user.getInfo(); // Cannot call getInfo of null
}
getUserInfo(-1); // crashes, would be neat to know input args
35. Logs about failed ajax requests
Usually produces errors that are less tested (aka happy testing)
36. See how the application looked at the time of
crash
?
45. + environment data collected
Many things to consider…
• OS
• Browser
• Window size
• Touch support
• Window blur/focus events
• Date + Timezone
• Language
• Failed ajax requests
• Cookie state
• Network connectivity events
52. Installing the logger in your app
var logger = new Err.ErrorLogger({
recordUserActions : true,
maxNbrLogs : 1,
logResourceLoadFailures : true,
applicationId : ‘your-cool-app‘,
version : ‘2.0.0-rc.1’,
logAjaxRequests : true,
enableScreenshot : true,
saveCookies : true,
frameworkVersion : Ext.versions.extjs.version
});
logger.addTag('ReadOnlyUser', true);
logger.addTag('Secret Flag', 'XYZ');
53. In a dream world we would be able to:
See on the user’s machine when error happens
live
Reproduce the error on in production
Reproduce the error locally
�