I hereby claim:
- I am pangratz on github.
- I am pangratz (https://keybase.io/pangratz) on keybase.
- I have a public key whose fingerprint is ED74 3330 DFE1 FB64 C6BB BAAB FDB1 218C EF20 16D6
To claim this, I am signing this object:
I hereby claim:
To claim this, I am signing this object:
(Originally taken from the Skylight "almost daily" emails, written by Tom Dale)
It was a very busy week. We spent the first three days of the week digging deep into Glimmer performance. As we've been scrambling to bring the benefits of this brand new approach to rendering to the many existing Ember apps, we inadvertently added some performance regressions while adding backwards compatibility features.
We spent many hours staring at the profiler in Chrome, trying to figure out how to optimize Glimmer's rendering performance at both the micro and macro level.
One of the biggest improvements was minimizing the number of DOM manipulations for certain cases of re-rendering an each helper in Ember. You can see more of the specific details in the commit here: https://github.com/tildeio/htmlbars/commit/64be35ef03953d80cfe4434446a01dd483bba7b0
This definitely involved busting out some rusty Computer Science skills, but it's always fun to explore algorithms and
public class LinzProviderTest extends TestCase { | |
private LinzProvider provider; | |
public void testAutocomplete() throws IOException { | |
List<Location> stations = provider.autocompleteStations("Schumpeter"); | |
assertNotNull(stations); | |
assertEquals(1, stations.size()); | |
Location schumpeter = stations.get(0); |
{ | |
"locale": "de", | |
"text": { | |
"#authors": [ | |
{ | |
"name": "Malte Ubl", | |
"screen-name": "cramforce" | |
} | |
], | |
"tweet": { |
// translation for austrian german, especially for the western, hillocky part (tyrol) | |
{ | |
// maybe local de_AT_tyrol would fit better ... | |
"locale": "de_AT", | |
"text": { | |
"#authors": [ | |
{ | |
"name": "Malte Ubl", | |
"screen-name": "cramforce" | |
} |
App = Ember.Application.create(); |
//original ember version | |
Ember.getPath = function(root, path) { | |
var hasThis, isGlobal, ret; | |
// Helpers that operate with 'this' within an #each | |
if (path === '') { | |
return root; | |
} | |
if (!path && 'string'===typeof root) { |
Dashboard.Router = Ember.Router.extend({ | |
root: Ember.Route.extend({ | |
index: Ember.Route.extend({ | |
route: '/:username', | |
connectOutlets: function(router, context) { | |
router.set('userController.content', Dashboard.User.find(context.username)); | |
}, | |
index: Ember.Route.extend({ | |
route: '/', |
A possible usage for the controllers
property ...
App.AutoSuggestController = Ember.Controller.extend({
});
import DS from 'ember-data'; | |
export default DS.RESTAdapter.extend({ | |
shouldReloadAll: function() { | |
return true; | |
} | |
}); |