The document discusses the key components of Backbone.js including events, models, views, collections, and routers. It provides code examples for how to use events, define models and their methods, create views with associated events and templates, and set up routers with routes that call functions. The document also notes there are multiple ways to implement different aspects of Backbone and multiple sites that use Backbone in their applications.
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.
Dr. Strangelove or: How I learned to stop worrying and love HTML, CSS and Jav...RobotDeathSquad
In this session we'll take a hands on approach to building reusable and scaleable front end code. We walk through building a modern web application UI using microformats, gracefully degrading CSS3 and Javascript closures. Finally, we'll see how the same code can be used throughout an application with little modification.
*
Dsc02922_small Mike Hostetler 4.07
CEO at appendTo, LLC
4 talks
Description:
This talk will be a quick but thorough introduction to the jQuery Javascript Library. If you have zero experience with jQuery, this is the talk to start with. We will begin with a brief overview of jQuery and its history. We'll then introduce basic jQuery concepts and principles. To wrap up the session, we'll build a basic jQuery plugin.
This talk will be composed mainly of live coding, showing off examples of how to work with jQuery.
The content of this talk will be quite a bit different from the jQuery training offered prior to the conference. Because of the available time, the training will explore jQuery concepts in great depth, while this talk will cover them briefly.
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.
Dr. Strangelove or: How I learned to stop worrying and love HTML, CSS and Jav...RobotDeathSquad
In this session we'll take a hands on approach to building reusable and scaleable front end code. We walk through building a modern web application UI using microformats, gracefully degrading CSS3 and Javascript closures. Finally, we'll see how the same code can be used throughout an application with little modification.
*
Dsc02922_small Mike Hostetler 4.07
CEO at appendTo, LLC
4 talks
Description:
This talk will be a quick but thorough introduction to the jQuery Javascript Library. If you have zero experience with jQuery, this is the talk to start with. We will begin with a brief overview of jQuery and its history. We'll then introduce basic jQuery concepts and principles. To wrap up the session, we'll build a basic jQuery plugin.
This talk will be composed mainly of live coding, showing off examples of how to work with jQuery.
The content of this talk will be quite a bit different from the jQuery training offered prior to the conference. Because of the available time, the training will explore jQuery concepts in great depth, while this talk will cover them briefly.
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.
jQuery Performance Tips and Tricks (2011)Addy Osmani
Today we’re going to take a look at best practices, tips and tricks for improving the performance of your jQuery code. Performance optimization is a crucial aspect of building ‘snappy’ client-side applications and something which all developers using jQuery should bare in mind.
Things you should know about jQuery JavaScript library. A JavaScript library designed to hide painful cross-browser compatibility issues while presenting a solid, usable, API.
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.
jQuery Performance Tips and Tricks (2011)Addy Osmani
Today we’re going to take a look at best practices, tips and tricks for improving the performance of your jQuery code. Performance optimization is a crucial aspect of building ‘snappy’ client-side applications and something which all developers using jQuery should bare in mind.
Things you should know about jQuery JavaScript library. A JavaScript library designed to hide painful cross-browser compatibility issues while presenting a solid, usable, API.
Modeling Tricks My Relational Database Never Taught MeDavid Boike
In this session we will explore several modeling scenarios from my own experience that can easily be achieved using RavenDB, but difficult (if not nearly impossible) to build using a classic relational database. The focus will be on helping those accustomed to SQL Server or other relational databases learn good document modeling skills by example, with a summary of document modeling guidelines at the end.
Does the world need another front-end JavaScript framework. Apparently it does. This is a presentation on the need for a mobile and desktop web framework, and one possible rebuilding of the wheel.
Easier building complex applications in Joomla! by adding a mapping layer between the domain model and the database. Some of this might be useful to improve Joomla!'s core.
While building custom Joomla!-extensions I often encountered difficulties implementing one-to-many and many-to-many relations.
Joomla! uses lists and items, where a list relates to a database table and an item to a record in that table. Because the underlying relational database is normalised, fields are atomic: contain only one value. In reality (in the domain) a person can have multiple addresses, an order can have multiple orderlines, a posting can have several comments, a product can have several images etc. Often, fields in our entities are not atomic, but can have collections of values. If we stay close to the one-to-one mapping of lists/items and database tables, as Joomla! natively does, it soon becomes messy when modelling more complex relationships. But if we use a mapping between the objects in our domain model and the database, we can easily use non-atomic fields. The same holds for inheritance mapping: a parent class and child classes can be mapped to a relational database in several ways. The Unified Content Model (UCM) is an example of class table inheritance mapping, where the superclass (core_content) has its own table, as do the subclasses. This opposed to the currently used concrete table inheritance, where every content-type maps to one table.
Fortunately this Object Relational Mapping has allready been extensively elaborated. No need to reinvent this wheel. In this presentation I'll show how I used Doctrine ORM for it. And I'll show how this could be used to improve Joomla!'s core.
Talk was given at WebConf Riga 2012. There was some trolling about Symfony 2 and ZF2 just for fun. I actually think these are great projects so sorry if it hury your feelings.
The Quantum Internet: Hype or the Next StepJohn Ashmead
What do we mean by the quantum internet? Why do we need more than just quantum computing? What are quantum cryptography, quantum key distribution, quantum sensors? How are these concepts entangled? What are the advantages of the quantum internet? key problems? Who will get to use it? And do we have just a bunch of interesting technologies that all have quantum in their name or can the whole be more than the sum of its parts?
How to build a PostgreSQL-backed website quicklyJohn Ashmead
We will show how to get started building a PostgreSQL-backed website using Ruby-on-Rails. We will look at Model-View-Controller architecture; what tools you need to get started; how to work with the online tutorials; what kind of workflow to use; and which tasks to let Ruby-on-Rails handle versus which are better done by PostgreSQL.
The Quantum Internet: Hype or the Next StepJohn Ashmead
What do we mean by the quantum internet? Why do we need more than just quantum computing? What are quantum cryptography, quantum key distribution, quantum sensors? How are these concepts entangled? What are the advantages of the quantum internet? key problems? Who will get to use it? And do we have just a bunch of interesting tech that all have quantum in their name or can the whole be more than the sum of its parts?
Oz’s Tik-Tok to the Mechanical Turk, from Neural Nets & Genetic Algorithms to Chess & StarCraft, from fighting the Coronavirus to flying Killer Drones, from Facial Recognition to Fakes, Deep Fakes, & Anti-Fakes, Artificial Intelligence (AI) is everywhere today. How did it start? What do we mean by AI? What are the basic AI techniques? How is it being used? What are the benefits? risks? and how should we manage AI going forwards?
Time dispersion in time-of-arrival measurementsJohn Ashmead
Can we prove that the Heisenberg uncertainty principle does not apply along the energy/time axis in the same way it applies along the space/momentum axis?
Talk given at the International Association for
Relativistic Dynamics
Time dispersion in quantum mechanics -- Philcon 2019 versionJohn Ashmead
We know from quantum mechanics that space is fuzzy, that particles don’t have a well-defined position in space. And we know from special relativity that time and space are interchangeable. But if they are interchangeable, shouldn’t time be fuzzy as well? Shouldn’t the rules of quantum mechanics apply — along the time dimension? Bohr and Einstein — who disagreed on so much — nevertheless agreed on this.
Is time fuzzy? In quantum mechanics space is fuzzy. And in special relativity time and space are interchangeable. But if time and space are interchangeable, shouldnt time be fuzzy as well? Shouldnt quantum mechanics apply -- to time? Thanks to recent technical advances we can put this to the test. We ask: How do you get a clock in a box? How do you interfere with time? When is one slit better than two? And what happens at the intersection of time and quantum mechanics?
Why do we want to go? How do we get there? How do we live there? What might we find? What are the dangers: radiation, low gravity, dust, our fellow humans? Is there life on Mars now? Was there once? and did our own evolution actually start on Mars?
Practical Telepathy: The Science & Engineering of Mind-ReadingJohn Ashmead
From van Vogt's Slan to Willis's Crosstalk, telepathy has been a staple of science fiction. But what are the real world chances of reading another person's mind? With MRI & PET scans we can see what images a person is thinking of, with brain implants we can help the blind to see, and -- the way the science is going -- we are only a half-step away from direct mind-to-mind communication. Nothing to worry about here!
This is the Capclave 2018 version
From Startup to Mature Company: PostgreSQL Tips and techniquesJohn Ashmead
This talk is for people relatively new to PostgreSQL who are wondering:
How do I get going with PostgreSQL -- in a way that won’t create problems later on!
We’ll go over best practice in:
Table design
Indexing
PostgreSQL types
Stored procedures -- when & how to use, when not
Triggers
How to work with a web framework (i.e. Ruby-on-Rails): what works belongs in the framework, what should be done in the database
Error & exception management
Doing the right amount of planning
Why you might want to build the help system first, and use it to help build the rest.
Nistica has its ownership in Japan, engineering in New Jersey, & manufacturing in Vietnam so we’ll take a special look at:
Handling different languages & character sets
Timestamps & time zones
How to sync data from one part of the world to another without letting data fall on the floor or creating infinite loopiness.
Nistica has gone from startup to world player in the manufacture of optical switches. It has run its manufacturing on PostgreSQL from the start, using PostgreSQL to drive every step from assembly to quality assurance & tracking all part data in the database.
Going from the ad hoc procedures appropriate for a startup to the disciplined approaches required by the world market has taught us a lot about how to get the best out of PostgreSQL.
We’ve learned a lot from the PostgreSQL community; now we’d like to share some of what we’ve learned from our experience.
Practical Telepathy: The Science & Engineering of Mind-ReadingJohn Ashmead
From van Vogt's Slan to Willis's Crosstalk, telepathy has been a staple of science fiction. But what are the real world chances of reading another person's mind? With MRI & PET scans we can see what images a person is thinking of, with brain implants we can help the blind to see, and -- the way the science is going -- we are only a half-step away from direct mind-to-mind communication. Nothing to worry about here!
What are StarGates? Why & wither wormholes? Dangers of sphaghettification. How to build a wormhole? Negative energy & vortices. At the edge of testable. Today, a bridge of birds, tomorrow the cell phone: nearly impossible today, but tomorrow?
Call them Stargates, Jumpgates, Fargates, Hypergates or just an invitation to every unwanted pest from the far reaches of the Galaxy to visit, they're absolutely necessary if we're to have the glorious Science Fiction action we desperately need. Could they actually be built? Modern physics may permit: how to glue black holes together to build a wormhole, how to avoid the dangers of spaghettification, radiation poisoning and paradox noise, and just what would it take to build one in practice.
Quantum dots (QD) are semiconductors made via several possible routes. John Ashmead discusses how they are made, their properties and their applications in research.
Call them Stargates, Jumpgates, Fargates, Hypertubes or just an invitation to every unwanted pest from the far reaches of the Galaxy to visit, they are absolutely necessary if we are to have the glorious Science Fiction action we desperately need. But could they actually be built? We look at what modern physics has to say: how to glue black holes together to build a wormhole, how to avoid the dangers of spaghettification, radiation poisoning, and paradox noise, and just what it would take to build one in practice.
Time travel in the works of Tim Powers: The Anubis Gates, Three Days to Never, The Medusa's Web. Talk given at Washington DC Science Fiction convention, Capclave 2016.
We look at the history of the multiverse, the big bang theory, the problem of fine-tuning, how it is solved by the anthropic principle, how the combination of eternal inflation & string theory might create many universes, and a bit of discussion as to the odds of the multiverse being true.
We review the double slit experiment, the "central mystery" of quantum mechanics as Feynman put it. We included a number of animations, including some from Larry Latham specially done for this presentation! Unfortunately the animations don't seem to post correctly to slideshare, alas.
How to convert from MySQL to PostgreSQL: discuss history of each, current status, when you might wish to convert, what might motivate you to convert, & how to do so. With references.
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.
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
💥 Speed, accuracy, and scaling – discover the superpowers of GenAI in action with UiPath Document Understanding and Communications Mining™:
See how to accelerate model training and optimize model performance with active learning
Learn about the latest enhancements to out-of-the-box document processing – with little to no training required
Get an exclusive demo of the new family of UiPath LLMs – GenAI models specialized for processing different types of documents and messages
This is a hands-on session specifically designed for automation developers and AI enthusiasts seeking to enhance their knowledge in leveraging the latest intelligent document processing capabilities offered by UiPath.
Speakers:
👨🏫 Andras Palfi, Senior Product Manager, UiPath
👩🏫 Lenka Dulovicova, Product Program Manager, UiPath
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.
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
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!
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.
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
3. Events
• Used for backbone’s events
• On, off, trigger
• You can role your own, e.g. “selected:true”
• Simple linked list
• Per instance
• Mixed into Models,Views, Collections, &
Routers
john.ashmead@ashmeadsoftware.com Backbone-PhillyCoders-5/2/2012
Wednesday, May 2, 2012 3
5. Models
• A unique ‘cId’ supplied, you set ‘id’
• “change” events issued when you use get,
set to change (you can bypass)
• toJSON, fetch, parse, clone, previous,
previousAttributes, save, destroy, validate,
…
john.ashmead@ashmeadsoftware.com Backbone-PhillyCoders-5/2/2012
Wednesday, May 2, 2012 5
6. Model calls
var MasterPiece =
Backbone.Model.extend({
option1: value1,
initialize: function(arg1, …) {}
});
masterPiece1 = new MasterPiece();
masterPiece1.get('option1');
masterPiece1.set('option1', 'value1');
john.ashmead@ashmeadsoftware.com Backbone-PhillyCoders-5/2/2012
Wednesday, May 2, 2012 6
7. RESTful interface
• “Backbone.sync” is basic call
• Sends server a “POST”, “GET”, “PUT”, or
“DELETE”, depending on whether you have
requested a create, retrieve, update, or delete.
• If you define MasterPiece.url(), sync will talk to
url’s of the form it returns
• Example: /masterpieces/1
• “isNew” tracks status on client
john.ashmead@ashmeadsoftware.com Backbone-PhillyCoders-5/2/2012
Wednesday, May 2, 2012 7
8. Views
• Always gets a default ‘el’ DOM element
• Has view.$el defined as $(view.el) as well
• Use “setElement” to change its element
• Instantiate “render” method to get it to
work
john.ashmead@ashmeadsoftware.com Backbone-PhillyCoders-5/2/2012
Wednesday, May 2, 2012 8
9. View code
var Picture = Backbone.View.extend({
render: function(eventName) {
this.$el.html(this.template(
this.model.toJSON()));
return this;
},
events: {“change”: “render”},
template: _.template(“<div><%= title =%></
div>”),
close: {
this.$el.unbind();
this.$el.empty();
});
var picture1 = new Picture({ model:
monaLisa1 });
john.ashmead@ashmeadsoftware.com Backbone-PhillyCoders-5/2/2012
Wednesday, May 2, 2012 9
10. Collections
• Ordered sets of models
• Can be the “model” in a view
• Can be included in a model
• Usual functions, including most of
Underscore
• Models have a “collection” property, so
only one collection per model
john.ashmead@ashmeadsoftware.com Backbone-PhillyCoders-5/2/2012
Wednesday, May 2, 2012 10
12. Routers
• Keeps a map of hashtags to functions
• Calls the function
• Fires the event
• Uses the “hashchange” event from browser
or else polls the current location
john.ashmead@ashmeadsoftware.com Backbone-PhillyCoders-5/2/2012
Wednesday, May 2, 2012 12
14. More than one way to do it
For views: model.view or
model.views[], or fire events, or
create “controller” object to
mediate, …
For sync: can sync per model, send
sets of requests, …
For events: can mixin to any JS
object, create custom events, …
For render: can use templates,
direct DOM manip, jQuery UI, …
john.ashmead@ashmeadsoftware.com Backbone-PhillyCoders-5/2/2012
Wednesday, May 2, 2012 14
15. More than one place that’s
using it
• LinkedIn Mobile
• Foursquare
• Khan Academy
• Groupon Now!
• Pandora
john.ashmead@ashmeadsoftware.com Backbone-PhillyCoders-5/2/2012
Wednesday, May 2, 2012 15
16. More than one place
it’s documented
• http://documentcloud.github.com/backbone/
• http://documentcloud.github.com/backbone/
docs/backbone.html
• http://backbonetutorials.com/
• http://blog.galk.me/post/17139384615/backbone-
js-tutorial-create-a-simple-twitter-search
john.ashmead@ashmeadsoftware.com Backbone-PhillyCoders-5/2/2012
Wednesday, May 2, 2012 16
17. Presented for your
consideration:
• Takes care of basics of MVC
• Small, clean, & friendly code
• Flexible
• Reduces need to figure this
stuff out yourself
john.ashmead@ashmeadsoftware.com Backbone-PhillyCoders-5/2/2012
Wednesday, May 2, 2012 17