This document provides an overview of jQuery, including:
- What jQuery is and some of its core features like cross-browser compatibility
- The basics of jQuery including extending DOM objects, DOM manipulation, selectors, and iterations
- How to handle events, animations, asynchronous requests, and plugins
- Examples are provided for many jQuery concepts like DOM manipulation, events, and plugins
jQuery Data Manipulate API - A source code dissecting journeyHuiyi Yan
Represent major data manipulate API in jQuery 1.6; such as .data(), removeData(), index(), globalEval() and so no. Also, HTML5 data-* attributes. I will walk you through with diving into jQuery source code and find out the killing techniques used in jQuery.
jQuery Data Manipulate API - A source code dissecting journeyHuiyi Yan
Represent major data manipulate API in jQuery 1.6; such as .data(), removeData(), index(), globalEval() and so no. Also, HTML5 data-* attributes. I will walk you through with diving into jQuery source code and find out the killing techniques used in jQuery.
jQuery is drawing newcomers to JavaSCript in droves. As a community, we have an obligation -- and it is in our interest -- to help these newcomers understand where jQuery ends and JavaScript begins.
Powerful JavaScript Tips and Best PracticesDragos Ionita
Javascript Best Practices, IIFE, Immediately invoked function expressions, typeof, instanceof, constructor, random items from an array, generate an array of numbers, append an array to another array, is a number, is an array, remove an item from an array
Callbacks, Promises, and Coroutines (oh my!): Asynchronous Programming Patter...Domenic Denicola
This talk takes a deep dive into asynchronous programming patterns and practices, with an emphasis on the promise pattern.
We go through the basics of the event loop, highlighting the drawbacks of asynchronous programming in a naive callback style. Fortunately, we can use the magic of promises to escape from callback hell with a powerful and unified interface for async APIs. Finally, we take a quick look at the possibilities for using coroutines both in current and future (ECMAScript Harmony) JavaScript.
How do you create applications with an incredible level of extendability without losing readability in the process? What if there's a way to separate concerns not only on the code, but on the service definition level? This talk will explore structural and behavioural patterns and ways to enrich them through tricks of powerful dependency injection containers such as Symfony2 DIC component.
Replacing dependents with doubles is a central part of testing that every developer has to master. This talk goes over the different types of doubles and explains their place in testing, how to implement them in a mainstream mocking framework, and which strategies or doubles to use in different message exchange scenarios between objects. After this talk you will have moved a step forward in your understanding of testing in the context of object oriented programming.
Symfony World - Symfony components and design patternsŁukasz Chruściel
There are so many Symfony components already, and they have some pretty neat perks. But have you seen them in action?
Design patterns are not a silver bullet. They will never resolve your problem on their own. On the other hand, design patterns provide a common ground for developers without going into details and could be used as building bricks to solve some more advanced problems.
During my presentation, I will take a closer look and explain the appliance of selected design patterns. What is more, I will take advantage of the Symfony ecosystem to implement them with ease.
I will do the presentation on sample code that developers will understand at all levels of expertise.
Software development is riddled with explicit and implicit costs. Every decision you make has a cost attached to it. When you're writing code, you're making an investment, the size of which will for a long time define the costs of your future growth. In this talk you will learn how to see, understand and game some of these forces in your favour.
Software development is riddled with explicit and implicit costs. Every decision you make has a cost attached to it. When you're writing code, you're making an investment, the size of which will for a long time define the costs of your future growth. Making right decision about these investments is very tricky and the cost of wrong decisions might be crippling for both business and teams that support it.
Extreme Programming and Test Driven Development in particular are practices that are aiming at supporting development effort by making it easier to introduce change. That said, sometimes those tools can become a problem of its own when applied in the wrong way or for the wrong context. Understanding software cost forces is a very important skill of successful teams and something that helps understand how to apply XP and TDD in different contexts.
Ten useful JavaScript tips & best practicesAnkit Rastogi
In this presentation there are ten useful JavaScript techniques which can be included in your application easily with less friction along with some AngularJs tips and best practices as a bonus. These tips and best practices are accompanied by examples & will cover script loading, design pattern, performance optimization and other areas.
Since best practices are very subjective topics, proper benchmarking needs to be done.
jQuery is drawing newcomers to JavaSCript in droves. As a community, we have an obligation -- and it is in our interest -- to help these newcomers understand where jQuery ends and JavaScript begins.
Powerful JavaScript Tips and Best PracticesDragos Ionita
Javascript Best Practices, IIFE, Immediately invoked function expressions, typeof, instanceof, constructor, random items from an array, generate an array of numbers, append an array to another array, is a number, is an array, remove an item from an array
Callbacks, Promises, and Coroutines (oh my!): Asynchronous Programming Patter...Domenic Denicola
This talk takes a deep dive into asynchronous programming patterns and practices, with an emphasis on the promise pattern.
We go through the basics of the event loop, highlighting the drawbacks of asynchronous programming in a naive callback style. Fortunately, we can use the magic of promises to escape from callback hell with a powerful and unified interface for async APIs. Finally, we take a quick look at the possibilities for using coroutines both in current and future (ECMAScript Harmony) JavaScript.
How do you create applications with an incredible level of extendability without losing readability in the process? What if there's a way to separate concerns not only on the code, but on the service definition level? This talk will explore structural and behavioural patterns and ways to enrich them through tricks of powerful dependency injection containers such as Symfony2 DIC component.
Replacing dependents with doubles is a central part of testing that every developer has to master. This talk goes over the different types of doubles and explains their place in testing, how to implement them in a mainstream mocking framework, and which strategies or doubles to use in different message exchange scenarios between objects. After this talk you will have moved a step forward in your understanding of testing in the context of object oriented programming.
Symfony World - Symfony components and design patternsŁukasz Chruściel
There are so many Symfony components already, and they have some pretty neat perks. But have you seen them in action?
Design patterns are not a silver bullet. They will never resolve your problem on their own. On the other hand, design patterns provide a common ground for developers without going into details and could be used as building bricks to solve some more advanced problems.
During my presentation, I will take a closer look and explain the appliance of selected design patterns. What is more, I will take advantage of the Symfony ecosystem to implement them with ease.
I will do the presentation on sample code that developers will understand at all levels of expertise.
Software development is riddled with explicit and implicit costs. Every decision you make has a cost attached to it. When you're writing code, you're making an investment, the size of which will for a long time define the costs of your future growth. In this talk you will learn how to see, understand and game some of these forces in your favour.
Software development is riddled with explicit and implicit costs. Every decision you make has a cost attached to it. When you're writing code, you're making an investment, the size of which will for a long time define the costs of your future growth. Making right decision about these investments is very tricky and the cost of wrong decisions might be crippling for both business and teams that support it.
Extreme Programming and Test Driven Development in particular are practices that are aiming at supporting development effort by making it easier to introduce change. That said, sometimes those tools can become a problem of its own when applied in the wrong way or for the wrong context. Understanding software cost forces is a very important skill of successful teams and something that helps understand how to apply XP and TDD in different contexts.
Ten useful JavaScript tips & best practicesAnkit Rastogi
In this presentation there are ten useful JavaScript techniques which can be included in your application easily with less friction along with some AngularJs tips and best practices as a bonus. These tips and best practices are accompanied by examples & will cover script loading, design pattern, performance optimization and other areas.
Since best practices are very subjective topics, proper benchmarking needs to be done.
Google Back To Front: From Gears to App Engine and Beyonddion
I had the privilege of giving a Yahoo! Tech Talk at their HQ in Sunnyvale. I spoke on Gears, App Engine, and other technologies such as the Ajax Libraries API and Doctype.
In this talk I demonstrated how easy Dojo is integrating into the Adobe AIR runtime. Using a performance analysis tool I demonstrated how to use charting, grids and other features of Adobe AIR and the Dojo Toolkit
Practical tips for dealing with projects involving legacy code. Covers investigating past projects, static analysis of existing code, and methods for changing legacy code.
Presented at PHP Benelux '10
jQuery Tips and Trick by NagaHarish on 21 Jan 2012... For the Demos given in this slides refer
https://github.com/anubavam-techkt/jQuery-tricks-tips-nagaharish
Refactoring, Agile Entwicklung, Continuous Integration – all diese für nachhaltigen Erfolg wichtigen Vorgehensweisen setzen Erfahrung mit Unit Testing voraus. Abseits von den üblichen "Bowling"-Beispielen möchten wir gerne einen Crashkurs inkl. Best Practices für das erfolgreiche Unit Testing durchführen. Anhand eines Beispielprojekts auf Basis des Zend Frameworks werden wir nach der Installation von PHPUnit auf allen Notebooks gemeinsam eine kleine Applikation aufbauen, die durchgehend Test-driven entwickelt wird.
JQuery became more and more polular over the years. Luckily this was somehow forseen by the inventors and they introduces a set of guidelines how plugins are to be developed in terms of encapsulation, behavior to the framework, et al. These guidelines are reflected in the 'golden rules of plugin development'.
This presentation is all about them.
The most hated thing a developer can imagine is writing documentation. But on the other hand nothing can compare with a well sorted documentation, in case you want to change or extend something or just want to get into the topic again. We all know, there is no major way how to do documentation, but there a number of principles and todos which makes it much easier for you. This talk is not about tools, like phpDocumentor, nor is it about promoting a special way of documentation. It is about some of the thoughts you should have gone through, before and when writing documentation.
Early in year 2000 Robert C. Martin, aka "Uncle Bob", introduced his thoughts in an article about some of five basic principles on object oriented programming to the open world. What he probably did not expect was, that this 5 principles became the standard for object oriented programming.
This Talk is about those principles: Single responsibility, Open/close, Liskov substitution, Interface segregation, and Dependency inversion, or shorter S.O.L.I.D. principles. It will give you an introduction about these principles, their meaning, and where they should be recognized and applied. Examples from my daily work will show you the practical aspects of those principles.
A lot of people using PHPunit for testing their source code. While I was observing my team I recognized most of them are only using the standard assertions like 'assertEquals()' and are complaining about how hard it is to test the code even when the tests are written first. This talk is about all the stuff not used on a daily basis and it digs deep into uncommon features of PHPUnit.
A lot of people using PHPunit for testing their source code. While I was observing my team
I recognized most of them are only using the standard ssertions like 'assertEquals()' or
'assertTrue()' and are complaining about how hard it is to test the code even when the tests are written first. This talk is about all the stuff not used on a daily basis. It shows you some nice features of PHPUnit and how to use them for your benefit.
Everyone is talking about test driven development (TDD) being so cool and elaborating for both developers and persons responsible for the projects success ( like project managers, project owners, and customers ). But very few projects are using TDD to gain its relieving aspects. How does that go along? Seems many project responsibles are uncertain about the efforts and direct benefits of TDD and step back. This talk is about a transition from a usual project to TDD. Within this talk I will raise some questions to be answered before moving and show the benefits of TDD for each party of the project setup. We will find possible impediments to be faced and will see how to get rid of them.
jQuery is one of the most used javaScript frameworks. It provides almost every feature a modern framework should give you (e.g. like easy extentability). This talk will not be about these obvious features, but it goes for the not so exposed features, like jQuery.data(). It give you a detail tour how these function works and why they might be handy.
The most hated thing a developer can imagine is writing documentation but on the other hand nothing can compare with a well documented source code if you want to change or extend some code. PhpDocumentor is one of many tools enabling you to parse the inline documentation and generate well structured and referenced documents. This tallk will show you how to get the most out of phpDocumentor and shall enable you to write fantastic documentation.
A lot of people using PHPunit for testing their source code. While I was observing my team
I recognized most of them are only using the standard assertions like 'assertEquals()' or 'assertTrue()' and are complaining about how hard it is to test the code even when the tests are written first. This talk is about all the stuff not used on a daily basis. It shows you some nice features of PHPUnit and how to use them for your benefit.
Advanced Eclipse Workshop (held at IPC2010 -spring edition-)Bastian Feder
So wie sich PHP weiterentwickelt, so entwickelt sich auch die Art der Programmierung weiter. Die Zeiten sind vorbei, in denen PHP nur von Hobbyprogrammierern genutzt wurde. Doch mit dem Anspruch an die Projekte steigt auch der Anspruch bei der Entwicklung. Schnell wird hierbei auf eine leistungsstarke IDE wie Eclipse PDT, Zend Studio oder Netbeans zurückgegriffen. Doch wie sieht eine anspruchsvolle Entwicklung mit solch einer IDE aus? Dieser Workshop wird Ihnen am Beispiel von der IDE Eclipse PDT demonstrieren, wie solch eine Entwicklung aussehen kann. Im Detail wird Ihnen gezeigt, wie Sie mittels SVN und Subversive Ihren Code mit mehreren Leuten gemeinsam pflegen und entwickeln und wie Sie die Entwicklungsumgebung Ihren Bedürfnissen anpassen, um z.B. mittels phing eigene Build-Prozesse anstoßen zu können. Damit Sie direkt eigene Erfahrungen sammeln können, würden wir Ihnen herzlich anraten, Ihren Laptop mitzubringen. Um zeitraubenden Installationen vorzubeugen, wird Ihnen ein Ubuntu in Form einer Live-CD bereitgestellt. Teilnehmer mit bestehender Linux-Installation und entsprechenden Rechten können ihr System während des Workshops direkt für den täglichen Gebrauch einrichten.
Von Entwicklern zu tiefst verachtet und in vielen Situationen dennoch heiß geliebt, ist eine ausführliche Dokumentation des Quellcodes. Grade, wenn es um die Anpassung und/oder Erweiterung von legacy Code geht, wird der Ruf nach Dokumentation laut.
PhpDocumentor ist eines von vielen Tools, die uns Entwicklern das dokumentatorische Leben etwas leichter machen können. Es scannt den Quellcode nach Annotationen, Vererbungen, etc. und generiert strukturierte Dokumentationen daraus.
Dieser Vortrag stellt PhpDocumentor im Detail vor und geht nicht nur auf die zahlreichen Möglichkeiten dieses Tools ein, sondern zeigt detailliert anhand von Beispielen, wie diese optimal eingesetzt werden können.
Debugging PHP with xDebug inside of Eclipse PDT 2.1Bastian Feder
Integrated development plattforms (IDEs) like Eclipse or Netbeans do get more popular these days.
One cause might be the beautiful benefits a developer gains from using an IDE like a type history or a code completion.
This talk shall enable the attendee to get knowleadge about the possibilites of Eclipse PDT to use xDebug as internal debugger
It shows howto install xDebug and give a deep introduction about how to enable Eclipse PDT version 2 to communicate with xDebug.
Another topic of this talk would be the different debugging mechanism Eclipse PDT provides and how they work.
Was Java-Entwickler schon lange nutzen und nicht mehr missen wollen, findet immer
mehr, wenn auch skeptischen, Zuspruch in der PHP Entwicklergemeinde. Integrierte
Enticklungsumgebungen (IDEs), wie Eclipse und Netbeans, werden immer beliebter in der
PHP Szene. Dies sind nicht zuletzt die hervorragenden Vorteile, wie eine automatische
Codevervollständigung oder ein Vererbungsbaum, die eine IDE mit sich bringt, schuld.
Jedoch, es ist nicht alles Gold, was glänzt.
Wenn man sich dazu entschlieflt eine IDE zu nutzen, stellt man schnell fest, dass auch
diese so ihre Eigenheiten hat, auf die man sich einstellen muss.
Dieser Workshop wird Ihnen den Um- und Einstieg in die qualifizierte und effektive
Nutzung integrierter Entwicklungssysteme nahe bringen.
Am Beispiel der Eclipse IDE für PHP Entwicklung (Eclipse PDT 2.0), werden Ihnen der
grundsätzliche Aufbau und Funktionsweisen erklärt. Darüberhinaus zeigt der Workshop,
die Installation, Konfiguration und die Erweiterungsmöglichkeiten der Eclipse IDE.
Im Detail werden Ihnen die Integration von phpDokumentor und xDebug in die
Entwicklungsumgebung gezeigt.
Das Ziel dieses Workshops ist es, Sie fit für Ihre tägliche Arbeit zu machen, deshalb
wird Ihnen herzlich angeraten ihren Laptop mit zubringen, um bereitgestellte Übungen
nachvollziehen und durchführen zu können. Um zeitraubenden Installationen vorzubeugen
wird Ihnen ein Ubuntu in Form eines VMware-oder Virtualbox-Images bereitgelegt.
Teilnehmer mit bestehender Linux-Installation und entsprechenden Rechten können ihr
System während des Workshops direkt für den täglichen Gebrauch einrichten.
The most hated thing a developer can imageine is writing documentation but on the other hand nothing can compare with a well documented source code if you want to change or extend some code. PhpDocumentor is one of many tools enabling you to parse the inline documentation and generate well structured and referenced documents. This tallk will show you how to get the most out of phpDocumentor and shall enable you to write fantastic documentation.
In late december 2008 the Eclipse Foundation and the PDT developer team released the Eclipse PHP Development Platform version 2.0. This release comes with a number of enhancements and improvements to the prior version of PDT.
This talk is about these changes. It also gives you an introduction how to prepare your Eclipse PDT workspace to be an accessible and provding companion for your daily work by integrating xDebug, subversive and phpDocumentor using the external tools platform.
Ajax hands on - Refactoring Google SuggestBastian Feder
Die Entwicklung interaktiver Internetseiten und -applikationen (RIAs) schreitet unaufhörlich voran. Nicht zuletzt Google hat sich schon sehr früh mit sehr innovativen Ideen (Mail, Kalender etc.) und deren Umsetzung einen Platz unter den Großen der Internetgemeinde reserviert. Eine Idee hat meines Erachtens die Benutzbarkeit und Anwenderfreundlichkeit von RIAs entscheidend beeinflusst - Google Suggest. Dieser Workshop beschäftigt sich im Detail mit der Erstellung einer solchen Vorschlagsfunktion. Er betrachtet verschiedene JavaScript Frameworks und Bibliotheken und deren Herangehensweisen an diese Aufgabenstellung. Eine kurze Gegenüberstellung von XML und JSON zeigt den Teilnehmern deren Vor- und Nachteile in verschiedenen Situationen der Client-Server-Kommunikation. Eine Betrachtung aus der Usability-Ecke ist ebenso Bestandteil des Workshops wie die Berücksichtigung von Sicherheit und Barrierefreiheit.
Search and Society: Reimagining Information Access for Radical FuturesBhaskar Mitra
The field of Information retrieval (IR) is currently undergoing a transformative shift, at least partly due to the emerging applications of generative AI to information access. In this talk, we will deliberate on the sociotechnical implications of generative AI for information access. We will argue that there is both a critical necessity and an exciting opportunity for the IR community to re-center our research agendas on societal needs while dismantling the artificial separation between the work on fairness, accountability, transparency, and ethics in IR and the rest of IR research. Instead of adopting a reactionary strategy of trying to mitigate potential social harms from emerging technologies, the community should aim to proactively set the research agenda for the kinds of systems we should build inspired by diverse explicitly stated sociotechnical imaginaries. The sociotechnical imaginaries that underpin the design and development of information access technologies needs to be explicitly articulated, and we need to develop theories of change in context of these diverse perspectives. Our guiding future imaginaries must be informed by other academic fields, such as democratic theory and critical theory, and should be co-developed with social science scholars, legal scholars, civil rights and social justice activists, and artists, among others.
"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.
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.
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Tobias Schneck
As AI technology is pushing into IT I was wondering myself, as an “infrastructure container kubernetes guy”, how get this fancy AI technology get managed from an infrastructure operational view? Is it possible to apply our lovely cloud native principals as well? What benefit’s both technologies could bring to each other?
Let me take this questions and provide you a short journey through existing deployment models and use cases for AI software. On practical examples, we discuss what cloud/on-premise strategy we may need for applying it to our own infrastructure to get it to work from an enterprise perspective. I want to give an overview about infrastructure requirements and technologies, what could be beneficial or limiting your AI use cases in an enterprise environment. An interactive Demo will give you some insides, what approaches I got already working for real.
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on the notifications, alerts, and approval requests using Slack for Bonterra Impact Management. The solutions covered in this webinar can also be deployed for Microsoft Teams.
Interested in deploying notification automations for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
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.
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Ramesh Iyer
In today's fast-changing business world, Companies that adapt and embrace new ideas often need help to keep up with the competition. However, fostering a culture of innovation takes much work. It takes vision, leadership and willingness to take risks in the right proportion. Sachin Dev Duggal, co-founder of Builder.ai, has perfected the art of this balance, creating a company culture where creativity and growth are nurtured at each stage.
Let's dive deeper into the world of ODC! Ricardo Alves (OutSystems) will join us to tell all about the new Data Fabric. After that, Sezen de Bruijn (OutSystems) will get into the details on how to best design a sturdy architecture within ODC.
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
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
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.
2. Me, myself and I
application developer
PHP since 2001
JavaScript since 2002
papaya CMS since
01.2008
Bastian Feder | papaya Software GmbH 2
3. What's this all about?
What is this jQuery?
All about the basics
Animation and user interaction
Event-handling – capability
Handling asynchronous requests
Plug-ins – an overview
Examples
Conclusion
Bastian Feder | papaya Software GmbH 3
4. What's this jQuery?
„jQuery is a fast, concise, JavaScript Library that
simplifies how you traverse HTML documents,
handle events, perform animations, and add Ajax
interactions to your web pages.“
(www.jquery.com)
Bastian Feder | papaya Software GmbH 4
5. jQuery – some features
Crossbrowser compatible
(IE 6.0+, FF 2+, Safari 2.0+, Opera 9.0+)
CSS3 ready
outstanding features:
▹ ability to queue effects
▹ user defined animations
▹ unobtrusiveness in coexistence with other JS
libraries or frameworks (e.g. prototype)
Bastian Feder | papaya Software GmbH 5
6. All about the basics
interoperability
extending the DOM object
DOM Manipulation
selectors
iterations
Bastian Feder | papaya Software GmbH 6
7. Interoperability
overriding $() <html>
<head>
<script src=quot;prototype.jsquot;></script>
including jQuery <script src=quot;jquery.jsquot;></script>
<script>
before other libraries
var $j = jQuery.noConflict();
// Use jQuery via $j(...)
$j(document).ready(function(){
referencing magic- $j(quot;divquot;).hide();
});
shortcuts // Use Prototype with $(...), etc.
$('someid').hide();
</script>
</head>
<body></body>
</html>
Bastian Feder | papaya Software GmbH 7
8. Extending the DOM
$(selector, scope)
▹ simplifies the selection of DOM elements
▹ extends the DOM node with jQuery methods
$(document).ready(callback);
▹ ensures the javascript will be executed after
document has been loaded completely
Bastian Feder | papaya Software GmbH 8
18. Request handling -
example
Live demo
Bastian Feder | papaya Software GmbH 18
19. Plug-ins – an overview
mechanism for adding in methods and functionality
things to remember when writing plugins:
▹ names convention (jquery.[nameOfPlugin].js)
▹ methods are attached to jQuery.fn object
▹ function are attached to jQuery object
▹ inside methods 'this' is a reference to current jQuery object
▹ your method must return the jQuery object, unless explicity noted
otherwise.
▹ use jQuery instead of $ inside your plugin code - that allows users to
change the alias for jQuery in a single place.
Bastian Feder | papaya Software GmbH 19
20. Plug-ins – an example
/**
* calculates the number to a human readable format
*
* calculation taken from papaya-cms {@link http://www.papaya-cms.com}
*/
jQuery.fn.toHumanReadable = function() {
var size = this.text();
var unit;
if (size > 10000000000) {
size = (Math.round(size / 1073741824 * 100) / 100);
unit = 'GB';
} else if (size > 10000000) {
size = (Math.round(size / 1048576 * 100) / 100)
unit = 'MB';
} else if (size > 10000) {
size = (Math.round(size / 1024 * 100) / 100)
unit = 'kB';
} else {
size = Math.round(size)
unit = 'B';
}
size = size.toString();
var p = size.lastIndexOf('.');
if (p > 0) {
var i = 2 - size.length + p + 1;
while (i > 0) {
size = size + '0';
i--;
}
} else {
size = size + '.00';
}
return this.text(size + ' ' + unit);
}
Bastian Feder | papaya Software GmbH 20
21. Conclusion
jQuery is ..
▹ an extensive javascript library with an huge
amount of functionallity
▹ very easy to learn and use
▹ pretty good documented
▹ easy to extend by writing plug-ins
Bastian Feder | papaya Software GmbH 21
22. References
jQuery website (http://www.jquery.com)
A List Apart: DOM Design Tricks I/II
(http://www.alistapart.com/articles/domtricks2)
Selfhtml (http://de.selfhtml.org; sorry german only)
slides soonish on slideshare
(http://www.slideshare.com/lapistano)
Bastian Feder | papaya Software GmbH 22
23. License
This set of slides and the source code included in
the download package is licensed under the
Creative Commons Attribution-Noncommercial-
Share Alike 2.0 Generic License
http://creativecommons.org/licenses/by-nc-sa/2.0/deed.en
Bastian Feder | papaya Software GmbH 23