Archivo de la etiqueta: Utilidades

Increible lista de Power Tools

Scot Hanselman lleva años haciendo y actualizando una lista personal de aplicaciones muy interesantes que usa y recomienda. Lo hemos visto hoy con su última actualización resaltando en color rojo las últimas herramientas añadidas.

La lista está en el idioma de Shakespeare. Pide que por favor no se reproduzca, copie y pegue en ningún sitio ya que es un trabajo personal que lleva haciendo desde hace bastantes años y pide que en cambio se enlace desde los sitios que quieran compartirla.

La he encontrado bastante interesante y ya estoy usando alguna de ellas.

Os recomiendo que le deis una ojeada, seguramente encontraréis algo interesante.

Os dejo directamente el enlace:

http://www.hanselman.com/toolsHerramientas recomendadas por Scott Hanselman

 

Espero que os sirva alguna de estas aplicaciones.

Juan María Laó Ramos.

 

Publicación en desarrolloweb.com

Me llena de orgullo y satisfacción anunciar mi primera publicación en desarrolloweb.com.

Un artículo sobre cómo podemos aprovecharnos de las herramientas de análisis estático de código:

http://www.desarrolloweb.com/articulos/mejorar-codigo-visual-studio.html

Espero que os sirva.

Juan María Laó Ramos

Extensión de Visual Studio: Web Essentials de Mads Kristensen

Visual Studio 2010 es muy extensible y ha permitido a mucha gente del equipo a que prueben nuevas caracteríticas para del desarrollo web sin tener que recompilar Visual Studio. Una de esas extensiones es "Web Essentials" que ha hecho Mads Kristensen. Mads es el que se encarga de las herramientas de HTML5 y CSS3 en nuestro equipo. Sigue leyendo

ImageResizer una pequeña joya

El número de paquetes disponibles en el sitio NuGet se está empezando a llenar. Os recomiendo que le echéis un vistazo de vez en cuando para ver qué cosas nuevas van apareciendo, seguro que encontráis algo que os pueda ser útil.

Hoy vamos a ver un pequeño pero útil paquete del que Bertrand Le Roy se ha hecho eco hace poco para poder reescalar imágenes de forma sencilla en ASP.NET. El paquete es ImageResizer. Sigue leyendo

Mejora tu código, código, código (III)

Continuamos con la mini serie sobre análisis estático de código con el último post de la serie.

Aquí tenéis el enlace al primero y al segundo.

Y es que en los anteriores post no hemos visto el trato con el código heredado o legacy code (ese gran hijo de ...). Y es que es un handicap muy común en nuestro día a día.

Si este código heredado no tiene contratos, vamos a obtener algunos warnings molestos del Static Checker. Sin embargo, la API de Code Contracts nos ofrece un pequeño workarround sobre esto.

Básicamente, este tipo de warnings son debidos a la falta de información - el Checker no es capaz de encontrar la información necesaria. Sin embargo, podemos dar algunos detalles.

Vamos a mirar el siguiente código:

Código con un Warning

Código con un Warning

El checker nos avisa de una posible referencia nula. Aparentemente la variable context está siendo usada sin haber sido inicializada. ¿Quién es el responsable del warning, el Checker u otra cosa?

En este caso, el aviso lo está dando ReSharper, cuyo motor de análisis identifica una posible referencia nula. ¿Pero porqué no nos lo da el Checker?, la respuesta es por la línea:

Contract.Assume(context!=null);

Y es que con esa línea le estamos diciendo al Checker que la variable context nunca va a ser nula. El Checker confía en nosotros y añade esa información a sus procesos. Resharper no ofrece soporte completo a los contratos de .NET, de ahí el aviso. Sin embargo, ReSharper soporta su propio sistema de anotaciones que podéis usar de la misma manera. Si queréis ver más detalles pasáos por aquí.

Uso óptimo del análisis estático de código.

El análisis estático es complejo, y no suele ser una ciencia exacta. Suele ocurrir que rellenamos nuestro código con información de contratos con la mejor intención, sólo para hacer que el tiempo de compilación se dispare. Para esto hay un par de soluciones que podríamos tomar para optimizar el uso de contratos y los análisis siguientes.

La primera es crear una configuración de compilación especial y habilitar las comprobaciones sólo en esa configuración. Compilamos en esa configuración de vez en cuando para obtener información, la corregimos los posibles problemas y continuamos trabajando sin el análisis estático.

La segunda es probar a usar contratos poco a poco. Aplicamos contratos de manera extensiva en el código, pero deshabilitamos los contratos a nivel de assembly. Esto lo asemos añadiendo el siguiente atributo en las propiedades del assembly:

[assembly:ContractVerification(false)]

Lo siguiente, es re-habilitar el checkeo de contratos sólo cuando estemos centrados en clases, métodos o assemblies.

Aviso

El análisis estático de código es una técnica que intenta evaluar el correcto funcionamiento de vuestro código sin ejecutarlo. Hay algunas herramientas que hacen esto. La primera es el compilador, otra es el Static Checker - un ejecutable que se integra en el proceso de compilación. En .NET, una herramienta especial aprende desde los contratos que tengáis, evalúa la información y nos muestra posibles errores y violaciones de contratos.

