This session dives deep into the DOM traversal methods of the jQuery API where you will learn the difference between brittle and fluid traversal methods, strategies for structuring your HTML, and how to leverage some of the more obscure jQuery selectors.
Learn to balance your use of jQuery's .css with CSS Style Sheets. Covers pros, cons, and tips on when to choose one method over another. Presented at the jQuery SF Bay Area Conference 2011.
Last year, AOL adopted a new content strategy and has positioned itself as a premier destination for original content. Core to this strategy is having reusable, highly efficient and optimized common code and experiences at scale, which is where jQuery comes in. Check in with Dave Artz to see how jQuery has helped his front-end standards team tackle unique challenges like optimizing 3rd party widget performance, overriding plugin functionality, and managing dependencies and updates across 100+ sites spanning multiple back-end platforms.
This presentation covers some jQuery basics, as well as some general concepts you should understand about jQuery. You will find other tips and tricks sprinkled throughout before the live coding session starts.
The code from the live coding session is available here: https://github.com/dcneiner/jQuery-Bling and covers far more advanced topics than the slide portion of this presentation.
jQuery is a JavaScript library which allows you to develop solutions with less code, in less time. You can build interactive prototypes for your prospective clients, or take an existing solution and add new dynamic behaviour with little effort.
We will see how jQuery can be used to quickly and concisely apply JavaScript behaviour to your web app. It will cover selectors, Ajax, DOM manipulation and more. The aim: to produce lean unobtrusive JavaScript with jQuery.
OOCSS for JavaScript Pirates jQcon BostonJohn Hann
At first glance, Object-Oriented CSS looks like yet another rehash of CSS "best practices". Maybe the OO part caught your attention briefly before you dismissed it as a gimmick. Who cares about CSS anyways? I'm a JavaScript Pirate! CSS is for lollygaggers and deck scrubbers!
That's what these JavaScript Pirates thought, too, at first. But now that we're skilled in the arcane art of OOCSS, we've come to realize that it not only helps us write better CSS, but it also helps us write much better JavaScript!
You too will be able to create kick-ass web apps that are engineering marvels -- able to withstand high seas and hurricane-force winds -- er... or at least unreasonable customer demands.
First, we'll review the basics of OOCSS. Then, we'll delve deeper. Way deeper.
Attending pirates will learn how to:
1) use OOCSS principles to modularize HTML into reusable components, 2) mate these components with CSS rules and JavaScript ""controllers"", and 3) identify and implement inheritance patterns in CSS, HTML, and JavaScript.
More importantly, pirates will discover several little-known secrets about OOCSS. These ""secrets"" are tips and techniques that you won't find in any book, tutorial, or treasure map. They're not even divulged on the OOCSS Github repository! Once you see them in action, you'll never want to do it the ""old way"" again.
For certain, by the end of this session, you will: 1) have a much greater appreciation for CSS, 2) understand several simple, yet powerful, techniques for applying OOCSS, and 3) feel much more confident about creating and maintaining large web apps.
Arrrrrr, matey!!! Let the wind blow!
Learn to balance your use of jQuery's .css with CSS Style Sheets. Covers pros, cons, and tips on when to choose one method over another. Presented at the jQuery SF Bay Area Conference 2011.
Last year, AOL adopted a new content strategy and has positioned itself as a premier destination for original content. Core to this strategy is having reusable, highly efficient and optimized common code and experiences at scale, which is where jQuery comes in. Check in with Dave Artz to see how jQuery has helped his front-end standards team tackle unique challenges like optimizing 3rd party widget performance, overriding plugin functionality, and managing dependencies and updates across 100+ sites spanning multiple back-end platforms.
This presentation covers some jQuery basics, as well as some general concepts you should understand about jQuery. You will find other tips and tricks sprinkled throughout before the live coding session starts.
The code from the live coding session is available here: https://github.com/dcneiner/jQuery-Bling and covers far more advanced topics than the slide portion of this presentation.
jQuery is a JavaScript library which allows you to develop solutions with less code, in less time. You can build interactive prototypes for your prospective clients, or take an existing solution and add new dynamic behaviour with little effort.
We will see how jQuery can be used to quickly and concisely apply JavaScript behaviour to your web app. It will cover selectors, Ajax, DOM manipulation and more. The aim: to produce lean unobtrusive JavaScript with jQuery.
OOCSS for JavaScript Pirates jQcon BostonJohn Hann
At first glance, Object-Oriented CSS looks like yet another rehash of CSS "best practices". Maybe the OO part caught your attention briefly before you dismissed it as a gimmick. Who cares about CSS anyways? I'm a JavaScript Pirate! CSS is for lollygaggers and deck scrubbers!
That's what these JavaScript Pirates thought, too, at first. But now that we're skilled in the arcane art of OOCSS, we've come to realize that it not only helps us write better CSS, but it also helps us write much better JavaScript!
You too will be able to create kick-ass web apps that are engineering marvels -- able to withstand high seas and hurricane-force winds -- er... or at least unreasonable customer demands.
First, we'll review the basics of OOCSS. Then, we'll delve deeper. Way deeper.
Attending pirates will learn how to:
1) use OOCSS principles to modularize HTML into reusable components, 2) mate these components with CSS rules and JavaScript ""controllers"", and 3) identify and implement inheritance patterns in CSS, HTML, and JavaScript.
More importantly, pirates will discover several little-known secrets about OOCSS. These ""secrets"" are tips and techniques that you won't find in any book, tutorial, or treasure map. They're not even divulged on the OOCSS Github repository! Once you see them in action, you'll never want to do it the ""old way"" again.
For certain, by the end of this session, you will: 1) have a much greater appreciation for CSS, 2) understand several simple, yet powerful, techniques for applying OOCSS, and 3) feel much more confident about creating and maintaining large web apps.
Arrrrrr, matey!!! Let the wind blow!
This is our first presentation on NinjaScript, a tool by Logical Reality Design. Evan Dorn presented this to the LA Ruby Meetup on October 14, 2010.
NinjaScript: Javascript so unobtrusive, you'll never see it coming.
NinjaScript, which runs on top of jQuery, provides extremely easy-to-use UJS tools including instant conversion of regular forms and links into AJAX equivalents. NS provides for reusable behaviors and automatic rebinding of events in a way that is more flexible than event-delegation methods like jQuery live().
jQuery is the new favorite of web developers. This lightweight JavaScript library makes developers love writing JavaScript code again! What needed 20 lines of code first is now reduced to 3 lines. Who wouldn’t be enthusiastic?! Microsoft showed its love for the library by fully integrating it in Visual Studio. I dare to ask: Should you stay behind? In this session, we’ll take a look at jQuery and we’ll teach you what you need to know to get on your way. More specifically, we’ll look at selectors, attributes, working with WCF, jQuery UI and much more. You may walk out of this session wearing a sticker: “I love jQuery”!
NinjaScript is a javascript framework for enriching web applications with unobtrusive, persistent JavaScript behavior.
Mizugumo is a ruby gem to making completely gracefully-degrading Rails applications. It uses the NinjaScript framework for rich behavior and integrates it tightly with Rails.
This presentation was given to LA RubyConf on February 5, 2011.
This is our first presentation on NinjaScript, a tool by Logical Reality Design. Evan Dorn presented this to the LA Ruby Meetup on October 14, 2010.
NinjaScript: Javascript so unobtrusive, you'll never see it coming.
NinjaScript, which runs on top of jQuery, provides extremely easy-to-use UJS tools including instant conversion of regular forms and links into AJAX equivalents. NS provides for reusable behaviors and automatic rebinding of events in a way that is more flexible than event-delegation methods like jQuery live().
jQuery is the new favorite of web developers. This lightweight JavaScript library makes developers love writing JavaScript code again! What needed 20 lines of code first is now reduced to 3 lines. Who wouldn’t be enthusiastic?! Microsoft showed its love for the library by fully integrating it in Visual Studio. I dare to ask: Should you stay behind? In this session, we’ll take a look at jQuery and we’ll teach you what you need to know to get on your way. More specifically, we’ll look at selectors, attributes, working with WCF, jQuery UI and much more. You may walk out of this session wearing a sticker: “I love jQuery”!
NinjaScript is a javascript framework for enriching web applications with unobtrusive, persistent JavaScript behavior.
Mizugumo is a ruby gem to making completely gracefully-degrading Rails applications. It uses the NinjaScript framework for rich behavior and integrates it tightly with Rails.
This presentation was given to LA RubyConf on February 5, 2011.
Walker's deliberative approach emphasizes the process of curriculum development. The ways of proceeding were not predetermined but negotiated and documented as stakeholders worked towards completing the task.
Discourse analysis (Linguistics Forms and Functions)Satya Permadi
Discourse analysis is an umbrella term for all those studies within applied linguistics which focus on units/stretches of language beyond the sentence level (Judit, 2012). We as the human is use a natural language utterance which language serves in the expression of 'content' described as transactional and that function involved in expressing social relations and personal attitudes we describe as interactional. Spoken and written language has relation each other. But written language and spoken language have different form. The book concerns with sentence which is 'text-sentence‘, so it will connected to behavior and involves contextual considerations. The data which is used in this book is based on the linguistic output of someone other than the analyst. Besides, discourse analyst discovers regularities in his data.
jQuery Makes Writing JavaScript Fun Again (for HTML5 User Group)Doris Chen
Get frustrated by cross-browser incompatibility? Hate to develop application using JavaScript? jQuery is a powerful JavaScript library that can enhance your websites regardless of your background. jQuery is fast, lean, simple and hugely expandable, enabling you to build compelling web applications quickly and easily. In this session, we will start with a quick introduction of jQuery, illustrate what’s so good about jQuery, and demonstrate step by step how to develop jQuery Ajax application efficiently with database, web services, OData, NetFlix and ASP.NET MVC. Microsoft is now shipping, supporting, and contributing to jQuery, with ASP.NET and Visual Studio. New features which will be available in the next release of jQuery such as globalization, templating and data-linking will be introduced in the session as well.
User Interface Development with jQuerycolinbdclark
A half-day workshop covering all aspects of user interface development with jQuery. Starts with a JavaScript refresher, followed by coverage of each major feature of jQuery. Real world code samples are included throughout.
Presented by Colin Clark and Justin Obara at the 2010 Jasig Conference in San Diego.
Explanation for:
- Why it is important to wrap JS code by anonymous function
- How to work with Drupal.behaviors
- What is jQuery.once
- How to write reusable code in Drupal javascript modules
- What is Base url
- jQuery code style tips
The Inclusive Web: hands-on with HTML5 and jQuerycolinbdclark
Driven by technologies such as HTML5, JavaScript, and jQuery, innovative new user experiences are thriving on the Web. This workshop, presented by Justin Obara and Colin Clark from the Fluid community (http://fluidproject.org), will provide Web designers and developers with an overview of modern Web accessibility techniques, providing hands-on ways to make HTML5 and jQuery-based applications more accessible, flexible, and inclusive of a diverse range of users. We’ll also cover some of the features of Fluid Infusion, an application framework built on top of jQuery.
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
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
With each of the past 3 Ruby releases, YJIT has delivered higher and higher performance. However, we are seeing diminishing returns, because as JIT-compiled code becomes faster, it makes up less and less of the total execution time, which is now becoming dominated by C function calls. As such, it may appear like there is a fundamental limit to Ruby’s performance.
In the first half of the 20th century, some early airplane designers thought that the speed of sound was a fundamental limit on the speed reachable by airplanes, thus coining the term “sound barrier”. This limit was eventually overcome, as it became understood that airflow behaves differently at supersonic speeds.
In order to break the Ruby performance barrier, it will be necessary to reduce the dependency on C extensions, and start writing more gems in pure Ruby code. In this talk, I want to look at this problem more in depth, and explore how YJIT can help enable writing pure-Ruby software that delivers high performance levels.
JMeter webinar - integration with InfluxDB and GrafanaRTTS
Watch this recorded webinar about real-time monitoring of application performance. See how to integrate Apache JMeter, the open-source leader in performance testing, with InfluxDB, the open-source time-series database, and Grafana, the open-source analytics and visualization application.
In this webinar, we will review the benefits of leveraging InfluxDB and Grafana when executing load tests and demonstrate how these tools are used to visualize performance metrics.
Length: 30 minutes
Session Overview
-------------------------------------------
During this webinar, we will cover the following topics while demonstrating the integrations of JMeter, InfluxDB and Grafana:
- What out-of-the-box solutions are available for real-time monitoring JMeter tests?
- What are the benefits of integrating InfluxDB and Grafana into the load testing stack?
- Which features are provided by Grafana?
- Demonstration of InfluxDB and Grafana using a practice web application
To view the webinar recording, go to:
https://www.rttsweb.com/jmeter-integration-webinar
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.
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/
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
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
Neuro-symbolic is not enough, we need neuro-*semantic*Frank van Harmelen
Neuro-symbolic (NeSy) AI is on the rise. However, simply machine learning on just any symbolic structure is not sufficient to really harvest the gains of NeSy. These will only be gained when the symbolic structures have an actual semantics. I give an operational definition of semantics as “predictable inference”.
All of this illustrated with link prediction over knowledge graphs, but the argument is general.
6. DECLARATIVE
• Heavy use of ID’s, some classes, simple selectors
• All traditional event binding
• Often repeated code with slight variations
• Changes to HTML often require changes to JS and vice versa.
• Large number of selectors running on Document Ready
CONTEXTUAL jQuery Doug Neiner
8. DYNAMIC
• Heavy use of classes, simple selectors
• Mixture of traditional binding and live/delegate binding
• Less repeated code
• Changes to HTML still may require changes to JS
• Many selectors still running on Document Ready
CONTEXTUAL jQuery Doug Neiner
10. CONTEXTUAL
• Heavy use of selectors and traversing
• Minimal use of ID’s or classes
• Very little repeated code
• HTML follows a convention so edits
require less changes to the JS
• Virtually no selectors running on Document Ready
CONTEXTUAL jQuery Doug Neiner
12. BENEFITS
of Contextual jQuery
CONTEXTUAL jQuery Doug Neiner
13. BENEFITS
• Faster Flexible and More Responsive Code
• Focussed Use of Resources
• Less code
• Easier to maintain
• Easy to reuse
CONTEXTUAL jQuery Doug Neiner
20. BIND VS LIVE
• Separate handler for each • Single
handler for all
element elements
• Executes only when event • Checksevent on every
is triggered on bound element in its context, and
elements executes when a match is
found
• Elements can be retrieved
ahead of time • Elements should be
retrieved at run time
• Mustbe bound after the
DOM is ready • Can be setup at any time
CONTEXTUAL jQuery Doug Neiner
21. WHAT ABOUT INITIALIZATION?
• Keep the setup minimal
• Use CSS and js/no-js classes
• Use selectors or data to determine initialization state
• Always opt for just-in-time initialization
CONTEXTUAL jQuery Doug Neiner
23. DETERMINE INITIALIZATION STATE
$("a[href^=contact]").live("click", function (e) {
e.preventDefault();
var dialog = $("#dialog");
if(dialog.data("dialog"))
dialog.dialog("open");
else
dialog.dialog();
});
$("a[href^=contact]").live("click", function (e) {
e.preventDefault();
var dialog =
$(document).data("dialog") ||
$(document)
.data("dialog", $("#dialog").dialog({autoOpen: false}))
.data("dialog");
dialog.dialog("open");
});
CONTEXTUAL jQuery Doug Neiner
24. WRITE CODE LIKE YOU
SPEND MONEY
Opt to pay a little more later so you
don't risk losing it all on something that never happens.
CONTEXTUAL jQuery Doug Neiner
31. WHICH IS FASTER?
$(this)
.closest("form")
.nextAll("nav:first")
.hide();
$("#form‐nav").hide()
CONTEXTUAL jQuery Doug Neiner
32. FILTER METHODS
• filter
• eq
• first
• slice
• has
• not
CONTEXTUAL jQuery Doug Neiner
33. NOT VS IS
if( $("a").not("a") ){
alert("Why does this work?");
}
if( $("a").is(":not(a)") ){
alert("This won't show... phew!");
}
// or
if( !$("a").is("a") ) {
alert("This won't show either!");
}
CONTEXTUAL jQuery Doug Neiner
39. CONVENTIONS ARE PATTERNS
• You can build them yourself
• They need to be consistent (or they aren't patterns)
• They are a promise you make
• They can change between projects
• They need to work for you!
CONTEXTUAL jQuery Doug Neiner
40. DON'T THINK OF IDS AND
CLASSES AS YOUR FIRST LINE
OF ATTACK!
CONTEXTUAL jQuery Doug Neiner
42. EXAMPLE CODE
$("a[href$=preview], a[href$=edit]").live("click", function (e) {
e.preventDefault();
var $this = $(this),
parts = $this.attr('href').split('/'),
id = parts[2],
action = parts[3],
author = $this.closest("div").find("cite").html();
if (action === "preview") {
...
}
});
CONTEXTUAL jQuery Doug Neiner
43. WRITE CODE LIKE YOU
ASK FOR DIRECTIONS
Try to get there on your own first!
CONTEXTUAL jQuery Doug Neiner
44. IN REVIEW
• Don't spend resources early, strive for just-in-time wherever
possible.
• Don't be afraid to use complex selectors in the right settings.
• Think twice before adding IDs or classes to your markup. See
if there is another way first.
• Always write your code with reusability in mind. Think in
conventions as you work.
CONTEXTUAL jQuery Doug Neiner
1) bind before DOM ready, events captured quickly
2) Purchase tickets to every conference in 2011 just in case you attend
3) Follow a convention to reduce your code. Why reconfigure code all the time.