This document discusses the history and benefits of Scalable Vector Graphics (SVG) and how SVG rendering has evolved in Ember.js. It explains that SVG was standardized by the W3C in 1998 in response to competing vector formats. Benefits of SVG include small file sizes, arbitrary resolution, and ability to include metadata, links and animation. The document then summarizes the evolution of how Ember renders templates, moving from rendering templates as strings to directly manipulating the DOM with objects like HTMLBars. It discusses challenges of managing namespaces and contexts when rendering templates directly to the DOM.
A look at how HTML5 aims to plug the holes that Flash has been filling in browsers for the last decade, looking at both HTML5 and non-HTML5 JavaScript APIs.
For Flash Brighton in Feb 2010.
Rails, Postgres, Angular, and Bootstrap: The Power StackDavid Copeland
Rails, Postgres, Angular, and Bootstrap are all powerful technologies in and of themselves. When used together, however, you get a powerful web application development stack that reduces friction between what you want for your users and what you can deliver.
This document provides an introduction to FuncUnit, a JavaScript functional testing framework. It discusses barriers to testing JavaScript applications, how FuncUnit addresses these barriers through its easy to use API and ability to simulate user interactions across browsers. It also provides examples of using FuncUnit to test applications written with jQuery and without page reloads.
The document discusses the messy and buggy state of the DOM across browsers and strategies for writing cross-browser JavaScript code. It notes that nearly every DOM method has bugs or inconsistencies in some browsers. It then covers strategies like feature detection, graceful fallback for missing features, simulating features via workarounds, monitoring for regressions, and having a robust test suite to prevent regressions in one's own code. The overall message is that the DOM is messy and one needs to "know your enemies" by thoroughly testing code in all target browsers.
The document discusses the capabilities of HTML5 for building offline applications. It mentions several HTML5 features that enable offline functionality, including application cache, manifest files, and offline events. Application cache allows caching assets defined in a manifest file so the application can work offline. The offline event fires when the browser loses internet connectivity, informing the application it is now offline.
An introduction to Figaro, the XML Database for the .NET Framework, and a solution overview of an ASP.NET MembershipProvider built with the XML database.
This document describes how to make a DIY Frozen-inspired Elsa snow globe craft. It lists the necessary supplies which include an Elsa figurine and a large canning jar. The instructions state to place the Elsa figurine inside the jar and fill with glitter or shredded paper to resemble snow when the jar is shaken.
The document discusses the Dojo build system which optimizes JavaScript applications by compressing files, combining files into one, resolving CSS imports, and removing unnecessary code and whitespace. It describes build profiles that specify layers and modules, and options for the build script like optimization settings. Running the build script cleans and releases an optimized version of the application to improve loading performance.
the 5 layers of web accessibility - Open Web Camp IIDirk Ginader
Dirk Ginader, part of the Yahoo! Accessibility Taskforce, will talk about the “5 Layers of Web Accessibility”. He extents the commonly known 3 layers model consisting of HTML, CSS and JavaScript with 2 new layers for more accessibility. He shows how easy it can be to make a website or web application more accessible by following simple rules.
see:
http://openwebcamp.org/agenda/#5_layers_of_accessibility
HTML5 is all the rage with the cool kids, and although there’s a lot of focus on the new language, there’s plenty for web app developers with new JavaScript APIs both in the HTML5 spec and separated out as their own W3C specifications. This session will take you through demos and code and show off some of the outright crazy bleeding edge demos that are being produced today using the new JavaScript APIs. But it’s not all pie in the sky – plenty is useful today, some even in Internet Explorer!
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.
This document provides an introduction to HTML5 and summarizes its new features. It describes the new HTML5 doctype, new semantic elements like header, nav, section and article, new form input types like color and date, support for embedded video and audio, the canvas element for drawing, the history API for manipulating the browser history, local storage for persistent data, web workers for background processing, and links to additional HTML5 resources. The document serves as an overview of the new capabilities introduced in HTML5.
1. The document discusses the steps needed to deploy a web application including choosing a web host, domain name, web server, database, and technologies.
2. It recommends using a virtual private server or shared web host to avoid maintaining physical infrastructure, and choosing technologies like Apache, MySQL, and Python/Django based on your specific application needs and comfort level.
3. Key steps include buying a domain name, configuring the domain to point to your web server's IP address, setting up the Apache web server with mod_wsgi to run Django projects, and configuring Django to use a MySQL database.
This document discusses jQuery UI and plugins. It provides an overview of jQuery UI classes that can be used to style elements. It also demonstrates several common jQuery UI widgets like buttons, accordions, dialogs, and tabs. The document discusses jQuery UI effects for animations and transitions. It provides tips for identifying good plugins based on aspects like their API, documentation, support, and community. Overall, the document is an introduction to using jQuery UI and evaluating jQuery plugins.
Beyond PHP - it's not (just) about the codeWim Godden
Most PHP developers focus on writing code. But creating Web applications is about much more than just writing PHP. Take a step outside the PHP cocoon and into the big PHP ecosphere to find out how small code changes can make a world of difference on servers and network. This talk is an eye-opener for developers who spend over 80% of their time coding, debugging and testing.
2014 database - course 3 - PHP and MySQLHung-yu Lin
This document discusses connecting to a MySQL database from PHP. It explains how to establish a database connection, perform queries like INSERT, SELECT, UPDATE and DELETE, and handle query results. It emphasizes that using prepared statements prevents SQL injection attacks. It also covers password hashing to securely store passwords in the database by hashing them with a random salt.
jQuery For Beginners - jQuery Conference 2009Ralph Whitbeck
This document outlines a presentation on beginning jQuery. It introduces jQuery, its history and core team. It also covers how to set up jQuery and explains its core functionality, including selecting elements, manipulating the DOM, AJAX, and events.
This document discusses JavascriptMVC, an alternative Javascript MVC framework to BackboneJS. It provides an overview of JavascriptMVC's features such as MIT licensing, clear documentation, and providing an almost total solution for building web applications. Potential pros include the licensing, documentation, and comprehensive features. Potential cons include it being less well known and having fewer online resources than BackboneJS in Taiwan. Examples of how it handles classes, CSS, data loading/validation, and views are also provided.
The document discusses using the Google Custom Search API to build a web application for searching definitions from the SML Basis Standard Library. It provides steps to generate a code snippet from the Google Custom Search and paste it into a page to display search results. It also describes using the Google JavaScript API to make search requests from the client-side and process the results by displaying them on the page while avoiding cross-domain errors.
Everything is Awesome - Cutting the Corners off the WebJames Rakich
The web is awesome despite it's detractors. But we can't forget our fundamentals when we're trying to forge ahead with new tech. This talk is about how to approach the building blocks of the web in a way that takes advantage of their strengths and avoids their weaknesses.
Web Performance Part 4 "Client-side performance"Binary Studio
The presentation is devoted to client side performance of a web app. All 4 presentations will help you reduce latency, enrich optimization of javascript code, discover tricky parts when working with API browser, see best practices of networking and learn lots of other important and interesting things. Enjoy! =)
[Slides from my 'Edge of the Web' workshop]
The web platform has evolved significantly over the last several years, giving developers more power than ever to create rich, interactive applications delivered via browsers. New capabilities in HTML, CSS and JavaScript paired with constantly updating browsers make it possible to do things on the web that used to be the exclusive domain of plugins and native apps. In this workshop, you’ll be introduced to some of the most powerful and useful techniques available to the modern web developer that will change the way you think about web app development.
The future of web app development is exciting, and these are the technologies that will underpin and drive that change. Don’t get left behind with IE8-era knowledge. Get ahead of the curve and master the edge of the web.
This document summarizes best practices for optimizing JavaScript performance. It discusses loading JavaScript asynchronously or lazily to avoid blocking page loads. It also recommends minimizing DOM manipulation, batching style changes, and caching references to reduce reflows and repaints. The document emphasizes measuring performance through tools like Benchmark.js and jsperf.com to avoid premature optimization. It cautions against unnecessary shims and polyfills and stresses optimizing for mobile environments.
HTML 5 is the latest version of the HTML standard. It includes several new elements and features to improve structure and behavior. Some key changes include new semantic elements like <article>, <aside>, <header>, and <footer>; built-in support for audio and video; the <canvas> element for drawing graphics; and forms with new input types. HTML 5 aims to simplify HTML and separate structure and presentation, making code cleaner and pages more accessible. It is developed jointly by the WHATWG and W3C organizations.
The document provides an overview of HTML5 and how to implement it with Drupal 7. It discusses new HTML5 elements, attributes, and forms; how to make Drupal 7 themes responsive with HTML5; differences between HTML4, XHTML, and HTML5; and how to use CSS3 with HTML5 for effects like shadows and gradients. The document includes links to HTML5 tools and resources for Drupal and recommends familiarity with HTML, CSS, Drupal theming, and modern browsers.
The document provides an overview of HTML5 including:
- New tags such as article, aside, audio, canvas, and video
- The structure of an HTML5 page including the doctype, meta charset, and link types
- Forms with new input types and validation attributes
- Playing audio and video with HTML5 tags and controlling them with JavaScript
- Drawing graphics on a canvas using JavaScript
- Web workers for running scripts in background threads
- Options for data storage including web storage, web SQL, and IndexedDB
The tutorial provides instructions for getting started with Gaelyk, a framework for building Groovy applications on Google App Engine. It explains how to set up a project with the recommended directory structure and configuration files. It also gives an overview of key Gaelyk features like views, controllers, routing, and integration with App Engine services.
This document discusses visualizing data with HighCharts or D3 JavaScript libraries. It provides an agenda that includes an introduction, benefits of using these libraries, requirements, and a sample code example. The example uses SAS code to transform stock data from sashelp.stocks into JSON format and then visualize it on a web page using HighCharts to allow dynamic adjustment of time periods for the time series data. Key steps and considerations for implementing this solution are outlined.
HTML5 (and friends) - History, overview and current status - jsDay Verona 11....Patrick Lauke
1. HTML5 provides new semantic elements like header, footer, nav and article that improve accessibility and help structure documents. It also extends existing APIs and adds new APIs for multimedia, geolocation, offline storage and more.
2. HTML5 introduces new form input types for dates, times, numbers and more. It also provides built-in form validation without JavaScript.
3. The <video> and <audio> elements allow native playback of multimedia across browsers without plugins. The <canvas> element allows dynamic drawing via JavaScript.
4. While still evolving, many HTML5 features can be used today through progressive enhancement and feature detection. It offers developers new capabilities for building web applications and interactive experiences on
Introducción rápida a HTML5, repasando brevemente la historia de HTML, qué APIs se añaden a HTML5, y qué avances en HTML, CSS y JavaScript rodean a este estándar.
HTML5 introduces many new features for improving the semantic structure of documents, incorporating multimedia and graphics, and interacting with forms and graphical objects. These include new elements like <video>, <audio>, <canvas>, and <svg> for embedding multimedia and graphics, as well as new form controls. CSS3 also introduces new selectors and properties for effects like rounded corners, shadows, gradients, and transformations. JavaScript APIs allow access to features like geolocation, offline storage, and communication between frames. Browser support for HTML5 features is increasing but not yet complete, so techniques like feature detection and polyfills are recommended.
HTML5 introduces new semantic elements like article, header, nav, and section that divide the content into meaningful regions. It also defines new multimedia elements such as video, audio, and canvas. New form input types and attributes are added for validation. The Canvas API allows dynamic drawing via scripting. The Drag and Drop API supports dragging and dropping elements. Other HTML5 APIs include Geolocation, Web Storage, and Web Workers. Overall, HTML5 provides a powerful set of features for building robust, dynamic web applications.
The document discusses new features in HTML5 including semantic elements like <nav> and <article>, new form input types, multimedia with <video> and <canvas>, offline web apps, CSS3 features like columns and transforms, local storage in JavaScript, and expectations for widespread HTML5 support on mobile devices in 2013.
This document provides an overview of Ember.js, including its core components and goals. It describes the evolution of its templating languages from Handlebars to HTMLBars to Glimmer. It also outlines Ember's release schedule and goals for upcoming versions, focusing on new features like routable components, engines, and Glimmer 2.
This document discusses HTML5 on mobile devices. It begins by explaining why mobile web is growing and why HTML5 is well-suited for mobile. It then provides an overview of what HTML5 is and examples of features like forms, multimedia, geolocation that can be used on mobile. It also discusses considerations for mobile web development like responsive design and frameworks. The document recommends tools for mobile debugging and testing performance.
The document discusses jQuery, a JavaScript library. It provides information on:
- What jQuery is and its main functionality, including DOM scripting, Ajax, user interface effects, and form validation.
- How to get started with jQuery, including downloading the file, adding it to a page via a script tag, and using common selectors like ID, class, and tag name to select elements.
- Common jQuery methods for manipulating elements, like adding and removing classes, traversing the DOM, making GET/POST requests, and loading content via Ajax.
- Ensuring the document is ready before running jQuery code by using the ready function.
So in summary, the document provides an overview
This document provides a summary of HTML5 in Dutch. It discusses the history and evolution of HTML standards from HTML 2.0 to HTML5. It describes several new HTML5 features such as video, audio, canvas, and geolocation. It also covers HTML5 form elements, local storage, and CSS3 features like media queries and fonts. The document emphasizes using HTML5 elements and attributes for their semantic meaning to improve accessibility and search engine optimization.
From Hacker to Programmer (w/ Webpack, Babel and React)Joseph Chiang
The document discusses the challenges of front-end development without proper tools and methodologies. It describes tag soup code that is difficult to read and maintain. It also discusses issues like duplicate code, global variables, lack of module loading and dependencies. The document then introduces concepts like package management, CSS preprocessors, JavaScript module loaders, transpilers and build tools that help address these issues. It argues these tools help create a foundation for building user interfaces and applications in a more efficient and sustainable way.
From the Ember LA meetup in March 2017. This presentation discussed dependency injection in Ember.js as well as the module unification and Glimmer/di projects.
Some demos of Ember DI live-coded during the talk can be found here: https://github.com/mixonic/ember-dependency-injection-demo
Building on the Glimmer rendering engine, Ember continues to make performance and stability dual priorities. Let's discuss what the web looks like in 2017 and how Ember is prepared, and can better prepare, to meet new challenges.
Though component and custom element patterns have become the standard for web application architecture, communicating from one solution to another remains fogged by guesswork and opinion.
How should you write a web component that needs to be compatible with Ember and other frameworks? Where are the tradeoffs between purity of design and ergonomics? In a talk touching on libraries and standards, come learn how to write component code useful across many environments.
For my talk I shared a few recent thoughts about open source communities, how they are influenced by the businesses that adopt their software, and how Ember's priorities can be thought about in 2016. A lot of this talk was inspired by and referenced Larry Wall's essay Diligence, Patience, and Humility (http://www.oreilly.com/openbook/opensources/book/larry.html).
The way JavaScript is standardized and improved is changing this year. Learning how will help you understand why transpilers have become so popular, and why we will likely be using them for a long time.
Ember itself will need to adapt to changes in JavaScript, and we will take a look at how the existing object model might be migrated to a pure EcmaScript solution.
Veteran Ember NYCer Matthew Beale (@mixonic) will talk about the new APIs arriving soon in Ember. He'll cover how he and the rest of the team have implemented block params and bound attributes, and look at how top-level components, attrs, and opt-in two-way binding may look.
Testing Ember Apps: Managing DependencyMatthew Beale
Ember has an amazing testing story built upon the fundamentals of encapsulation and OO programming central to the framework. Despite this, every web application will be dependent upon and need to interact with native and network APIs that are hostile: Unreliable, slow, under-documented, and not to be trusted. The challenge in testing Ember applications lies with how to handle these external entities.
Ember.js is a new JavaScript framework for building ambitiously complex web applications. Taking lessons from the iOS development platform and other JavaScript frameworks that came before it, Ember embraces the idea that our applications are more alike than they are dissimilar. It encourages coding by convention, testing, and MVC patterns.
Building an app on Parse makes your data available via the Parse REST API. Using that API, ember-cli and Ember-Data, I’ll show you how to get started porting your native app to the mobile web.
The live coded demo is here: http://emberjs.jsbin.com/lizep/7/edit?html,js,output
Snappy Means Happy: Performance in Ember AppsMatthew Beale
Ember is fast. Ember Core is working hard to make Ember even faster. So why does your app drag?
The performance of a single-page app is impacted by the performance characteristics of its foundational parts: Network, Rendering, and JavaScript. Ember provides tools to manage these cornerstones, but with the tradeoff of introducing its own characteristics.
In this talk, we will use the source of real, shipped Ember apps (and of Ember itself) to diagnose, understand, and improve slow interactions. The Chrome developer tools will help us understand slow code paths and identify opportunities for improvement. Along the way, we will learn how parts of Ember work at the macro and micro level and learn how the framework helps us manage performance challenges in a browser environment.
This document describes building a single page application for authentication against multiple third party services like Facebook and Windows Live using OAuth2 and without page reloads. It discusses using an OAuth adapter and service-specific adapters to handle the different OAuth grant types and flows. Key parts of the implementation include injecting a session service, opening authentication as a promise, handling the redirect flow with a popup window, and reading the access token from the hash fragment or popup message.
Ember applications are built around an MVC model that prescribes Models, Views, Controllers, and Routes for managing persistence, DOM, application state, and URLs. In an ambitious enough app, that model may fail to cover the whole problem space. Fear not, for in this presentation you will learn how to use Ember’s container and dependency features to move beyond MVC, as well as learning how they tie Ember internals together.
Video: http://www.youtube.com/watch?v=iCZUKFNXA0k&feature=youtu.be&t=1h45m59s
In Ember.js, routes and templates dictate the architecture of your app. This presentation will talk about why this is, and what tools Ember provides to manage architectural complexity.
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...Bert Blevins
Today’s digitally connected world presents a wide range of security challenges for enterprises. Insider security threats are particularly noteworthy because they have the potential to cause significant harm. Unlike external threats, insider risks originate from within the company, making them more subtle and challenging to identify. This blog aims to provide a comprehensive understanding of insider security threats, including their types, examples, effects, and mitigation techniques.
7 Most Powerful Solar Storms in the History of Earth.pdfEnterprise Wired
Solar Storms (Geo Magnetic Storms) are the motion of accelerated charged particles in the solar environment with high velocities due to the coronal mass ejection (CME).
How Social Media Hackers Help You to See Your Wife's Message.pdfHackersList
In the modern digital era, social media platforms have become integral to our daily lives. These platforms, including Facebook, Instagram, WhatsApp, and Snapchat, offer countless ways to connect, share, and communicate.
Details of description part II: Describing images in practice - Tech Forum 2024BookNet Canada
This presentation explores the practical application of image description techniques. Familiar guidelines will be demonstrated in practice, and descriptions will be developed “live”! If you have learned a lot about the theory of image description techniques but want to feel more confident putting them into practice, this is the presentation for you. There will be useful, actionable information for everyone, whether you are working with authors, colleagues, alone, or leveraging AI as a collaborator.
Link to presentation recording and transcript: https://bnctechforum.ca/sessions/details-of-description-part-ii-describing-images-in-practice/
Presented by BookNet Canada on June 25, 2024, with support from the Department of Canadian Heritage.
Sustainability requires ingenuity and stewardship. Did you know Pigging Solutions pigging systems help you achieve your sustainable manufacturing goals AND provide rapid return on investment.
How? Our systems recover over 99% of product in transfer piping. Recovering trapped product from transfer lines that would otherwise become flush-waste, means you can increase batch yields and eliminate flush waste. From raw materials to finished product, if you can pump it, we can pig it.
Mitigating the Impact of State Management in Cloud Stream Processing SystemsScyllaDB
Stream processing is a crucial component of modern data infrastructure, but constructing an efficient and scalable stream processing system can be challenging. Decoupling compute and storage architecture has emerged as an effective solution to these challenges, but it can introduce high latency issues, especially when dealing with complex continuous queries that necessitate managing extra-large internal states.
In this talk, we focus on addressing the high latency issues associated with S3 storage in stream processing systems that employ a decoupled compute and storage architecture. We delve into the root causes of latency in this context and explore various techniques to minimize the impact of S3 latency on stream processing performance. Our proposed approach is to implement a tiered storage mechanism that leverages a blend of high-performance and low-cost storage tiers to reduce data movement between the compute and storage layers while maintaining efficient processing.
Throughout the talk, we will present experimental results that demonstrate the effectiveness of our approach in mitigating the impact of S3 latency on stream processing. By the end of the talk, attendees will have gained insights into how to optimize their stream processing systems for reduced latency and improved cost-efficiency.
Support en anglais diffusé lors de l'événement 100% IA organisé dans les locaux parisiens d'Iguane Solutions, le mardi 2 juillet 2024 :
- Présentation de notre plateforme IA plug and play : ses fonctionnalités avancées, telles que son interface utilisateur intuitive, son copilot puissant et des outils de monitoring performants.
- REX client : Cyril Janssens, CTO d��� easybourse, partage son expérience d’utilisation de notre plateforme IA plug & play.
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-InTrustArc
Six months into 2024, and it is clear the privacy ecosystem takes no days off!! Regulators continue to implement and enforce new regulations, businesses strive to meet requirements, and technology advances like AI have privacy professionals scratching their heads about managing risk.
What can we learn about the first six months of data privacy trends and events in 2024? How should this inform your privacy program management for the rest of the year?
Join TrustArc, Goodwin, and Snyk privacy experts as they discuss the changes we’ve seen in the first half of 2024 and gain insight into the concrete, actionable steps you can take to up-level your privacy program in the second half of the year.
This webinar will review:
- Key changes to privacy regulations in 2024
- Key themes in privacy and data governance in 2024
- How to maximize your privacy program in the second half of 2024
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptxSynapseIndia
Your comprehensive guide to RPA in healthcare for 2024. Explore the benefits, use cases, and emerging trends of robotic process automation. Understand the challenges and prepare for the future of healthcare automation
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...Toru Tamaki
Jindong Gu, Zhen Han, Shuo Chen, Ahmad Beirami, Bailan He, Gengyuan Zhang, Ruotong Liao, Yao Qin, Volker Tresp, Philip Torr "A Systematic Survey of Prompt Engineering on Vision-Language Foundation Models" arXiv2023
https://arxiv.org/abs/2307.12980
The DealBook is our annual overview of the Ukrainian tech investment industry. This edition comprehensively covers the full year 2023 and the first deals of 2024.
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...Chris Swan
Have you noticed the OpenSSF Scorecard badges on the official Dart and Flutter repos? It's Google's way of showing that they care about security. Practices such as pinning dependencies, branch protection, required reviews, continuous integration tests etc. are measured to provide a score and accompanying badge.
You can do the same for your projects, and this presentation will show you how, with an emphasis on the unique challenges that come up when working with Dart and Flutter.
The session will provide a walkthrough of the steps involved in securing a first repository, and then what it takes to repeat that process across an organization with multiple repos. It will also look at the ongoing maintenance involved once scorecards have been implemented, and how aspects of that maintenance can be better automated to minimize toil.
Advanced Techniques for Cyber Security Analysis and Anomaly DetectionBert Blevins
Cybersecurity is a major concern in today's connected digital world. Threats to organizations are constantly evolving and have the potential to compromise sensitive information, disrupt operations, and lead to significant financial losses. Traditional cybersecurity techniques often fall short against modern attackers. Therefore, advanced techniques for cyber security analysis and anomaly detection are essential for protecting digital assets. This blog explores these cutting-edge methods, providing a comprehensive overview of their application and importance.
YOUR RELIABLE WEB DESIGN & DEVELOPMENT TEAM — FOR LASTING SUCCESS
WPRiders is a web development company specialized in WordPress and WooCommerce websites and plugins for customers around the world. The company is headquartered in Bucharest, Romania, but our team members are located all over the world. Our customers are primarily from the US and Western Europe, but we have clients from Australia, Canada and other areas as well.
Some facts about WPRiders and why we are one of the best firms around:
More than 700 five-star reviews! You can check them here.
1500 WordPress projects delivered.
We respond 80% faster than other firms! Data provided by Freshdesk.
We’ve been in business since 2015.
We are located in 7 countries and have 22 team members.
With so many projects delivered, our team knows what works and what doesn’t when it comes to WordPress and WooCommerce.
Our team members are:
- highly experienced developers (employees & contractors with 5 -10+ years of experience),
- great designers with an eye for UX/UI with 10+ years of experience
- project managers with development background who speak both tech and non-tech
- QA specialists
- Conversion Rate Optimisation - CRO experts
They are all working together to provide you with the best possible service. We are passionate about WordPress, and we love creating custom solutions that help our clients achieve their goals.
At WPRiders, we are committed to building long-term relationships with our clients. We believe in accountability, in doing the right thing, as well as in transparency and open communication. You can read more about WPRiders on the About us page.
19. 1998 Vector Markup Language proposed
by Macromedia, Microsoft. PGML
proposed by Adobe, Sun. W3C kick off
SVG.
2001 SVG 1.0
2003 SVG 1.1
2004 Konqueror 3.2 support
2005 Gecko (Firefox) support
2006 WebKit (Chrome, Safari) support
2011 IE9 is the last platform to support SVG
25. Setting SVG attributes
• Attributes are case sensitive
1 var div = document.createElement("div");
2 div.setAttribute("someWacky", "foo");
3 div.getAttribute("someWacky"); // => "foo"
4 div.getAttribute("somewacky"); // => "foo"
5
6 var svg = document.createElementNS(svgNS, "svg");
7 svg.setAttribute("someWow", "boo")
8 svg.getAttribute("someWow"); // => "boo"
9 svg.getAttribute("somewow"); // => null
• Property values are not primitives
1 svg.viewBox; // => SVGAnimatedRect {animVal: SVGRect, baseVal: SVGRect}
2 var viewBox = new SVGAnimatedRect(); // => TypeError: Illegal constructor
3 svg.viewBox = "0 0 100 100";
4 svg.getAttribute("viewBox"); // => null
26. Changing namespaces
1 <div>
2 <span></span>
3 <svg>
4 <path></path>
5 <foreignObject>
6 <div></div>
7 </foreignObject>
8 </svg>
9 </div>
Entrance to namespace dictated by next element
Exit from namespace dictated by previous element
39. Ember.js 1.8-1.9
1 var
2
3 buffer
4 parsingNode
5 parsingNode.innerHTML
6 var
7
8 if (isShowing) {
9 buffer
10 parsingNode.innerHTML
11
12 while (innerChildren[
13 outerChilden[
14 }
15 }
16
17 while (outerChilden[
18 rootElement.appendChild(outerChilden[
19 }
STRING TEMPLATES, DOM for stitching
40. Tricky stuff in 1.8+
• managing a context
• detecting a namespace
!
41. Tricky stuff in 1.8+
1 var string = handlebarsTemplate(context, options);
2 var nodes = domHelper.parseHTML(string, morph.contextualElement);
3
4 var node;
5 while (node = nodes[0]) {
6 rootElement.appendChild(node);
7 }
42. HTMLBARS, Tricky stuff in 1.8+
1.10
1 var nodes = htmlbarsTemplate(context, env, morph.contextualElement);
2
3 var node;
4 while (node = nodes[0]) {
5 rootElement.appendChild(node);
6 }
43. Tricky stuff in 1.8+
• managing a context
• detecting a namespace
!
44. Tricky stuff in 1.8+
1 var root = document.createElement('div');
2
3 root.innerHTML = "<svg><foreignObject><div></div></foreignObject></svg>";
4
5 var svg = div.firstChild;
6 var foreignObject = svg.firstChild;
7 var div = foreignObject.firstChild;
8
9 svg.namespaceURI; // http://www.w3.org/2000/svg
10 foreignObject.namespaceURI; // http://www.w3.org/2000/svg
11 div.namespaceURI; // undefined
45. Tricky stuff in 1.8+
1 var root = document.createElementNS(svgNs, 'svg');!
2 !
3 root.innerHTML = "<foreignObject><div></div></foreignObject>";!
4 !
5 var foreignObject = root.firstChild;!
6 var div = foreignObject.firstChild;!
7 !
8 svg.namespaceURI; // http://www.w3.org/2000/svg!
9 foreignObject.namespaceURI; // http://www.w3.org/2000/svg!
10 div.namespaceURI; // undefined!
46. Tricky stuff in 1.8+ HTMLBARS, 1.10
1 var template = htmlbarsCompile(
2 "<foreignObject><div></div></foreignObject>"
3 );
4 // so long as contextualElement is an SVG tag...
5 var nodes = template(context, env, morph.contextualElement);
6
7 var foreignObject = nodes[0];
8 var div = foreignObject.firstChild;
9
10 foreignObject.namespaceURI; // http://www.w3.org/2000/svg
11 div.namespaceURI; // undefined