En el momento en el que la complejidad aumenta continuamente y el equipo de desarrollo se va quedando sin tiempo, integrar este tipo de herramientas salva algún tiempo de compilación, pero más importante, nos protege de errores feos en nuestro software.

 

Juan María Laó Ramos.

Imagen de la configuración de static checker

Mejora tu código, código, código (II)

Hace dos días vimos una pequeña introducción sobre las herramientas de análisis estático de código.

Hoy vamos a ver un poco lo que ofrece Visual Studio 2010 y .NET 4 junto a la herramienta Static Checker  creada por el equipo de Contratos de código. Sigue leyendo

Mejora tu código, código, código

Pasa muchas veces, que cuando le enseñas a alguien tu código te quedas con cara de tonto. A mi me pasa mucho, y aún sabiendo que tengo herramientas disponibles para evitarlo en gran medida. Estoy hablando de las herramientas de análisis estático de código.

Cada vez son más las herramientas disponibles. Incluso la última versión del compilador de C# busca violaciones del principio de Liskov, sin embargo no lo califica como un error sino como sólo un warning.

Visual Studio 2010 viene con una nueva característica de análisis de código que podemos usar para realizar un análisis más profundo y evitar sonrojarnos cuando enseñamos nuestro código:

Opciones de Visual Studio 2010

Opciones de Visual Studio 2010

Incluso se pueden establecer y personalizar las reglas que queremos cumplir:

Warnings de VS 2010

Warnings de VS 2010

Estas herramientas nos ofrecen avisos sólo cuando se incumplen estas reglas. Incumplir una regla no significa que haya un bug, sólo indica que hay un posible bug y es mejor hecharle un vistazo sin esperar a que aparezca Murphy por ahí diciéndonos: "te lo dije, si algo puede fallar, fallará".

Espero que os sirva, y a mi también.

Juan María Laó Ramos.

HTML5 y subtítulos en vídeos

La promesa de HTML 5 es una Web que funcione para todos. La accesibilidad multimedia por medio de subtítulos es una parte muy importante de esa promesa y es un area que se tiene muy en cuenta en los estándars. Usando el elemento trac de HTML5, podemos añadir subtítulos a videos HTML5 a través de un archivo que contiene la información necesaria en formato de texto. Una vez que el estándar de subtítulos se estableza no será necesario instalar addins para publicar un video accesible:

Imagen de un video con subtítulos

Imagen de un video con subtítulos

El siguiente trozo HTML muestra cómo funciona el elemento track:

<video>

<sourcetype="video/mp4"src="video_file"></source>

<tracksrc="captions_file"label="English captions"kind="captions"srclang="en-us"default></track>

<tracksrc="descriptions_file"label="English description"kind="descriptions"srclang="en-us"></track>

</video>

La especificación de la W3C para HTML5 permite muchos formatos de subtítulos. La Beta de Internet Explorer 10 de la Windows Developer Preview soporta este elemento, pero aún no muestra los subtítulos. Y es que aún no hay nada decidido, sigue en estudio y hay un grupo para tratar el tema de los subtítulos

El equipo de Internet Explorer ha querido testear este escenario en el que se pueden usar varios formatos para obtener un mayor feedback, as'i que han creado un sitio en el que se puede usar el formato TTML-1.0 y el WebVTT. WebVTT surgió el año pasado y TTML es un estándar ya establecido para subtítulos soportado en Adobe Flash y Silverlight. Es usado en Netflix, Hulu y otros servidores para mostrar contenido en broadcast.

 Pantallazo del entorno de test para mostrar subtítulos

Podéis interactuar con el prototipo en el sitio de laboratorio de HTML 5. Mirad con vuestras herramientas el javascript qu ehace todo esto posible.

Juan María Laó Ramos.

Artículo original.

Juego Silverlight 5 con XNA

Un juego Silverlight 5 con XNA.

¿Podría ser el primer juego 3D en Silverlight?

Aquí tenéis un shooter que creó para la AppWeek 2010 usando las nuevas características 3D de Silvlerlight 5. Tendréis que instalar el plugin de Silverlight 5 RC (si no lo tenéis aún). Y jugar al juego aquí.

Una vez que termine la animación inicial, podréis empezar a disparar a los enemigos:

Juego Silverlight 5 con XNA

Juego Silverlight 5 con XNA

 

Espero que os guste.

Juan María Laó Ramos.

Sácale más provecho a tus desarrollos con WP7

Microsoft está empezando a desarrollar su plataforma de anuncios y está dando pasos uno detrás de otro.

Desde la nueva iniciativa en Microsoft Advertising pubCenter ya es posible darnos de alta y empezar a incluir anuncios en nuestras aplicaciones para WP7 para sacar más rendimiento de nuestros desarrollos sin coste para el usuario final siguiendo la línea de otros Markets como el de Apple o Android.

Cómo es la vida, el copiado se ha convertido en copiador, 😉

Y dentro de poco estará disponible una versión para poder hacerlo en nuestras webs.

Espero que os guste.