El Javi

Software development and other adventures

CollectionAssert.AreEqual vs CollectionAssert.AreEquivalent

Como parte de mi trabajo diario tengo que hacer bastantes tests unitarios. Por esta razón me he ido familiarizando con las distintas clases que el framework de testeo de Visual Studio nos ofrece al respecto. Una de las últimas que descubrí pero, por otra parte, de las más útiles, es CollectionAssert. Esta clase permite realizar aserciones sobre colecciones y listas, como su propio nombre indica. Dos son los métodos que más frecuentemente utilizo, pero cuya semántica es lo bastante parecida como para merecer una explicación un poco más detallada: AreEqual: este método compara dos colecciones […]

By El Javi

Estudio sobre IE9 y los nuevos estándares

Como dije en la presentación del “Estudio sobre Internet Explorer 9 y los nuevos estándares web” que he elaborado, no siempre me queda el tiempo que me gustaría para poder actualizar periódicamente el blog. Hoy vuelvo después de un par de meses sin escribir nada, poniendo a disposición de quien esté interesado este whitepaper. La temática del mismo es analizar, en primer lugar, todo lo que tiene que ver con estándares web, sus organismos, sus etapas de madurez etc. El whitepaper hace un especial énfasis en todo lo que tiene que ver con el testeo […]

By El Javi

HTML5: Primeros pasos

Es la tecnología del momento, y probablemente del futuro: HTML5. En este primer post voy a empezar por lo más básico: algunas de las nuevas etiquetas que han aparecido con el nuevo (futuro) estándar. En concreto, estas nuevas etiquetas han surgido con la idea de dotar de una mayor semántica a la Web. Hace unos años la gente de Google realizó un estudio sobre los “class names” más populares. En el Top-20 aparecieron términos como “footer”, “header” “nav” o “sidebar”. No es, en realidad, nada sorprendente si tenemos en cuenta que muchos sitios web siguen […]

By El Javi

IE9 y el Dead Code Elimination

Llevamos muchos años oyendo que Mozilla Firefox es el navegador más rápido. Unos cuantos menos oyendo que Google Chrome es aún más rápido. Y aún más oyendo decir que Internet Explorer era el más lento de todos. Se ha convertido en una especie de mantra, de verdad fundamental e incuestionable. Casi tan incuestionable como que los ingenieros de Microsoft son todos borderline. Pero resulta que en el último año los borderline se han puesto las pilas con Internet Explorer 9 y llevan un año mostrándonos como, Platform Preview tras Platform Preview, IE9 iba poco a […]

By El Javi

Forzar ejecución en 32 bits

Escenario: una aplicación .NET ejecutándose en una máquina de 64 bits, que falla. Exactamente el mismo ejecutable, sobre una máquina de un compañero en 32 bits, funciona perfectamente. ¿Podemos forzar a esa aplicación a ejecutarse con compatibilidad 32 bits, como hacen montones de aplicación hoy en día en los entornos de 64 (me viene a la cabeza Visual Studio 2010, por ejemplo). Claramente, sí. Después de un poco de investigación, encontré este enlace describiendo las distintas posibilidades que tenemos. Voy a explicar cuál es la que aplicaba a mi escenario. Modificar flag en Assembly En […]

By El Javi

Silverlight–FallbackValue y TargetNullValue

En estos días me encuentro inmerso en un proyecto con Silverlight. Uno de los últimos problemas que me he encontrado involucraba el siguiente escenario: Control cuya visibilidad está enlazado a una propiedad de un objeto (en este caso, un campo del Content de un NavigationFrame) Este frame, en un primer momento, tiene null en esta propiedad Content, hasta que navega. El problema es que esta navegación se producía un instante después de que el control se creara, por lo que durante ese instante, el binding fallaba y la propiedad de visibilidad se establecía a Visible, […]

By El Javi

PDC 2010 vía streaming en directo

Me ha llegado un email de la gente de Microsoft comentando que van a ofrecer en directo en sus oficinas el PDC, via streaming. El evento es los días 28 y 29 de Septiembre, a partir de las 18:00 (hora peninsular). Entre las actividades que han programado, aparte de presenciar el evento, tenemos esto: Video streaming en directo y bajo demanda se presentará en alta resolución (720p) utilizando la tecnología Smooth Streaming de Silverlight. Vista en doble pantalla del ponente y de los demos/códigos presentados, con SCREEN PINNING y la posibilidad de etiquetar y marcar […]

By El Javi

Evento “Ciclo de vida unplugged” con Madrid.NET

Observemos la imagen que preside este post. ¿Qué podemos ver en ella? ¿Una litografía sobre personas empujando un carro con ruedas cuadradas? No, en realidad lo que vemos es un proyecto software clásico. En la delantera tenemos al jefe de proyecto, que desconocedor de la existencia de las ruedas redondas, ha intentado idear un mecanismo para que el proyecto avance más rápidamente que si hubiera que desplazar su pesada carga a mano. Sin embargo, sus buenas intenciones se han plasmado en un EPIC FAIL de ruedas cuadradas del que, por mucho que tira, no consigue […]

By El Javi

Silverlight: Binding de textboxs a propiedades nullables

No descubro nada si digo que Silverlight tiene un magnífico sistema de binding, con el que nos podemos ahorrar muchísimo “code behind”. Sin embargo, me he encontrado un extraño comportamiento cuando se combina con propiedades nulables, como serían int?. Mi escenario era el siguiente: Un textbox bindeado a una propiedad int? en una entidad que era el data context de mi control Un botón que, al pulsarlo, lanzaba de forma manual el checkeo de los bindings de todos los textboxs, incluido el anterior (método UpdateSource del binding) Todos los métodos set de las propiedades son […]

By El Javi

Filtrar generación en Moles

Últimamente me he tenido que pelear un poco con Moles. Para los que no sepan qué es Moles, pueden consultar este post mío de hace un tiempo (ya me parezco a Enrique Dans autocitándome). Para los perezosos, resumir en que es un framework para testing que permite inyectar código en cualquier llamada al framework .NET. El ejemplo que suele verse en la mayoría de vídeos y textos demuestra cómo se puede “configurar” lo que queremos que devuelva DataTime.UtcNow, algo que sin Moles resulta imposible, pues UtcNow no tiene método set. Bien, si en una librería […]

By El Javi

By Daniele Zedda • 18 February

← PREV POST

By Daniele Zedda • 18 February

NEXT POST → 34
Share on