lunes, 15 de diciembre de 2014
Ahí van los enlaces recopilados durante la semana pasada, espero que os resulten interesantes :-)
ASP.NET
- How to Choose the Best Way to Pass Multiple Models in ASP.NET MVC
Snesh Prajapati - Razor views pre-compilation with ASP.NET 5 and MVC 6
Filip Woj - Running ASP.NET on a Raspberry Pi with Mono and OWIN
Jan Tielens - ASP.NET vNext Project Creation using Yeoman
Shayne Boyer
Publicado por José M. Aguilar a las 1:45 p. m.
Nadie ha comentado la entrada, ¿quieres ser el primero?
Etiquetas: enlaces
martes, 9 de diciembre de 2014
Ahí van los enlaces recopilados durante la semana pasada, espero que os resulten interesantes :-)
.Net
- Creating multi-target NuGet Packages with vNext
Rick Strahl - Modification of .NET expressions
Ivan Yakimov - Introducing .NET Core
Immo Landwerth - 10 Extremely Useful .NET Extension Methods
Jonathan Danylko - Getting ready for the future with the Microsoft .NET Portability Analyzer
Scott Hanselman
miércoles, 3 de diciembre de 2014
Aunque aún en beta e inmersa en un intenso proceso de desarrollo, la próxima versión de ASP.NET MVC está tomando forma en los hornos de Microsoft, y, sin ser definitivas, ya se pueden ver cuáles serán las novedades principales que la acompañarán.
En futuros posts iremos entrando en mayor detalle, pero de momento vamos a echar un vistazo desde una cierta distancia para tener la idea general sobre dónde estamos y la evolución que vamos a encontrar en las nuevas versiones de tecnologías y plataformas, de forma que podamos ver en qué nos afectará como desarrolladores y, en definitiva, para qué tenemos que irnos preparando.
En futuros posts iremos entrando en mayor detalle, pero de momento vamos a echar un vistazo desde una cierta distancia para tener la idea general sobre dónde estamos y la evolución que vamos a encontrar en las nuevas versiones de tecnologías y plataformas, de forma que podamos ver en qué nos afectará como desarrolladores y, en definitiva, para qué tenemos que irnos preparando.
Disclaimer: estamos aún en una fase en la que algunas cosas pueden cambiar y aún no existe información exhaustiva de muchos detalles, por lo que pueden existir ausencias o imprecisiones. Pero bueno, digo yo que el grueso será más o menos correcto ;-)
lunes, 1 de diciembre de 2014
Ahí van los enlaces recopilados durante la semana pasada, espero que os resulten interesantes :-)
.Net
- Constrained C#
Paulo Zemek - .NET Shell Extensions - Shell Context Menus
Dave Kerr - OmniSharp - Making cross-platform .NET a reality, and a pleasure
Scott Hanselman - Converting PDF to Text in C#
Dan Letecky - Design and Implementation Mistakes - Mostly .NET
Paulo Zemek
martes, 25 de noviembre de 2014
Seguimos con esta serie sobre las novedades de C# 6, y esta vez le toca el turno a una solicitada característica que recientemente ha entrado a formar parte de las elegidas para formar parte de esta nueva versión de nuestro lenguaje favorito: la interpolación de cadenas.
Dado que aún se encuentra en desarrollo no es posible probarlo de forma sencilla, por lo que de momento tendremos que conformarnos con sacar conclusiones basándonos en la discusión de diseño en Codeplex y de la documentación existente. Avisan además que la especificación puede ser modificada, por lo que todo lo que digamos aquí aún puede variar algo, aunque mayormente será (espero) válido.
Dado que aún se encuentra en desarrollo no es posible probarlo de forma sencilla, por lo que de momento tendremos que conformarnos con sacar conclusiones basándonos en la discusión de diseño en Codeplex y de la documentación existente. Avisan además que la especificación puede ser modificada, por lo que todo lo que digamos aquí aún puede variar algo, aunque mayormente será (espero) válido.
lunes, 24 de noviembre de 2014
Ahí van los enlaces recopilados durante la semana pasada, espero que os resulten interesantes :-)
.Net
- What is .NET Core 5 and ASP.NET 5 within .NET 2015 Preview
César de la Torre - PostSharp 4.1 Preview 1: Support for Xamarin & Visual Studio 2015
Gael Fraiteur - .NET es open source, ¿y ahora qué?
Juan María Hernández
miércoles, 19 de noviembre de 2014
Pues sí, a mí me ha pasado, así que lo comento por aquí porque es posible que alguien más se vea en esta situación al ir a tocar una aplicación MVC antigua.
Resulta que hace unos días Microsoft distribuyó a través de Windows Update un parche de seguridad denominado Microsoft Security Bulletin MS14-059, clasificado como importante, y cuyo objetivo es corregir una vulnerabilidad descubierta en sistemas basados en MVC desde la versión 2 relativa a la forma en que el framework valida los datos de las peticiones entrantes, y que hacer que un atacante utilizara técnicas XSS para obtener un acceso privilegiado a sitios web.
Hasta aquí todo bien, el problema viene cuando por cualquier motivo tenemos que volver a compilar esas aplicaciones. Las versiones de MVC anteriores a la 5 referenciaban directamente a ensamblados guardados en el GAC con un número de versión determinada, que la instalación del parche de seguridad ha incrementado. Como consecuencia, al compilar estas aplicaciones obtenemos errores variopintos como el siguiente:
La que a mí me ha funcionado consistió simplemente en ejecutar el siguiente comando en la consola del gestor de paquetes Nuget (ojo, ¡haced antes una copia del proyecto, por si falla!):
Desde el blog oficial de herramientas y desarrollo web de .NET recomiendan comprobar que la propiedad “Copia local” esté activa en la referencia del proyecto hacia el ensamblado
En mi caso no fue necesario hacer nada pues estaba todo correcto, y a partir de ese momento todo volvió a la normalidad y pude comenzar a compilar de nuevo sin problema.
Ya a la hora de desplegar al servidor, simplemente tened en cuenta unos detalles:
Resulta que hace unos días Microsoft distribuyó a través de Windows Update un parche de seguridad denominado Microsoft Security Bulletin MS14-059, clasificado como importante, y cuyo objetivo es corregir una vulnerabilidad descubierta en sistemas basados en MVC desde la versión 2 relativa a la forma en que el framework valida los datos de las peticiones entrantes, y que hacer que un atacante utilizara técnicas XSS para obtener un acceso privilegiado a sitios web.
Hasta aquí todo bien, el problema viene cuando por cualquier motivo tenemos que volver a compilar esas aplicaciones. Las versiones de MVC anteriores a la 5 referenciaban directamente a ensamblados guardados en el GAC con un número de versión determinada, que la instalación del parche de seguridad ha incrementado. Como consecuencia, al compilar estas aplicaciones obtenemos errores variopintos como el siguiente:
Could not locate the assembly "System.Web.Mvc,Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35,processorArchitecture=MSIL".La verdad es que al principio sorprende bastante (“¿Cómooo? Pero si hace meses que no toco esta aplicación, ¿cómo es posible que no compile? ¿Quién la ha roto?”), pero buscando un poco por la red es fácil encontrar varias soluciones.
La que a mí me ha funcionado consistió simplemente en ejecutar el siguiente comando en la consola del gestor de paquetes Nuget (ojo, ¡haced antes una copia del proyecto, por si falla!):
Install-Package Microsoft.AspNet.Mvc -Version <version> -Project <YourProjectName>En la línea anterior debéis sustituir:
<YourProjectName>
por el nombre de vuestro proyecto. Esto es simplente para asegurar que instaláis el paquete en el proyecto correcto si estáis usando una solución con varios de ellos.<Version>
depende de la versión del framework usada en el proyecto y debe ser:- 4.0.40804.0 si usáis MVC 4
- 3.0.50813.1 si usáis MVC 3
Desde el blog oficial de herramientas y desarrollo web de .NET recomiendan comprobar que la propiedad “Copia local” esté activa en la referencia del proyecto hacia el ensamblado
System.Web.Mvc
, pues al parecer existe un bug conocido de Nuget que puede resetear dicha propiedad, y que necesariamente debe estar activa para que éste sea copiado a la carpeta /bin tras construirse la solución.En mi caso no fue necesario hacer nada pues estaba todo correcto, y a partir de ese momento todo volvió a la normalidad y pude comenzar a compilar de nuevo sin problema.
Ya a la hora de desplegar al servidor, simplemente tened en cuenta unos detalles:
- Tendréis que subir los binarios de Mvc, porque probablemente hasta el momento en el servidor se utilizaban los presentes en el GAC.
- Estad atentos al web.config, porque en la misma instalación realizada por Nuget es posible que se hayan introducido modificaciones en él, que tendréis que actualizar en el servidor.
- http://blogs.msdn.com/b/webdev/archive/2014/10/16/microsoft-asp-net-mvc-security-update-broke-my-build.aspx
- https://technet.microsoft.com/en-us/library/security/ms14-059
martes, 18 de noviembre de 2014
Seguimos hablando de las novedades de C# 6, y en esta ocasión nos centraremos en una interesante característica cuyo nombre, sinceramente, no estoy seguro de ser capaz de traducir de forma correcta del original “Expression bodied function members”. Quizás sería algo así como “expresiones en cuerpo de miembros de función”, pero bueno, lo importante no es el nombre sino el concepto, así que vamos a centrarnos en él.
lunes, 17 de noviembre de 2014
Ahí van los enlaces recopilados durante la semana pasada, en gran parte protagonizados por los jugosos anuncios y lanzamientos que se hicieron públicos en el evento Connect que tuvo lugar de hace unos días. Espero que os resulten interesantes :-)
.Net
- .NET Core is Open Source
Immo Landwerth - Microsoft Open Sources .NET and Mono
Miguel de Icaza - ASP.NET MVC Tag Helpers – Web Controls 2.0?
Jeff Fritz - Avoid async void methods
Phil Haack
martes, 28 de octubre de 2014
Este año, por cuarta vez consecutiva, tendré el placer de asistir dentro de unos días al MVP Global Summit, un macro evento anual organizado por Microsoft en el que reúne a todas las personas reconocidas como Most Value Professional para compartir novedades e intercambiar ideas y planes sobre las tecnologías con las que trabajamos a diario y, mejor aún, con las que trabajaremos dentro de algún tiempo.
Podéis imaginar lo que puede salir de una coctelera en la que introducimos algunos miles de personas procedentes de todos los rincones del mundo, técnicamente excepcionales en muchos casos, y figuras reconocidas y miembros de equipos de producto de Microsoft, compartiendo innumerables sesiones técnicas, debates y encuentros informales organizados durante los días de duración del evento. Una gozada.
Además, creo que este año el evento va resultar especialmente jugoso desde el punto de vista técnico, más que nada por las nuevas tecnologías y herramientas que están empezando a vislumbrarse por el horizonte y que todos ya conocemos :)
Y por supuesto, también es una oportunidad de disfrutar de la compañía de amigos que sólo coincidimos en persona en este tipo de eventos, una o dos veces al año como máximo. Y, por qué no, para seguir conociendo Seattle y sus alrededores, que estas oportunidades hay que aprovecharlas ;)
¡Nos vemos a la vuelta!
Seguimos con la serie donde vamos desgranando las novedades de C# 6, y en esta ocasión vamos a ver algunas mejoras en el uso de bloques try/catch, a las que seguro podremos sacar buen partido.
En este post trataremos dos temas distintos. En primer lugar, comentaremos la introducción del soporte de
Vamos a ello :-)
En este post trataremos dos temas distintos. En primer lugar, comentaremos la introducción del soporte de
await
en bloques catch
/finally
, y seguiremos con la nueva capacidad de filtrado de excepciones.Vamos a ello :-)
lunes, 27 de octubre de 2014
Ahí van los enlaces recopilados durante la semana pasada, espero que os resulten interesantes :-)
.Net
- Simple image comparison in .NET
Jakob XnaFan Krarup - Announcing PostSharp 4 RTM
Gael Fraiteur
martes, 21 de octubre de 2014
En otras ocasiones hemos hablado de novedades que acompañarán a la próxima revisión de C# que nos ahorraban algo de tiempo y pulsaciones de tecla a la hora de codificar algunos escenarios bastante frecuentes, a la vez que mejoraban la legibilidad.
Pues en esa misma línea, vemos ahora una nueva forma de inicializar colecciones clave-valor, como son los diccionarios. Ciertamente es un cambio bastante pequeño, de los que fácilmente podrían pasar desapercibidos junto a otras novedades de mayor peso, pero creo que también vale la pena conocerlo.
Pues en esa misma línea, vemos ahora una nueva forma de inicializar colecciones clave-valor, como son los diccionarios. Ciertamente es un cambio bastante pequeño, de los que fácilmente podrían pasar desapercibidos junto a otras novedades de mayor peso, pero creo que también vale la pena conocerlo.
jueves, 16 de octubre de 2014
Hace unos días mostrábamos por aquí el nuevo operador
En los comentarios de este post, el amigo Kiquenet se preguntaba qué incidencia podía tener el uso de este operador en el rendimiento de nuestras aplicaciones, y esa duda es la que vamos a responder muy rápidamente ahora.
nameof
que acompañará a C# 6, y cuya función, resumidamente, es obtener el nombre a nivel de código de la variable o miembro a la que se aplica:En los comentarios de este post, el amigo Kiquenet se preguntaba qué incidencia podía tener el uso de este operador en el rendimiento de nuestras aplicaciones, y esa duda es la que vamos a responder muy rápidamente ahora.
miércoles, 15 de octubre de 2014
Siempre he pensado que el término “parche” aplicado al desarrollo de software se utilizaba por analogía con el mundo real. Al fin y al cabo, poner un parche en una aplicación es conceptualmente bastante parecido a hacerlo en una rueda pinchada, ¿no?
Pero no, como en otras ocasiones que ya hemos visto por aquí, no es un tema nada conceptual. La realidad es bastante más pragmática, y el uso de la palabra “parche” es literal y simplemente responde a razones históricas.
Pero no, como en otras ocasiones que ya hemos visto por aquí, no es un tema nada conceptual. La realidad es bastante más pragmática, y el uso de la palabra “parche” es literal y simplemente responde a razones históricas.
martes, 14 de octubre de 2014
Ahí van los enlaces recopilados durante la semana pasada, espero que os resulten interesantes ;-)
Eventos
- Sevilla Mobility Day Strikes Back
Sábado 25 de octubre, 9:00h
.Net
- C#- Vitaminiza tus enums con métodos de extensión
- Eduard Tomás
- Handling TPL exceptions in MSTest unit tests
Mario Majčica - Rapid Object Detection in C#
Darko Juric
martes, 7 de octubre de 2014
Cuando los lenguajes evolucionan, no todas las novedades son espectaculares ni revolucionan la forma de escribir nuestro código. A veces la cosa va simplemente de añadir pequeños detalles que nos hacen la vida más fácil y ayudan a evitar errores.
Y hoy hablaremos de uno de ellos: el nuevo operador
Y hoy hablaremos de uno de ellos: el nuevo operador
nameof
, que acompañará a C# a partir de su versión 6.
lunes, 6 de octubre de 2014
Ahí van los enlaces recopilados durante la semana pasada, espero que os resulten interesantes ;-)
.Net
- Better than nothing
Eric Lippert - C# – SomeEnum.ToString measured to be 400x slower
Daniel Wertheim - .NET Just in Time Compilation and Warming up Your System
Abhinaba Basu - Digging into .NET Object Allocation Fundamentals
Ben M. Watson - Will it block? Debunking async/await pitfalls
Matthias Welz
martes, 30 de septiembre de 2014
[Actualizado 16-Nov-2014] El equipo de diseño del lenguaje C# ha decidido finalmente no incluir esta característica en la versión 6. En fin, fue bonito mientras duró :(
Seguimos comentando novedades que encontraremos en la próxima versión de C#, y en esta ocasión vamos a ver una nueva característica que, sin resultar espectacular, sí nos va a proporcionar una fórmula más cómoda y concisa para resolver algunos escenarios bastante habituales.
Seguro que os resulta familiar el siguiente código, más que nada porque lo habréis escrito decenas o cientos de veces:
lunes, 29 de septiembre de 2014
Ahí van los enlaces recopilados durante la semana pasada, espero que os resulten interesantes ;-)
.Net
- Capturing Performance Counter Data for a Process by Process Id
Rick Strahl - Confusing errors for a confusing feature, part one
Eric Lippert - Return Types for Methods that Return Collections
Peter Vogel - .Net Threading You Need To Know
Sandeep sunku
martes, 23 de septiembre de 2014
En posts anteriores hemos hablado del operador de navegación segura “.?” y de la inicialización de propiedades automáticas, y vamos a comentar ahora otra de las novedades de la versión de C# que viene en camino, pero que en esta ocasión no tengo claro que sea un avance en la dirección correcta. Os lo cuento y ya decidís vosotros ;-)
Hay escenarios en los que en el interior de una clase utilizamos de forma intensiva miembros estáticos de otras clases. Un ejemplo habitual podemos encontrarlo en componentes que hagan mucho uso de
Hay escenarios en los que en el interior de una clase utilizamos de forma intensiva miembros estáticos de otras clases. Un ejemplo habitual podemos encontrarlo en componentes que hagan mucho uso de
System.Math
para la realización de cálculos matemáticos, o incluso en el conocido System.Console
:
lunes, 22 de septiembre de 2014
Ahí van los enlaces recopilados durante la semana pasada, espero que os resulten interesantes ;-)
.Net
- Código sin nulls
Eduard Tomás - .NET Sample Code on GitHub
Immo Landwerth - Subir un video a Youtube desde .NET
Gisela Torres - Internal or public?
Eric Lippert - C# 6.0 Features Part 3: Declaration Expressions
K. Scott Allen - Virtual vs Override vs New Keyword in C#
Abhishek Jaiswall - Is IQueryable poisoning your interfaces?
Tilovell09 - Custom Getter Setters in C# using Regular Expression based templates
Amitthk
martes, 16 de septiembre de 2014
Hace algún tiempo comentamos alguna de las novedades que se incluirán en la próxima versión de C#, concretamente el nuevo operador de navegación segura “?.”, pero la cosa no acaba aquí: se avecinan un buen número de cambios que prometen seguir mejorando nuestro lenguaje favorito :-)
Por ejemplo, una nueva característica que tendremos disponible es la inicialización de propiedades automáticas, algo que antes también podíamos hacer, aunque de forma menos directa.
Por ejemplo, una nueva característica que tendremos disponible es la inicialización de propiedades automáticas, algo que antes también podíamos hacer, aunque de forma menos directa.
lunes, 15 de septiembre de 2014
Ahí van los enlaces recopilados durante la semana pasada, espero que os resulten interesantes ;-)
<Spam>Por cierto, aprovecho para informaros de que si estáis interesados en aprender ASP.NET MVC u otras tecnologías, en CampusMVP han lanzado para este mes una oferta que no podréis rechazar ;-)</Spam>
<Spam>Por cierto, aprovecho para informaros de que si estáis interesados en aprender ASP.NET MVC u otras tecnologías, en CampusMVP han lanzado para este mes una oferta que no podréis rechazar ;-)</Spam>
.Net
- A .NET QueryString and Form Data Parser
Rick Strahl - Overview of C# 6 language enhancements
Bill Wagner
lunes, 8 de septiembre de 2014
Pues era prácticamente ayer cuando dejaba en pausa el blog por la cercanía de las vacaciones, y ya estamos por aquí otra vez listos para la nueva temporada. Y no, no es que me haya pegado más de un mes de descanso (¡quién pudiera!), más bien casi ha sido al contrario: un verano bastante liado y muy pocos días de desconexión efectiva... pero bueno, contento y entusiasmado por la temporada tan apasionante y repleta de novedades que tenemos por delante :-)
Y para celebrar el retorno como la ocasión merece, ahí van unos cuantos enlaces cosechados durante la semana pasada, que, como siempre, espero que os resulten interesantes.
Y para celebrar el retorno como la ocasión merece, ahí van unos cuantos enlaces cosechados durante la semana pasada, que, como siempre, espero que os resulten interesantes.
lunes, 28 de julio de 2014
Pues llegó la mejor época del año, prácticamente la única en la que algunos afortunados podemos alejarnos un poco de los mundos binarios y dedicarnos a otros menesteres seguro más importantes, como disfrutar de la familia y descansar, al menos unos días.
Variable not found quedará a la deriva hasta septiembre, cuando volveremos al ataque con las pilas cargadas y listos para afrontar la nueva temporada :)
¡Feliz verano, amigos!
Variable not found quedará a la deriva hasta septiembre, cuando volveremos al ataque con las pilas cargadas y listos para afrontar la nueva temporada :)
¡Feliz verano, amigos!
martes, 22 de julio de 2014
Hay veces que desde Javascript nos interesa ejecutar un código u otro en función de si la ejecución se está produciendo en un servidor de desarrollo o en uno de producción. Por ejemplo, en el primer caso suele ser interesante disponer de logs o herramientas de ayuda a la depuración, mientras que en el segundo lo normal es que queramos introducir código más eficiente y sin este tipo de condimentos.
En este post vamos a ver algunas técnicas muy básicas que nos permitirán ejecutar un código u otro en el lado cliente de aplicaciones ASP.NET MVC (o ASP.NET en general) en función del modo de compilación.
En este post vamos a ver algunas técnicas muy básicas que nos permitirán ejecutar un código u otro en el lado cliente de aplicaciones ASP.NET MVC (o ASP.NET en general) en función del modo de compilación.
lunes, 21 de julio de 2014
Ahí van los enlaces recopilados durante la semana pasada, espero que os resulten interesantes ;-)
.Net
- Unusual Ways of Boosting Up App Performance. Strings
Alexey Totin - Switch statement alternative
Nitin Sawant - Covarianza y contravarianza en C#
Rubenfa
lunes, 14 de julio de 2014
Ahí van los enlaces recopilados durante la semana pasada, espero que os resulten interesantes ;-)
.Net
- Unusual Ways of Boosting Up App Performance. Boxing and Collections
Alexey Totin - Release Candidate for Katana 3 and the ASP.NET Security Components
Vittorio Bertocci - Updates to RoslynDom 1.0.9 Alpha
Kathleen Dollard - Stop Cheating the Type System
Marius Schulz - Caché HTTP de cliente en C# (1 de 4): aplicaciones de escritorio
Juan Manuel Servera
martes, 8 de julio de 2014
Otra de las novedades que acompañan a la versión 2.1 de SignalR, y que sin duda puede resultar interesante en muchos escenarios, es la capacidad de tener desde los hubs una pista sobre el motivo por el que se desconectó un cliente, cosa que hasta ahora no era posible utilizando las herramientas que nos proporcionaba el framework de forma directa.
En versiones previas de SignalR, cuando en un hub recibimos el evento
En versiones previas de SignalR, cuando en un hub recibimos el evento
OnDisconnected()
en realidad no sabemos si este cierre ha sido “educado”, es decir, provocado explícitamente por el cliente como consecuencia de una acción, como puede ser que el usuario haya decidido salir de la aplicación, o bien se ha debido a un problema en el software o comunicaciones (imaginad, por ejemplo, que se cae la conexión a internet).
lunes, 7 de julio de 2014
Ahí van los enlaces recopilados durante la semana pasada, espero que os resulten interesantes ;-)
.Net
- Exploring C# variables
925Coder - Threadsafe Incrementing in C#
Eli Weinstock-Herman - It's Tuples All The Way Down!
Josh Eastburn - Advantages of Pure Functions and Idempotent Functions in .Net
Rob Kraft - Neuronal.NET - An Easy Implementation of Neuronal Networks
D. Infuehr - Direct casting vs as casting
Ben Dornis
martes, 1 de julio de 2014
Estimados amigos,
esta vez no os voy a castigar con temas técnicos o frikadas diversas ;-), sólo quería compartir con todos vosotros la tremenda alegría que supone el recibir el famoso mail de Microsoft, todavía calentito en mi bandeja de entrada, informando de que he sido nombrado por cuarto año consecutivo Microsoft MVP en el expertise ASP.NET/IIS.
Es un privilegio seguir formando parte de este selecto grupo de locos por la tecnología entre los que se encuentran tantos amigos que admiro profundamente. Y aunque ciertamente los beneficios del programa son amplios y de gran interés, lo mejor sin duda, al menos para un servidor, es la oportunidad de conocer de cerca a gente de primerísimo nivel, tanto profesional como personalmente hablando, de dentro y fuera de Microsoft. Como ya he comentado seguro por aquí, existe un antes y un después en mi trayectoria profesional desde que fui galardonado por primera vez, y mucho es gracias a la gran oportunidad de networking y visibilidad que ofrece este prestigioso reconocimiento.
Muchas gracias a todos los amigos que hacéis esto posible, al equipo del programa MVP en Microsoft por seguir teniéndome en cuenta, y a la gran Cristina González, nuestra MVP lead (y cada día la de más gente ;-D), por cuidarnos tan bien.
Aprovecho también para felicitar a todos los que hayáis recibido este galardón, ya sea por vez primera (vaya momentazo, eh? ;-)), o los veteranos que repiten una vez más.
Ale, me voy a celebrarlo, ¡hasta pronto! ;-DD
esta vez no os voy a castigar con temas técnicos o frikadas diversas ;-), sólo quería compartir con todos vosotros la tremenda alegría que supone el recibir el famoso mail de Microsoft, todavía calentito en mi bandeja de entrada, informando de que he sido nombrado por cuarto año consecutivo Microsoft MVP en el expertise ASP.NET/IIS.
Es un privilegio seguir formando parte de este selecto grupo de locos por la tecnología entre los que se encuentran tantos amigos que admiro profundamente. Y aunque ciertamente los beneficios del programa son amplios y de gran interés, lo mejor sin duda, al menos para un servidor, es la oportunidad de conocer de cerca a gente de primerísimo nivel, tanto profesional como personalmente hablando, de dentro y fuera de Microsoft. Como ya he comentado seguro por aquí, existe un antes y un después en mi trayectoria profesional desde que fui galardonado por primera vez, y mucho es gracias a la gran oportunidad de networking y visibilidad que ofrece este prestigioso reconocimiento.
Muchas gracias a todos los amigos que hacéis esto posible, al equipo del programa MVP en Microsoft por seguir teniéndome en cuenta, y a la gran Cristina González, nuestra MVP lead (y cada día la de más gente ;-D), por cuidarnos tan bien.
Aprovecho también para felicitar a todos los que hayáis recibido este galardón, ya sea por vez primera (vaya momentazo, eh? ;-)), o los veteranos que repiten una vez más.
Ale, me voy a celebrarlo, ¡hasta pronto! ;-DD
Si os interesa el desarrollo para dispositivos móviles y andáis por Sevilla el próximo sábado 5 de julio no podéis perderos este gran evento de comunidad: Sevilla Mobility Day.
Como en otras ocasiones, la cita será en el Microsoft Clouding Point de Sevilla (C/Biología 12, Edificio Vilamar 2, planta 3, Parque Empresarial Nuevo Torneo), comenzando a las 9:30h y finalizando sobre las 14:00h, es decir, toda una mañana para aprender de la mano de grandes expertos en las distintas tecnologías tratadas.
Como en otras ocasiones, la cita será en el Microsoft Clouding Point de Sevilla (C/Biología 12, Edificio Vilamar 2, planta 3, Parque Empresarial Nuevo Torneo), comenzando a las 9:30h y finalizando sobre las 14:00h, es decir, toda una mañana para aprender de la mano de grandes expertos en las distintas tecnologías tratadas.
lunes, 30 de junio de 2014
Ahí van los enlaces recopilados durante la semana pasada, espero que os resulten interesantes ;-)
.Net
- Ref and Out (The Inside Story)
Akhil Mittal - Creando datos de ejemplo con NBuilder en .NET
Gisela Torres - Métodos de Extensión en C#
Alberto Población - Fun with Custom C# Collection Initializers
Marius Schulz - Would you like a MultiDictionary?
Immo Landwerth - Advantages of Making Your Methods Idempotent and Static in C#
Rob Kraft
miércoles, 25 de junio de 2014
Hace pocos días se ha publicado la revisión 2.1 de SignalR que, aparte de corregir bugs, introduce algunas funcionalidades que pueden resultar interesantes en muchos escenarios. En cualquier caso, como se podría esperar de una revisión de este calado, no rompen con nada existente ni resultan cambios espectaculares, simplemente aportan algunas características que no fueron incluidas en la versión 2.0 por falta de tiempo, o que han surgido con posterioridad.
En esta serie de posts recorreremos las características más interesantes incluidas en esta revisión, y comenzaremos tratando la nueva capacidad de hacer llamadas al lado cliente desde los Hubs utilizando tipado fuerte.
En esta serie de posts recorreremos las características más interesantes incluidas en esta revisión, y comenzaremos tratando la nueva capacidad de hacer llamadas al lado cliente desde los Hubs utilizando tipado fuerte.
lunes, 23 de junio de 2014
Ahí van los enlaces recopilados durante la semana pasada, espero que os resulten interesantes ;-)
.Net
- Uso de DebuggerBrowsable
Jorge Serrano - Exceptions exist for a reason – use them!
John V. Petersen
martes, 17 de junio de 2014
Ahí van los enlaces recopilados durante la semana pasada, espero que os resulten interesantes ;-)
.Net
- Await in Catch and Finally
Stephen cleary - TIP: DebuggerDisplay
Eduard Tomás - [C#] Sobreescribir ToString en nuestras clases para mejorar la información en modo depuración
Luis Ruiz Pavón - How To Simplify Asynchronous Programming with Await and Async
Peter Vogel - Object initializer time vampire
Brian Lowry
martes, 10 de junio de 2014
Hay muchos escenarios, y relativamente habituales, en los que es interesante lanzar una tarea desatendida, en segundo plano, desde una aplicación ASP.NET: manipulación de archivos, envío de mensajes, acceso a recursos externos costosos, procesos de colas, generación de archivos, etc.
En general, es un enfoque que puede interesarnos siempre que se trate de realizar un trabajo pesado, que no requiera intervención alguna por parte del usuario ni siquiera para darle feedback del progreso o terminación, y que pueda ejecutarse de forma independiente a las peticiones HTTP que acceden a la aplicación.
En general, es un enfoque que puede interesarnos siempre que se trate de realizar un trabajo pesado, que no requiera intervención alguna por parte del usuario ni siquiera para darle feedback del progreso o terminación, y que pueda ejecutarse de forma independiente a las peticiones HTTP que acceden a la aplicación.
lunes, 9 de junio de 2014
Ahí van los enlaces recopilados durante la semana pasada, espero que os resulten interesantes ;-)
.Net
- Mixing Sync & Async calls
Ayende Rahien - Neural Networks Using C# Succinctly (Download ebook)
James McCaffey
martes, 3 de junio de 2014
La revisión 5.2 de ASP.NET MVC, cuya release candidate acaba de anunciarse, introduce algunas pequeñas mejoras en los helpers de generación de listas desplegables de esas que, aunque no son imprescindibles, sí nos simplifican un poco la vida a la hora de construir formularios. Estos cambios son:
- La capacidad de agrupar elementos en una lista usando el tag
<optgroup>
de HTML. - La posibilidad de deshabilitar elementos individuales, de forma que aunque aparezcan en la lista no puedan ser seleccionados.
lunes, 2 de junio de 2014
Ahí van los enlaces recopilados durante la semana pasada, espero que os resulten interesantes ;-)
.Net
- Dictionary + Locking versus ConcurrentDictionary
Paulo Zemek - Roslyn basis
Matthieu Mezil - Sudoku using Microsoft Solver Foundation
Unicorn2
martes, 27 de mayo de 2014
Un truquillo rápido para un problema que seguro encontramos al utilizar Bootstrap en proyectos MVC (bueno, en realidad en cualquier tipo de proyecto ASP.NET publicado en IIS), y que espero os sea de utilidad: cómo solucionar el incómodo error 404 que encontramos al acceder a una página en la que se utiliza Glyphicons.
lunes, 26 de mayo de 2014
Ahí van los enlaces recopilados durante la semana pasada, espero que os resulten interesantes ;-)
.Net
- When should I write a property?
Eric Lippert - Métodos asíncronos en c#
Miguel Ángel Martín - IBAN Validator
Sirol81 - NuGet Package of the Week- ImageProcessor - lightweight image manipulation in C#
Scott Hanselman - A C# 6.0 Language Preview
Mark Michaelis - .NET Native Deep Dive: Dynamic Features in Static Code
The .NET Team - Ditching strong naming for Lucene.NET or let's make the world a better place
Itamar Syn-Hershko
martes, 20 de mayo de 2014
Hace tiempo que vengo oyendo hablar de SideWaffle, y siempre refiriéndose a esta extensión como un complemento imprescindible para aumentar nuestra productividad trabajando con Visual Studio en la creación de aplicaciones web, por lo que ya iba siendo hora de echarle un vistazo.
SideWaffle es una extensión para Visual Studio 2012 y 2013 que añade a éste un buen conjunto de plantillas tanto de proyectos de completos (Add > New Project) como de elementos (Add > New item), así como algunos snippets de código listos para usar.
SideWaffle es una extensión para Visual Studio 2012 y 2013 que añade a éste un buen conjunto de plantillas tanto de proyectos de completos (Add > New Project) como de elementos (Add > New item), así como algunos snippets de código listos para usar.