A veces necesitas una Backbone.Collection tenga modelos de diferentes tipos normalmente derivados de uno base.
No hay problema si añades los modelos a mano:
var c = new Backbone.Collection(); c.add(new MyModel()); c.add(new MyOtherModel());
Sin embargo cuando los datos vienen serializados desde el API que estés usando Backbone internalmente genera los modelos, así que todos los modelos son iguales.
Hay varias formas de hacer que los modelos que se generen sean los correctos, una de ellas que es más o menos simple:
var C = Backbone.Collection.extend({
model: function(attrs) {
var t = {
'type1': MyModel,
'type2': MyOtherModel
}
return new t[attrs.type](attrs);
} });
var c = new C(); c.reset([ { type: 'type1', ...}, { type: 'type2', ...}, ])
Obviamente hay que hacer un override del método toJSON de los modelos para incluir el type.
Cada vez que veo algo tal que así:
void turn(float angle) {...}
algo muere dentro de mi.
Lo normal es que las aplicaciones usen radianes para los cálculos, sin embargo hay ámbitos en los que se trabaja en grados (por ejemplo, los GPS devuelven los ángulos en grados) y siempre hay que o revisar la documentación, mirar el código o tirar de prueba y error.
Una solución es poner un comentario
/* angle in degrees */
que está muy bien, pero lo mejor de todo es que hagas lo que debes hacer:
void turn(float degrees) {...}
Gracias
Mi hermano es mecánico. Como en todos los trabajos hay gente que los hace y gente que los disfruta, gente que cumple y gente que se esfuerza y trata de sacar el máximo.
Mi hermano es del segundo grupo, por eso al salir del trabajo se entretiene con otro amigo en pequeño taller donde preparan coches para competición (casera eso sí).
Está preparando un Golf MkII con un motor 1.8T de VW para ir a circuito al que suele ir, así que un día hablando con él le propuse hacer una aplicación de cronometraje usando GPS.
Tengo bastante experiencia con GPS, desde como configurarlo para obtener lo mejor de ellos en diferentes condiciones dinámicas, cómo obtener la mejor precisión en proyección y como gestionar todos esos datos a nivel de aplicación, así que por qué no?
En ratillos voy trabajando en la aplicación, intento mejorar un poco mis habilidades de diseño ( sin mucho atino para que negarlo) e a la vez aprender un poco más sobre proyecciones, cálculo con precisión, simulación, mezcla de datos de sensores y otras hierbas que siempre me han gustado y casi nunca tengo tiempo de trabajar en ellas.
En el video muestro el primer prototipo en una tablet android, es una reproducción de un pequeño circuíto que me he hecho en un polígono industrial abandonado al lado de casa (siempre velocidad legal, respetando la normativa vigente en seguridad vial y tomando las precauciones pertinentes).
Hay muchas cosas que mejorar, casi no he trabajado nada en el UI, pero toda la parte de cronometraje está muy desarrollada.
No veo el momento de ir al circuito a probarlo de verdad :)
Si estás interesado en el tema recomiendo empezar por una muy buena charla sobre los sensores disponibles en Android.
Llevo unos días tratando de recordar más o menos lo que he hecho durante el año y me ha resultado difícil, será que estoy perdiéndo memoria con la edad.
Este año lo puedo resumir en dos cosas: trabajo y “realizaciones”
Laboralmente ha sido un año realmente intenso, seguramente el año en el que más producción he sacado de mi vida. Este año he participado en software que muy fácilmente hayan visto más de cien millones de personas: hemos estado en portada de google, hemos salido en la pantalla cara de la google IO, hemos reescrito el frontend de CartoDB en tiempo record, publicado dos releases major de agroguía (casi reescritas desde cero), creado ciertas demos técnicas y pequeños proyectos que han permitido avanzar mucho en el rendering de mapas en cliente, creado librerías en unos cuantos lenguajes diferentes para CartoDB, etc. Por no hablar de unas decenas de pequeñas demos tecnológicas con HTML5 que nunca han salido a la luz, las cientos de pruebas con agroguía para mejorar la precisión…
Obviamente todas esas cosas no se hacen solo, todo el equipo de Vizzuality ha sido el responsable de lo anterior. No creo que sea fácil encontrar a un equipo tan cohesionado, productivo y creativo.
Cierto es que un año así pasa **mucha factura**, he llegado a diciembre realmente cansado, sin apenas tener ideas nuevas y ser capaz de ser eficiente, es una sensación realmente desgradable. No obstante lo he pasado bien.
En lo personal ha sido un año raro, he pasado fuera de casa casi 3 meses, las cosas en la familia han cambiado un poco (cosas de la desaceleración económica) y hemos tenido algún que otro paso por el hospital, todo solucionado por suerte (*). Pero sobretodo he pasado la crisis de los 30 para pasar a la de los 31 :). Es curioso y duro para mi ver como el rol que tenían tus padres cuando eras pequeño ahora lo juegas tú, la gente te presiona para casarte, tener hijos y comprarte una puñetara casa.
Este año que viene lo afronto con algunos proyectos que tengo en mente, espero que sea un poco más ligero de trabajo. Sólo le pido a dios que me libre de esta maldita lesión de rodilla.
Feliz año a todos.
(*) suerte y muchos profesionales haciendo un buen trabajo, muchas personas que antes padecieron la misma enfermedad y sufrieron con ella y miles de horas de investigación.
Este ultimo mes ha sido si la memoria no me falla, el mejor mes de mi vida a nivel profesional. Ha sido tan bueno que será difícil que se repita algo así que dicho así no es como para celebrarlo.
El mes pasado estuvo durante un día completo en portada de google una aplicación web que hemos hecho en vizzuality de la cual he desarrollado el backend. Lo cierto que el mérito de que estuviese allí no es mío pero ser capaz de preparar la arquitectura de la aplicación para aguantar esa cantidad de usuarios ha sido un reto considerable. Hacer una release con google es ademas en cierto modo estresante, pero eso es para otro post.
4 días más tarde hemos presentado otra aplicación con google en la que he trabajado, esta vez una inforgrafía de la evolución de la web que pusieron en la pantalla cara durante una de las presentaciones principales de la google IO.
También presentaron en la googleIO otra aplicación en la que paricipé el año pasado…
Para rematar el mes hemos sentado las bases de lo que será el nuevo agroguía, ahora somos dos socios más!
Por ultimo solo decir que este será seguramente el último post de este blog, todo lo que tengo que decir ya lo digo en twitter…