This document provides an overview of Ember.js, including its history, core concepts, and key features. Ember.js is a JavaScript MVC framework for building single page web applications. It includes features like classes and instances, computed properties, bindings, observers, routing, and integration with Ember Data for model management. The document discusses Ember's application architecture, run loop, object model, and prototype extensions for arrays, strings, and functions. It also covers views, controllers, templates, routing, and testing in Ember.
"The road to Ember.js 2.0" by Lucio Grenzi
Why should I use Ember.js? JavaScript MVC frameworks are plentiful. In this presentation I will give you some compelling reasons to consider Ember,and the the new parts coming from the upcoming version 2.0. Different from other framework the new vesion does not brings a far new world because the dev team has planned continuos releases in order to improve backward compatibility. But there are new parts, like in React, the "virtual DOM" to improve performance. In this talk I will go through the new parts of EmberJS 2.0
Ember.js - introduction
I have searched for Ember ppt in the internet. Got many things but not like structured... So i have just combined and made a new one..
I am just learning and not an expert. Please share your comments, so i can keep up myself..
"The road to Ember.js 2.0" by Lucio Grenzi
Why should I use Ember.js? JavaScript MVC frameworks are plentiful. In this presentation I will give you some compelling reasons to consider Ember,and the the new parts coming from the upcoming version 2.0. Different from other framework the new vesion does not brings a far new world because the dev team has planned continuos releases in order to improve backward compatibility. But there are new parts, like in React, the "virtual DOM" to improve performance. In this talk I will go through the new parts of EmberJS 2.0
Ember.js - introduction
I have searched for Ember ppt in the internet. Got many things but not like structured... So i have just combined and made a new one..
I am just learning and not an expert. Please share your comments, so i can keep up myself..
Ever wondered how to get rid of that spaghetti, single-filed JavaScript code? Wouldn't it be nice if you could write maintainable modules, easily test them, port them to different projects, handle its library dependencies, and have them decoupled from other modules?
In this talk, we'll see how using the AMD API and an event-driven design will help taming an application's JavaScript code and scaling it to the future and beyond.
Image Manipulation in WordPress 3.5 - WordCamp Phoenix 2013GetSource
Image Manipulation in WordPress 3.5 talk from WordCamp Phoenix 2013
Image manipulation in WordPress was an alchemy of mixing GD functions and WordPress functions together to (hopefully) turn out the desired result. Now, as of WordPress 3.5, GD is abstracted out, and a new class, WP_Image_Editor, allows easy manipulation of image files. This lets you perform simple resizing, crops, flips, rotates, and real-time streaming of those results using Imagick or GD. But, that’s not all! You can also easily extend WordPress’ classes to add your own functions, or replace the entire engine with your own.
This session will walk through what’s changed for image manipulation in WordPress 3.5, and explain ways you can take advantage of the new APIs, both through using them directly and extending them for plugins of your own.
Presented by Mike Schroder (@GetSource/DH-Shredder)
Symfony Guard Authentication: Fun with API Token, Social Login, JWT and moreRyan Weaver
There are so many interesting ways to authenticate a user: via an API token, social login, a traditional HTML form or anything else you can dream up.
But until now, creating a custom authentication system in Symfony has meant a lot of files and a lot of complexity.
Introducing Guard: a simple, but expandable authentication system built on top of Symfony's security component. Want to authenticate via an API token? Great - that's just one class. Social login? Easy! Have some crazy legacy central authentication system? In this talk, we'll show you how you'd implement any of these in your application today.
Don't get me wrong - you'll still need to do some work. But finally, the path will be clear and joyful.
A presentation with tips and tools on how to integrate batch and asynchronous operations in a generic ruby on rails application.
Did this at rubyday.it 2011
Para desenvolver um site institucional simples ou um hotsite pequeno, não é preciso muito mais que um pouco de HTML, um ou dois arquivos de CSS, alguns arquivos de JavaScript, e um sistema de CMS. No entanto, à medida que a complexidade de um site aumenta, o código passa a se tornar cada vez mais extenso, complexo, difícil de ser organizado, e projeto acaba virando um grande "code spaghetti".
Para garantir que isso não aconteça, é necessário implementar uma estrutura sólida para o HTML, CSS e JavaScript, de modo que os componentes da aplicação funcionem independentemente e sejam facilmente mantidos e modificados. Nesta palestra, mostrei como elaborar uma arquitetura de front-end que sustente uma aplicação de larga escala.
Slides from my talk at the Angular Community Days 2017 in Barcelona. In this keynote I talked about the JS single threaded nature, the problem WebWorkers solve, their basics, and the fancy Angular approach in order to bootstrap your whole app inside a WebWorker so the UI does not freeze when running CPU consuming tasks in your code.
Workshop Apps with ReactNative II:
- React Native short Recap
- Navigation in React Native Apps
- Tabs & Other Architectural Components
- Lists & Other Presentational Components
- OpenSource Important Components
Presentado por ingenieros Raúl Delgado y Marc Torrent
When you move beyond simple snippets of jQuery and start developing more complex interactions, your code can quickly become unwieldy and difficult to debug and maintain. In this presentation, I outline an object-based approach to organizing your jQuery.
Introducing Assetic: Asset Management for PHP 5.3Kris Wallsmith
The performance of your application depends heavily on the number and size of assets on each page. Even your blazingly fastest Symfony2 application can be bogged down by bloated Javascript and CSS files. This session will give you a basic introduction to PHP's new asset management framework, Assetic, and explore how it integrates with Symfony2 for a pleasant, common sense developer experience.
Ran Mizrahi from CodeOasis gave a lecture about Angular.js dependency injections, as part of an advanced Angular meetup of the Javascript Israel meetup group.
Ran covered how Dependency Injection works in Angular and its internals, what are providers and the different helper methods angular have for defining injectables components.
Ever wondered how to get rid of that spaghetti, single-filed JavaScript code? Wouldn't it be nice if you could write maintainable modules, easily test them, port them to different projects, handle its library dependencies, and have them decoupled from other modules?
In this talk, we'll see how using the AMD API and an event-driven design will help taming an application's JavaScript code and scaling it to the future and beyond.
Image Manipulation in WordPress 3.5 - WordCamp Phoenix 2013GetSource
Image Manipulation in WordPress 3.5 talk from WordCamp Phoenix 2013
Image manipulation in WordPress was an alchemy of mixing GD functions and WordPress functions together to (hopefully) turn out the desired result. Now, as of WordPress 3.5, GD is abstracted out, and a new class, WP_Image_Editor, allows easy manipulation of image files. This lets you perform simple resizing, crops, flips, rotates, and real-time streaming of those results using Imagick or GD. But, that’s not all! You can also easily extend WordPress’ classes to add your own functions, or replace the entire engine with your own.
This session will walk through what’s changed for image manipulation in WordPress 3.5, and explain ways you can take advantage of the new APIs, both through using them directly and extending them for plugins of your own.
Presented by Mike Schroder (@GetSource/DH-Shredder)
Symfony Guard Authentication: Fun with API Token, Social Login, JWT and moreRyan Weaver
There are so many interesting ways to authenticate a user: via an API token, social login, a traditional HTML form or anything else you can dream up.
But until now, creating a custom authentication system in Symfony has meant a lot of files and a lot of complexity.
Introducing Guard: a simple, but expandable authentication system built on top of Symfony's security component. Want to authenticate via an API token? Great - that's just one class. Social login? Easy! Have some crazy legacy central authentication system? In this talk, we'll show you how you'd implement any of these in your application today.
Don't get me wrong - you'll still need to do some work. But finally, the path will be clear and joyful.
A presentation with tips and tools on how to integrate batch and asynchronous operations in a generic ruby on rails application.
Did this at rubyday.it 2011
Para desenvolver um site institucional simples ou um hotsite pequeno, não é preciso muito mais que um pouco de HTML, um ou dois arquivos de CSS, alguns arquivos de JavaScript, e um sistema de CMS. No entanto, à medida que a complexidade de um site aumenta, o código passa a se tornar cada vez mais extenso, complexo, difícil de ser organizado, e projeto acaba virando um grande "code spaghetti".
Para garantir que isso não aconteça, é necessário implementar uma estrutura sólida para o HTML, CSS e JavaScript, de modo que os componentes da aplicação funcionem independentemente e sejam facilmente mantidos e modificados. Nesta palestra, mostrei como elaborar uma arquitetura de front-end que sustente uma aplicação de larga escala.
Slides from my talk at the Angular Community Days 2017 in Barcelona. In this keynote I talked about the JS single threaded nature, the problem WebWorkers solve, their basics, and the fancy Angular approach in order to bootstrap your whole app inside a WebWorker so the UI does not freeze when running CPU consuming tasks in your code.
Workshop Apps with ReactNative II:
- React Native short Recap
- Navigation in React Native Apps
- Tabs & Other Architectural Components
- Lists & Other Presentational Components
- OpenSource Important Components
Presentado por ingenieros Raúl Delgado y Marc Torrent
When you move beyond simple snippets of jQuery and start developing more complex interactions, your code can quickly become unwieldy and difficult to debug and maintain. In this presentation, I outline an object-based approach to organizing your jQuery.
Introducing Assetic: Asset Management for PHP 5.3Kris Wallsmith
The performance of your application depends heavily on the number and size of assets on each page. Even your blazingly fastest Symfony2 application can be bogged down by bloated Javascript and CSS files. This session will give you a basic introduction to PHP's new asset management framework, Assetic, and explore how it integrates with Symfony2 for a pleasant, common sense developer experience.
Ran Mizrahi from CodeOasis gave a lecture about Angular.js dependency injections, as part of an advanced Angular meetup of the Javascript Israel meetup group.
Ran covered how Dependency Injection works in Angular and its internals, what are providers and the different helper methods angular have for defining injectables components.
This short presentation on Ember.js gives a short overview of Ember.js.
About Authors: Both Ms. Prativa Devkota and Mr. Shishir Sapkota are Ruby on Rails trainees at Jyaasa Technologies.
About Us:
Jyaasa is a Ruby on Rails software development company for startups. We do Rails consulting, build custom apps & transform ideas into successful business products.
For more information visit: http://jyaasa.com
From learning how to code (2 weeks) then jumping in to EmberJS. A look into what it's like to be a beginning developer and how easy EmberJS is to use with very little knowledge.
This talk provides light insight on Ember-CLI, components, add-ons, and troubleshooting code.
Video: vimeo.com/144527585
Discussion of great new features in Ember 2.x. In this talk, I discuss composability, ember wormhole, and yielded actions. This talk also includes a demo application on github to see an example of all the concepts
Building a Single Page Application using Ember.js ... for fun and profitBen Limmer
Denver Startup Week 2015 Talk. The talk is split into two sections: conceptual reasons you might choose a framework like EmberJS where convention over configuration is preferred, and a live coding demo where we build a simple EmberJS application for our up-and-coming business, Bluth's Banana Stand.
Still creating dog-slow interfaces in plain HTML? Time to learn some new buzzwords: MVC, REST, Ember.js.
This presentation introduces Ember Data framework: from Ember.js overview to more-or-less advanced customizations of your client-side data layer.
The Tale of 2 CLIs - Ember-cli and Angular-cliTracy Lee
Learn about the benefits of these 2 great cli tools, angular-cli and ember-cli and why they are so important in development. Live coding up the ember-cli app is here. https://www.youtube.com/watch?v=-Ury2S9Y-4Q
Backbone.js helps structure you javascript application code in a scalable way.
In this keynote I demonstrate how to use it in a simple walk-through example, and discuss the advantages of using an MVC framework.
Writing HTML5 Web Apps using Backbone.js and GAERon Reiter
A walkthrough of how to write a complete HTML5 web app (both front end and back end) using Google App Engine (Python), Backbone.js, Require.js, underscore.js and jQuery.
Object-Oriented JavaScript presentation given at the 2010 ESRI Developer Summit. Code and slides are also available at http://github.com/kvangork/OOJS-Presentation
Find me on twitter @kvangork
or my blog http://prng.vangorkom.org
Object-Oriented JavaScript presentation given at ESRI's 2010 Developer Summit. Slides and code available at http://github.com/kvangork/OOJS-Presentation
Find me on twitter @kvangork
or at my blog: http://prng.vangorkom.org
Generating a custom Ruby SDK for your web service or Rails API using Smithyg2nightmarescribd
Have you ever wanted a Ruby client API to communicate with your web service? Smithy is a protocol-agnostic language for defining services and SDKs. Smithy Ruby is an implementation of Smithy that generates a Ruby SDK using a Smithy model. In this talk, we will explore Smithy and Smithy Ruby to learn how to generate custom feature-rich SDKs that can communicate with any web service, such as a Rails JSON API.
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
Neuro-symbolic is not enough, we need neuro-*semantic*Frank van Harmelen
Neuro-symbolic (NeSy) AI is on the rise. However, simply machine learning on just any symbolic structure is not sufficient to really harvest the gains of NeSy. These will only be gained when the symbolic structures have an actual semantics. I give an operational definition of semantics as “predictable inference”.
All of this illustrated with link prediction over knowledge graphs, but the argument is general.
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
Keynote at DIGIT West Expo, Glasgow on 29 May 2024.
Cheryl Hung, ochery.com
Sr Director, Infrastructure Ecosystem, Arm.
The key trends across hardware, cloud and open-source; exploring how these areas are likely to mature and develop over the short and long-term, and then considering how organisations can position themselves to adapt and thrive.
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.
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
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.
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.
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
3. What is Ember
• JavaScript web application framework
• Based on model-view-controller (MVC)
• Designed for Single Page Applications
Sunday, August 25, 13
6. Application
• Creates a Namespace
• Bind Event Listeners
• Renders the Application’s Template
• Starts the Application’s Router
window.App = Ember.Application.create();
Sunday, August 25, 13
7. Application
window.App = Ember.Application.create({
rootElement: "body"
});
App.deferReadiness();
// passage of time ...
App.advanceReadiness();
<script type="text/x-handlebars" data-template-name="application">
{{outlet}}
</script>
<script type="text/x-handlebars" data-template-name="index">
I’m all up in the DOM!
</script>
Sunday, August 25, 13
14. Observers
var Citizen = Ember.Object.extend({
firstName: null,
lastName: null,
fullName: function() {
var firstName = this.get('firstName');
var lastName = this.get('lastName');
return firstName + ' ' + lastName;
}.property('firstName', 'lastName'),
fullNameChanged: function() {
// alert the NSA ...
}.observes('fullName')
});
Sunday, August 25, 13
15. Prototype Extensions
• Array
• String
• Function
By default, Ember.js will extend the prototypes
of these native JavaScript objects
Sunday, August 25, 13
18. String Prototype Extensions
String is extended to add convenience methods,
such as camelize() and fmt()
'my string'.camelize(); // 'myString'
'my string'.capitalize() // 'My string'
'my string'.classify(); // 'MyString'
'Hello %@2, %@1'.fmt('John', 'Doe'); // "Hello Doe, John"
'my string'.underscore(); // 'my_string'
'my'.w(); // ['my', 'string']
Ember.STRINGS = {
'_Hello World': 'Bonjour le monde',
'_Hello %@ %@': 'Bonjour %@ %@'
};
'_Hello World'.loc(); // 'Bonjour le monde';
'_Hello %@ %@'.loc(['John', 'Smith']); // "Bonjour John Smith"
Sunday, August 25, 13
19. Function Prototype Extensions
Function is extended with methods to annotate functions as computed
properties, via the property() method, and as observers, via the
observes() or observesBefore() methods.
Ember.Object.create({
valueObserver: function() {
// Executes whenever the "value" property changes
}.observes('value')
});
Ember.Object.create({
valueObserver: function() {
// Executes whenever the "value" property is about to change
}.observesBefore('value')
});
var president = Ember.Object.create({
firstName: "Barack",
lastName: "Obama",
fullName: function() {
return this.get('firstName') + ' ' + this.get('lastName');
// Call this flag to mark the function as a property
}.property()
});
president.get('fullName'); // "Barack Obama"
Sunday, August 25, 13
20. Model
An (Ember Data) object that stores persistent state.
http://emberjs.com/guides/models/
App.Person = DS.Model.extend({
firstName: DS.attr('string'),
lastName: DS.attr('string'),
fullName: function() {
return this.get('firstName') + ' ' + this.get('lastName');
}.property('firstName', 'lastName')
});
App.Person.createRecord({firstName: 'Russ', lastName: 'Jones'})
var russ = App.Person.find(1);
russ.get('fullName'); // Russ Jones
russ.get('isDirty'); // false
russ.set('lastName', 'Jeep');
russ.get('isDirty'); // true
Sunday, August 25, 13
21. View
Encapsulates templates, combines templates with data
and responds to user initiated events
App.PlaybackRoute = Ember.Route.extend({
events: {
turnItUp: function(level){
//This won't be called if it's defined on App.PlaybackController
}
}
});
App.PlaybackController = Ember.ObjectController.extend({
turnItUp: function(level){
//Do your thing
}
});
App.ClickableView = Ember.View.extend({
click: function(evt) {
this.get('controller').send('turnItUp', 11);
}
});
Sunday, August 25, 13
28. Router
• Translates a URL into a series of nested
templates, each backed by a model
• Represents Application State as a URL
• Routes may generate all the things
• Updates the controllers
http://emberjs.com/guides/routing/
http://www.youtube.com/watch?v=gz7Jy2abm10
https://gist.github.com/machty/5723945
Sunday, August 25, 13
31. Ember Testing
App.rootElement = '#arbitrary-element-that-doesnt-interfere-with-qunit';
App.setupForTesting();
* Ember.testing = true;
* deferReadiness()
* set location api to 'none'
App.injectTestHelpers();
* visit (url)
* find(selector, context)
* fillIn(input_selector, text)
* click(selector)
* keyDown(selector, type, keyCode)
* wait()
module("Integration Tests", {
setup: function() {
App.reset();
}
});
test("creating a post displays the new post", function() {
visit("/posts/new")
.fillIn(".post-title", "A new post")
.fillIn(".post-author", "John Doe")
.click("button.create")
.then(function() {
ok(find("h1:contains('A new post')").length, "The post's title should display");
ok(find("a[rel=author]:contains('John Doe')").length, "A link to the author should display");
});
});
Sunday, August 25, 13
33. Useful App Stuff
VIEW ALL REGISTERED ROUTES
Ember.keys(App.Router.router.recognizer.names)
VIEW ALL REGISTERED TEMPLATES
Ember.keys(Ember.TEMPLATES)
GET THE STATE HISTORY OF AN EMBER-DATA RECORD
record.stateManager.get('currentPath')
GET THE VIEW OBJECT FOR A GENERATED EMBER div BY ITS DIV ID
Ember.View.views['ember605']
LOG STATE TRANSITIONS
record.set("stateManager.enableLogging", true)
http://emberjs.com/guides/understanding-ember/debugging/
Sunday, August 25, 13
34. Useful App Stuff
VIEW AN INSTANCE OF SOMETHING FROM THE CONTAINER
App.__container__.lookup("controller:posts")
App.__container__.lookup("route:application")
VIEW EMBER-DATA'S IDENTITY MAP
// all records in memory
App.__container__.lookup('store:main').recordCache
// attributes
App.__container__.lookup('store:main').recordCache[2].get('data.attributes')
// loaded associations
App.__container__.lookup('store:main').recordCache[2].get('comments')
SEE ALL OBSERVERS FOR A OBJECT, KEY
Ember.observersFor(comments, keyName);
DEALING WITH DEPRECATIONS
Ember.ENV.RAISE_ON_DEPRECATION = true
Ember.LOG_STACKTRACE_ON_DEPRECATION = true
Sunday, August 25, 13
35. Useful App Stuff
HANDLEBARS
{{debugger}}
{{log record}}
IMPLEMENT A Ember.onerror HOOK TO LOG ALL ERRORS IN PRODUCTION
Ember.onerror = function(error) {
Em.$.ajax('/error-notification', 'POST', {
stack: error.stack,
otherInformation: 'exception message'
});
}
Sunday, August 25, 13
37. Ember Console Utils
When you include ember-console-utils in your app (which
should probably only be done during development), you
can quickly inspect any element and call $0.view() to walk
up the DOM tree and find the nearest Ember view.There
are also $0.controller(), $0.template(), and $0.model()
methods.
https://github.com/ebryn/ember-console-utils
Sunday, August 25, 13
39. JSON API
http://jsonapi.org/format/
"JSON API" is a JSON-based read/write hypermedia-type
designed to support a smart client who wishes to build a
data-store of information.
Sunday, August 25, 13
40. Ember Data Alternatives
• Ember-Model (https://github.com/ebryn/ember-model)
• Ember-Resource (https://github.com/zendesk/ember-resource)
• Ember-RESTless (https://github.com/endlessinc/ember-restless)
• Emu (https://github.com/charlieridley/emu)
• Ember-REST (https://github.com/cerebris/ember-rest)
• Ember.js Persistence Foundation (http://epf.io)
Sunday, August 25, 13
41. Ember in the Wild
• discourse.org
• zendesk.com
• livingsocial.com
• groupon.com
• squareup.com
• yapp.us
Sunday, August 25, 13
42. Resources
• http://emberjs.com
• http://discuss.emberjs.com (forum, built with ember)
• http://emberwatch.com (resource aggregator)
• https://peepcode.com/products/emberjs (official screencast 12$)
• http://eviltrout.com (blog)
• http://ember-doc.com/ (searchable docs)
• http://emberaddons.com (Ember add-ons)
• http://www.cerebris.com/blog/ (blog)
• https://github.com/dgeb/ember_data_example (cannonical Ember Data / rails example)
• https://github.com/rails-api/active_model_serializers (amazing work being done here)
• http://jsonapi.org (and here)
Sunday, August 25, 13