Autor en Google+
Saltar al contenido

Artículos, tutoriales, trucos, curiosidades, reflexiones y links sobre programación web ASP.NET, ASP.NET Core, MVC, SignalR, Entity Framework, C#, Azure, Javascript... y lo que venga ;)

11 años online

el blog de José M. Aguilar

Inicio El autor Contactar

Artículos, tutoriales, trucos, curiosidades, reflexiones y links sobre programación web
ASP.NET, ASP.NET Core, MVC, SignalR, Entity Framework, C#, Azure, Javascript...

¡Microsoft MVP!
lunes, 30 de diciembre de 2013
Enlaces interesantesAhí van la última colección de enlaces del año, quizás algo escasita por las fechas en las que estamos, pero seguro que igualmente interesante ;-)

.Net

Asp.net

Azure / Cloud

Data access

Html/Css/Javascript

Visual Studio/Complementos/Herramientas

Otros

Publicado en Variable not found

Estos contenidos se publican bajo una licencia de Creative Commons Licencia Reconocimiento-No comercial-Compartir bajo la misma licencia 3.0 España de Creative Commons

sábado, 28 de diciembre de 2013
GUID Colliding SequenceLos GUID (Globally Unique Identifier) son una serie de 16 bytes generados pseudoaleatoriamente que se suelen utilizar para identificar de forma única objetos, dispositivos, componentes, o prácticamente cualquier cosa. Y, a diferencia de otros tipos de identificadores, el “única” debe ser interpretado de forma global, es decir, es virtualmente imposible que un GUID utilizado para un elemento se repita en otro equipo, lugar o sistema.

No hay magia negra en esto, es pura matemática. El número de combinaciones posibles es 2128; dicho así no parecen demasiadas, pero para que os hagáis una idea de las magnitudes, serían algo así como 3.400.000.000.000.000.000.000.000.000.000.000.000.000 valores distintos, número arriba o número abajo ;-). Si os parece difícil que os toque la lotería, supongo que podréis intuir lo poco probable que es que existan colisiones si decidimos seleccionar un GUID, por ejemplo, como campo clave en filas de una base de datos, o como nombres de fichero que queremos asegurar que sean únicos. Y así lo hemos hecho durante años.

Y todos los que los usamos seguiríamos tan felices si no fuera por ese pequeño matiz que he deslizado al comienzo del post: la pseudoaleatoriedad del algoritmo de generación utilizado, que va a provocar un colapso el próximo 11 de febrero debido al efecto denominado GUID Colliding Sequence.

Estos contenidos se publican bajo una licencia de Creative Commons Licencia Reconocimiento-No comercial-Compartir bajo la misma licencia 3.0 España de Creative Commons

martes, 24 de diciembre de 2013
Feliz NavidadDa igual si celebráis la navidad, el nacimiento del sol invicto, el advenimiento del dios Huitzilopochtli, o la llegada del solsticio de invierno, en cualquier caso…

¡felices fiestas a todos!

Espero también que el 2014 sea mejor que este que dejamos atrás (no es difícil, dado lo bajo que está el listón ;-)), y que podáis cumplir todos vuestros sueños.

Nos seguimos viendo por aquí :-)

Estos contenidos se publican bajo una licencia de Creative Commons Licencia Reconocimiento-No comercial-Compartir bajo la misma licencia 3.0 España de Creative Commons

lunes, 23 de diciembre de 2013
EnlacesAhí van los enlaces a artículos recopilados durante la semana pasada. Espero que os resulten interesantes ;-)

Hey, y no olvidéis que aún podéis participar en el sorteo de licencias de VS Anywhere!!

.Net

Estos contenidos se publican bajo una licencia de Creative Commons Licencia Reconocimiento-No comercial-Compartir bajo la misma licencia 3.0 España de Creative Commons

martes, 17 de diciembre de 2013
VS AnywhereYa sabéis que me encantan las aplicaciones colaborativas en tiempo real, ¿verdad? Bien, y si aplicamos este concepto a nuestro entorno de desarrollo favorito, Visual Studio, ¿qué podemos esperar? Pues seguro que un producto espectacular.

En este artículo vamos a ver echar un vistazo a VS Anywhere, un producto del que seguro habéis oído hablar,  que supone una revolución en la forma en que podemos colaborar en tiempo real con colegas y compañeros desarrolladores utilizando Visual Studio, sin importar donde estos se encuentren.

Pero antes de empezar, deciros que al final del artículo encontraréis las instrucciones para participar en el sorteo de 5 licencias de servidor por cortesía de VS Anywhere. ¡No dejéis de participar!

Estos contenidos se publican bajo una licencia de Creative Commons Licencia Reconocimiento-No comercial-Compartir bajo la misma licencia 3.0 España de Creative Commons

lunes, 16 de diciembre de 2013
EnlacesPara empezar el lunes, ahí van los enlaces a artículos recopilados durante la semana pasada. Espero que os resulten interesantes :-)

.Net

Estos contenidos se publican bajo una licencia de Creative Commons Licencia Reconocimiento-No comercial-Compartir bajo la misma licencia 3.0 España de Creative Commons

martes, 10 de diciembre de 2013
Enlaces interesantesUuf, con tanto viaje últimamente casi no tengo tiempo para completar mis tradicionales tareas de lectura y recolección de artículos interesantes, pero, aún así, ahí van algunos contenidos que encontré la semana pasada :-)

.Net

Estos contenidos se publican bajo una licencia de Creative Commons Licencia Reconocimiento-No comercial-Compartir bajo la misma licencia 3.0 España de Creative Commons

martes, 3 de diciembre de 2013
ASP.NET MVCProbablemente ya lo sabréis, hace sólo unos días se lanzó la actualización para Visual Studio 2012 llamada “ASP.NET and Web Tools 2013.1” que hace posible el uso de MVC 5 desde esta versión del entorno de desarrollo.

Pues bien, tras instalarla, los que hayáis intentado probar ASP.NET MVC 5 desde Visual Studio 2012 probablemente os hayáis sorprendido con las pocas opciones que tenemos a la hora de crear proyectos de este tipo. Si bien están implementadas otras características disponibles en la versión 2013 como los scaffolders, el soporte para Razor 3, o la adopción de Bootstrap en la maquetación de vistas generadas, no podemos decir lo mismo de la aplicación del concepto “One ASP.NET“ a la creación de proyectos.

Estos contenidos se publican bajo una licencia de Creative Commons Licencia Reconocimiento-No comercial-Compartir bajo la misma licencia 3.0 España de Creative Commons

lunes, 2 de diciembre de 2013
Enlaces interesantesAhí van los enlaces a artículos recopilados durante la semana pasada. Espero que os resulten interesantes ;-)

Eventos

.Net

Estos contenidos se publican bajo una licencia de Creative Commons Licencia Reconocimiento-No comercial-Compartir bajo la misma licencia 3.0 España de Creative Commons

jueves, 14 de noviembre de 2013
MVP Global SummitLos MVPs más añejos recuerdan que alguna vez más sucedió, pero sin duda es algo inusual que se celebren dos Summits en el mismo año. Pues en 2013 ha sido así y, como tengo la inmensa fortuna de estar invitado, de nuevo es una oportunidad que no puedo desaprovechar :-)

Gran ocasión para reencontrarse con muchos amigos a los que sólo veo en este tipo de encuentros, figuras patrias y de allende los mares, conocer nuevos compañeros de fatigas, intercambiar ideas, experiencias e inquietudes, o ponernos al día lo que se cuece en los hornos de Redmond de mano de los propios panaderos son sólo algunas pinceladas de lo que da de sí esta experiencia. Como para perdérsela… ;-)

Andaré pues danzando por Seattle, Bellevue y Redmond toda la próxima semana. A la vuelta aún estaré un par de días o tres fuera de juego (eso del jetlag no es una leyenda urbana ;-)), así que que volveremos a vernos por aquí en unas dos semanitas.

¡Hasta entonces!

Publicado en Variable not found.

Estos contenidos se publican bajo una licencia de Creative Commons Licencia Reconocimiento-No comercial-Compartir bajo la misma licencia 3.0 España de Creative Commons

martes, 12 de noviembre de 2013
Katana de Hatori HanzoEn todos los posts anteriores hemos visto cómo usar middlewares asumiendo que su ejecución era puramente secuencial y en el mismo orden en el que habían sido añadidos al pipeline.

Sin embargo, cuando sabemos que nuestra aplicación va a correr sobre un host ASP.NET/IIS, utilizando el adaptador disponible en el paquete Microsoft.Owin.Host.SystemWeb, podemos insertarlos en puntos determinados del pipeline de ejecución de IIS (la famosa “canalización integrada”) para conseguir una mejor integración con frameworks y aplicaciones existentes que a priori no entienden de OWIN (p.e., una aplicación MVC 4 o WebForms).

Estos contenidos se publican bajo una licencia de Creative Commons Licencia Reconocimiento-No comercial-Compartir bajo la misma licencia 3.0 España de Creative Commons

lunes, 11 de noviembre de 2013
Enlaces interesantesAhí van los tradicionales enlaces a artículos recopilados durante la semana pasada. Espero que os resulten interesantes ;-)

Eventos

.Net

Estos contenidos se publican bajo una licencia de Creative Commons Licencia Reconocimiento-No comercial-Compartir bajo la misma licencia 3.0 España de Creative Commons

martes, 5 de noviembre de 2013
Usando la KatanaHasta ahora, por simplificar, siempre hemos utilizado Use() para introducir módulos en el pipeline, aunque también vimos que existen middlewares que aportan sus propios extensores sobre IAppBuilder para que resulte más sencilla su utilización.

Hoy vamos a ver Map()y Run() otros extensores que, al igual que Use(), nos permiten insertar módulos en el pipeline, aunque en este caso están orientados a cubrir escenarios más específicos.

Estos contenidos se publican bajo una licencia de Creative Commons Licencia Reconocimiento-No comercial-Compartir bajo la misma licencia 3.0 España de Creative Commons

lunes, 4 de noviembre de 2013
Enlaces interesantesAhí van los tradicionales enlaces a artículos recopilados durante la semana pasada. Espero que os resulten interesantes ;-)

Eventos

Estos contenidos se publican bajo una licencia de Creative Commons Licencia Reconocimiento-No comercial-Compartir bajo la misma licencia 3.0 España de Creative Commons

jueves, 31 de octubre de 2013
CartujaDotNetDentro de unos días tenemos en Sevilla un evento de los que no os podéis perder: tres figuras como Luis Guerrero, Javier Suárez y Pablo Escribano hablando de temas de gran actualidad e interés para cualquier desarrollador que se precie de serlo ;-)

Respectivamente, sus sesiones son:
  • Patrones de desarrollo de Software en Windows Phone y Windows 8
  • Introducción al desarrollo de apps móviles real time haciendo uso de SignalR
  • Xamarin más Azure
Espero que lo disfrutéis. Aunque en esta ocasión me pilla de viaje y no podré asistir, pasaré lista, así que no me faltéis ;-)

Estos contenidos se publican bajo una licencia de Creative Commons Licencia Reconocimiento-No comercial-Compartir bajo la misma licencia 3.0 España de Creative Commons

martes, 29 de octubre de 2013
ASP.NET MVC 5Hace poco pudimos vivir un día de esos en los que Microsoft publica nuevas versiones de todo. O casi: ASP.NET MVC 5, Web API 2, SignalR 2, Entity Framework 6, o Visual Studio 2013, entre otros. Muchas novedades que aprender, descubrir, probar… y sobre las que escribir, sin duda ;-)

ASP.NET MVC 5 es, quizás, el producto con menos cambios y novedades de todos los citados anteriormente. Ojo, esto no tiene por qué ser necesariamente malo: quiere decir que nuestro querido framework ha alcanzado ya un nivel de madurez importante y no necesita grandes cambios para seguir dándonos todo lo que necesitamos para crear aplicaciones web. Sin embargo, no puedo negar una cierta desazón ante la falta de esas novedades espectaculares que han venido acompañando entregas anteriores (¿recordáis cuando llegó Razor? ¡Uaaaaau!).

Pero antes que nada, deciros que ASP.NET MVC 5 completo (tooling y ensamblados) está disponible en estos momentos exclusivamente en Visual Studio 2013. Si utilizamos Visual Studio 2012 podemos descargar y utilizar los binarios usando Nuget, pero no habrá soporte a nivel de IDE hasta mediados de Noviembre, cuando se prevé que será lanzada una actualización del entorno.

Y dicho esto, vamos a comentar los cambios más destacados que acompañan a esta nueva versión.

Estos contenidos se publican bajo una licencia de Creative Commons Licencia Reconocimiento-No comercial-Compartir bajo la misma licencia 3.0 España de Creative Commons

lunes, 28 de octubre de 2013
Enlaces interesantesAhí van los enlaces a artículos recopilados durante la semana pasada. Espero que os resulten interesantes ;-)

.Net

Estos contenidos se publican bajo una licencia de Creative Commons Licencia Reconocimiento-No comercial-Compartir bajo la misma licencia 3.0 España de Creative Commons

lunes, 21 de octubre de 2013
Enlaces interesantesPara empezar el lunes leyendo cosas interesantes, ahí tenéis un puñado de enlaces a artículos que me han llamado la atención la semana pasada. Espero que los disfrutéis ;-)

.Net

Estos contenidos se publican bajo una licencia de Creative Commons Licencia Reconocimiento-No comercial-Compartir bajo la misma licencia 3.0 España de Creative Commons

martes, 15 de octubre de 2013
¿Crear nuestra propia arma?Continuando la serie sobre esta simpática pareja, en esta ocasión vamos crear nuestro primer módulo middleware personalizado. Utilizando la infraestructura creada por Katana, veremos lo fácil que resulta crear un componente de este tipo e introducirlo en el pipeline para que procese peticiones.

Pero antes, como siempre, permitidme que recuerde los otros posts de la serie a los que acabáis de llegar:
Venga, vamos a remangarnos… ;-)

Estos contenidos se publican bajo una licencia de Creative Commons Licencia Reconocimiento-No comercial-Compartir bajo la misma licencia 3.0 España de Creative Commons

lunes, 14 de octubre de 2013
image2342423333333333333333333333333Ahí lleváis enlaces a información que he ido recopilando durante la semana pasada, espero que encontréis algo que os interese.

Eventos

.Net

Estos contenidos se publican bajo una licencia de Creative Commons Licencia Reconocimiento-No comercial-Compartir bajo la misma licencia 3.0 España de Creative Commons

lunes, 7 de octubre de 2013
Ahí lleváis enlaces a información que he ido recopilando durante la primera semana de octubre de 2013. Espero que encontréis temas interesantes :-)

.Net

Estos contenidos se publican bajo una licencia de Creative Commons Licencia Reconocimiento-No comercial-Compartir bajo la misma licencia 3.0 España de Creative Commons

martes, 1 de octubre de 2013
KatanaEn varias ocasiones hemos comentado la convención que utiliza Katana para localizar el código de inicialización de nuestra aplicación. Por defecto, se espera que dicha inicialización se encuentre en el método Configuration() de una clase llamada Startup que reside en el espacio de nombres principal del proyecto.

En este post veremos cómo modificar esta convención, de forma que podamos implementar la inicialización donde realmente nos apetezca :-)

Pero antes de continuar, permitidme que os recuerde los artículos anteriores de la serie:

Estos contenidos se publican bajo una licencia de Creative Commons Licencia Reconocimiento-No comercial-Compartir bajo la misma licencia 3.0 España de Creative Commons

lunes, 30 de septiembre de 2013
EnlacesAhí van algunos enlaces a artículos y contenidos que he encontrado por internet durante la semana del 23 al 27 de septiembre de 2013. Espero que os entretengan un buen rato ;-)

.Net

Estos contenidos se publican bajo una licencia de Creative Commons Licencia Reconocimiento-No comercial-Compartir bajo la misma licencia 3.0 España de Creative Commons

martes, 24 de septiembre de 2013
Combates con KatanaHasta ahora hemos dedicado mucho tiempo a explicar la filosofía y conceptos que rodean a OWIN y Katana. Pero como todos los alumnos de este tipo de artes, seguro que estáis ansiosos por saltar al tatami por primera vez y comenzar a hacer alguna prueba que demuestre que todo este esfuerzo vale la pena.

Pero antes de continuar, permitidme que os recuerde los anteriores artículos de la serie:
En esta ocasión vamos a implementar un par de ejemplos completos paso a paso para que veáis Katana en funcionamiento y podáis comenzar a pelearos con ella. Y lucharemos en dos dojos distintos: una aplicación de consola con self-hosting, y una aplicación web.

Estos contenidos se publican bajo una licencia de Creative Commons Licencia Reconocimiento-No comercial-Compartir bajo la misma licencia 3.0 España de Creative Commons

lunes, 23 de septiembre de 2013
EnlacesAhí van algunos enlaces a artículos y contenidos que he encontrado interesantes durante la semana del 16 al 20 de septiembre de 2013. Espero que os sean de utilidad.

.Net

Estos contenidos se publican bajo una licencia de Creative Commons Licencia Reconocimiento-No comercial-Compartir bajo la misma licencia 3.0 España de Creative Commons

miércoles, 18 de septiembre de 2013
Katana (imagen de http://www.real-sword.com)
Pues seguimos con esta serie de artículos sobre OWIN que comenzamos unos días atrás con una introducción conceptual de esta especificación, y hoy vamos a centrarnos en Katana, la implementación de Microsoft de este interesante estándar.

Primero explicaremos en qué consiste este proyecto, sus componentes principales, y después veremos la configuración y funcionamiento de este tipo de sistemas, acercándonos ya un poco al nivel que tanto nos gusta, el código fuente ;-)

Si es vuestro primer acercamiento al mundo de OWIN y Katana, os recomiendo que leáis previamente el primer artículo de la serie, Introducción a OWIN.

Estos contenidos se publican bajo una licencia de Creative Commons Licencia Reconocimiento-No comercial-Compartir bajo la misma licencia 3.0 España de Creative Commons

lunes, 16 de septiembre de 2013
Enlaces interesantesEstos son los enlaces que he ido recopilando durante la semana del 9 al 14 de septiembre de 2013. Espero que os resulten interesantes :-)

.Net

Estos contenidos se publican bajo una licencia de Creative Commons Licencia Reconocimiento-No comercial-Compartir bajo la misma licencia 3.0 España de Creative Commons

viernes, 13 de septiembre de 2013
256IkxhIHByb2dyYW1hY2nDs24gZXMgdW5hIGNhcnJlcmEg
ZW50cmUgbG9zIGRlc2Fycm9sbGFkb3JlcywgaW50ZW50
YW5kbyBjb25zdHJ1aXIgbWF5b3JlcyB5IG1lam9yZXMg
cHJvZ3JhbWFzIGEgcHJ1ZWJhIGRlIGlkaW90YXMsIHkg
ZWwgdW5pdmVyc28sIGludGVudGFuZG8gcHJvZHVjaXIg
bWF5b3JlcyB5IG1lam9yZXMgaWRpb3Rhcy4gUG9yIGFo
b3JhIHZhIGdhbmFuZG8gZWwgVW5pdmVyc28uIg0KLS0g
UmljaCBDb29rDQoNCsKhRmVsaXogZMOtYSBkZWwgcHJv
Z3JhbWFkb3IhDQoxMyBkZSBzZXB0aWVtYnJlIGRlIDIw
MTMsIDI1Ni1hdm8gZMOtYSBkZWwgYcOxby4NCmh0dHA6
Ly9lcy53aWtpcGVkaWEub3JnL3dpa2kvRCVDMyVBRGFf
ZGVfbG9zX1Byb2dyYW1hZG9yZXM=

Estos contenidos se publican bajo una licencia de Creative Commons Licencia Reconocimiento-No comercial-Compartir bajo la misma licencia 3.0 España de Creative Commons

miércoles, 11 de septiembre de 2013
Sin duda, si hay un término que está ganando popularidad en los últimos tiempos, éste es OWIN. Y mejor que nos vayamos acostumbrando a él, porque viene pisando fuerte y probablemente nos acompañe en bastantes de nuestros desarrollos del lado servidor a partir de la próxima oleada de versiones de plataformas que está a punto de aterrizar.

OWIN (Open Web Interface for .NET) es una especificación abierta iniciada por dos miembros del equipo de ASP.NET en Microsoft, Louis Dejardin y Benjamin Vanderveen, que define un interfaz estándar para comunicar servidores con aplicaciones .NET, inspirada en iniciativas similares procedentes de tecnologías como Ruby, Python o incluso Node. La versión 1.0 de la especificación fue publicada en octubre de 2012 y está disponible en el sitio web del proyecto.

Estos contenidos se publican bajo una licencia de Creative Commons Licencia Reconocimiento-No comercial-Compartir bajo la misma licencia 3.0 España de Creative Commons

martes, 10 de septiembre de 2013
Enlaces interesantesAhí van unos enlaces que he ido recopilando durante la semana del 2 al 6 de septiembre de 2013. Espero que os resulten interesantes :-)

.Net

Estos contenidos se publican bajo una licencia de Creative Commons Licencia Reconocimiento-No comercial-Compartir bajo la misma licencia 3.0 España de Creative Commons

lunes, 9 de septiembre de 2013
WelcomeParece que fue ayer cuando me despedía hasta septiembre, y resulta que ya estamos por aquí de nuevo. Bueno, en realidad ya llevo activo bastante tiempo, así que sólo me faltaba este post inaugural de la nueva temporada de Variable not found para estar ya a tope.

Como preveía, no han sido unas vacaciones especialmente relajadas ni de mucho descanso, pero al menos algunos días libres sí que he podido disfrutar con la familia, creo que los suficientes para considerar las pilas recargadas y listas para afrontar la nueva temporada.

Signalr book¿Y por qué he estado tan liado? Pues aparte de algunos compromisos profesionales que he tenido activos todo el verano, la mayor parte del tiempo he estado ocupado en algo que ya, por fin, puedo contaros de forma oficial: he estado trabajando con CampusMVP en la creación de un nuevo libro sobre SignalR que será publicado y distribuido de forma global por Microsoft Press. Es todo un honor tener la oportunidad de poder participar en este proyecto, y espero estar a la altura de las circunstancias :)

El libro es mucho más amplio y ambicioso que el que ya escribí sobre el mismo tema hace unos meses, y, por supuesto, relativo a la última versión del producto, que aún se encuentra en desarrollo. Os iré contando más detalles conforme avance el proyecto.

En cuanto a Variable not found, vamos a ir volviendo a la normalidad. Para empezar, en breve publicaré la primera recopilación de enlaces de la temporada. Espero que esta serie de posts siga siendo de vuestro interés, como algunos me habéis transmitido.

Y tengo muchos artículos por escribir. Tenemos un aluvión de novedades a la vista, como la nueva oleada de versiones de todas las plataformas web de Microsoft, acceso a datos (EF), nuevas versiones de Visual Studio, y nuevos e interesantes conceptos como OWIN y Katana, que están entrando con fuerza y debemos dominar para hacernos con los mandos de las tecnologías en las que trabajaremos en los próximos meses. En fin, se prevé una temporada movidita y bien cargada de novedades que intentaremos ir desgranando. La diversión está asegurada, porque sí, nos quejamos de tantos cambios, pero nos encanta ;)

También me gustaría escribir algunos artículos destinados a lectores más noveles, tratando temas más básicos. Que no me digan como ya ha hecho alguno ;) que sólo tratamos cosas raras, como inyección de dependencias o factoríasabstractasdeproveedoresdemetadatos. Se hará lo que se pueda. Por cierto, me encanta recibir feedback de este tipo, así que si tenéis algo que sugerir, comentar, o pedir, tenéis un bonito formulario de contacto a través del cual podéis hacerlo.

Bien, pues dicho esto, comencemos a buscar la variable. ¡Queda inaugurada la temporada 2013-2014 de Variable not found!

Estos contenidos se publican bajo una licencia de Creative Commons Licencia Reconocimiento-No comercial-Compartir bajo la misma licencia 3.0 España de Creative Commons

miércoles, 31 de julio de 2013
A la derivaSiguiendo la tradición, como todos los años por estas fechas, me es grato comunicaros que el blog va a quedar a la deriva durante unas semanas.

Afortunadamente, tengo muchos compromisos profesionales (algunos de los cuales conoceréis los próximos meses) y no voy a poder descansar todo lo que me merezco gustaría, pero bueno, espero tener tiempo al menos para algunos día a disfrutar del sol en las playas de Huelva o Cádiz, y quizás algún viaje relámpago con la familia. En cualquier caso, espero que estos días sean intensos y sirvan para recargar pilas, relajarnos un poco y prepararnos para la siguiente temporada, que seguro será dura... pero también emocionante y divertida ;-)

Nos vemos a la vuelta.

Feliz verano, amigos :-)

Estos contenidos se publican bajo una licencia de Creative Commons Licencia Reconocimiento-No comercial-Compartir bajo la misma licencia 3.0 España de Creative Commons

lunes, 29 de julio de 2013
Enlaces interesantesEstos son los enlaces que he ido recopilando durante la semana del 22 al 26 de julio de 2013. Espero que os resulten interesantes :-)

.Net

Estos contenidos se publican bajo una licencia de Creative Commons Licencia Reconocimiento-No comercial-Compartir bajo la misma licencia 3.0 España de Creative Commons

martes, 23 de julio de 2013
ASP.NET MVCLas novedades de Unity 3 no acaban en la inclusión del soporte directo para ASP.NET MVC, o en la introducción de convenciones para facilitarnos el registro de componentes, no. La extensión específica para MVC incluye otra característica muy demandada por los desarrolladores, que es la capacidad de realizar inyección de dependencias en filtros (action filters).

En este post vamos a ver cómo está construida, y cómo podemos usarla en nuestras aplicaciones.

Estos contenidos se publican bajo una licencia de Creative Commons Licencia Reconocimiento-No comercial-Compartir bajo la misma licencia 3.0 España de Creative Commons

martes, 16 de julio de 2013
Microsoft patterns & practicesSin duda, las convenciones están de moda. Cualquier framework actual que se precie trae su propio conjunto de convenciones, que no son sino una serie de reglas predefinidas, normalmente de carácter opcional, cuyo cumplimiento evitará que tengamos que tomar decisiones, evitará que cometamos errores, y, normalmente, aumentarán nuestra productividad.

Pues bien, comentaba hace poco que una de las sorpresas que acompañaba a la nueva versión de Unity, el Contenedor de Inversión de Control creado por el equipo de Patterns & Practices de Microsoft, es precisamente la posibilidad de usar convenciones a la hora de registrar asociaciones entre interfaces y clases de nuestro sistema, lo cual nos vendrá de fábula en muchas ocasiones.

Estos contenidos se publican bajo una licencia de Creative Commons Licencia Reconocimiento-No comercial-Compartir bajo la misma licencia 3.0 España de Creative Commons

lunes, 15 de julio de 2013

Estos contenidos se publican bajo una licencia de Creative Commons Licencia Reconocimiento-No comercial-Compartir bajo la misma licencia 3.0 España de Creative Commons

martes, 9 de julio de 2013
SignalRComo comentamos por aquí hace tiempo, SignalR viene acompañado de su propia versión del atributo [Authorize], que permite restringir el acceso a hubs o a métodos concretos dentro de éstos de forma similar a como lo hacemos en otras tecnologías como ASP.NET MVC o Web API.

Si estamos trabajando en el entorno web, es decir, cuando cliente y servidor son puras tecnologías web y están ejecutándose en el mismo contexto, el servidor determina si el cliente SignalR está autenticado utilizando los mismos mecanismos de siempre, basados en la existencia de la cookie de autorización de ASP.NET y en los datos contenidos en ésta.

De esta forma, si un cliente entra con su navegador a nuestra web y supera el procedimiento de autenticación, a partir de ese momento todas sus peticiones llevarán adjunta la cookie de autorización, y ésta misma es la que usará SignalR para conceder o denegar el acceso a los métodos de los Hubs cuando accedamos a ellos usando el cliente Javascript.

Sin embargo, a través del formulario de contacto de Variable not found, me llega una consulta muy interesante del amigo Juan F.: ¿cómo podemos usar ese mismo atributo Authorize para controlar el acceso desde aplicaciones no web, las que usan el cliente genérico .NET de SignalR?

Estos contenidos se publican bajo una licencia de Creative Commons Licencia Reconocimiento-No comercial-Compartir bajo la misma licencia 3.0 España de Creative Commons

lunes, 8 de julio de 2013
Enlaces interesantes 124Estos son los enlaces que he ido recopilando durante la semana del 1 al 5 de julio de 2013. Espero que os resulten interesantes :-)

.Net

Asp.net

Estos contenidos se publican bajo una licencia de Creative Commons Licencia Reconocimiento-No comercial-Compartir bajo la misma licencia 3.0 España de Creative Commons

miércoles, 3 de julio de 2013
¡Microsoft MVP 2013!Estimados amigos, sólo quería comunicaros que, de nuevo, Microsoft ha tenido a bien reconocerme como MVP (Most Valuable Professional) por las contribuciones realizadas a la comunidad durante el año 2013 relativas a la temática ASP.NET/IIS :)

Tres años consecutivos (¡quién lo iba a decir!) recibiendo esta tremenda alegría que tantas satisfacciones me ha dado desde el punto de vista personal y profesional. Os puedo asegurar que hay acontecimientos que cambian la vida, y en mi caso, el nombramiento como MVP ha sido uno de ellos :)

Así que, afortunadamente, voy a seguir disfrutando un año más de los beneficios del programa, pero, sobre todo, del enorme placer de poder seguir cerca de una pandilla de profesionales con un nivel técnico impresionante, y, lo que es más importante, que encima son tipos geniales con los que da gusto debatir, intercambiar ideas y pasar buenos ratos.

Muchas gracias a vosotros que lo hacéis posible, a la gente de Microsoft que gestiona estos temas, y, en particular, a Cristina González, lead del programa MVP en España (y parte del extranjero ;), por ponérnoslo todo tan fácil.

Y por último, felicitar también desde aquí a todos los demás galardonados, tanto a los recién llegados al programa como a los que repiten un año más. Espero que podamos celebrarlo pronto :)

¡Nos seguimos viendo por aquí!

Estos contenidos se publican bajo una licencia de Creative Commons Licencia Reconocimiento-No comercial-Compartir bajo la misma licencia 3.0 España de Creative Commons

martes, 25 de junio de 2013
DebuggingPues creo que debía ser el único en el mundo que no conocía este truco, pero lo publico por si queda algún despistado más. Resulta que desde hace años muchos navegadores permiten interrumpir la ejecución de un código javascript y lanzar el depurador asociado al proceso justo en el punto en que deseemos.

Estos contenidos se publican bajo una licencia de Creative Commons Licencia Reconocimiento-No comercial-Compartir bajo la misma licencia 3.0 España de Creative Commons

lunes, 24 de junio de 2013
Enlaces interesantesEstos son los enlaces que he ido recopilando durante la semana del 17 al 21 de junio de 2013. Espero que os resulten interesantes :-)

.Net

Estos contenidos se publican bajo una licencia de Creative Commons Licencia Reconocimiento-No comercial-Compartir bajo la misma licencia 3.0 España de Creative Commons

martes, 18 de junio de 2013
ASP.NET MVC
En este tercer y último post de la serie (ir al primero o segundo) , vamos a ver una última técnica para realizar inyección de parámetros a acciones ASP.NET MVC que, aunque aporta menos a la hora de comprender las misteriosas interioridades del framework, es ciertamente mucho más cómoda y práctica en caso de que deseemos aplicar esta técnica.

Estos contenidos se publican bajo una licencia de Creative Commons Licencia Reconocimiento-No comercial-Compartir bajo la misma licencia 3.0 España de Creative Commons

lunes, 17 de junio de 2013
Enlaces interesantesEstos son los enlaces que he ido recopilando durante la semana del 10 al 14 de junio de 2013. Espero que os resulten interesantes :-)

.Net

Estos contenidos se publican bajo una licencia de Creative Commons Licencia Reconocimiento-No comercial-Compartir bajo la misma licencia 3.0 España de Creative Commons

jueves, 13 de junio de 2013
Team cityLa Integración Continua (CI) es una práctica fundamental para cualquier desarrollo de software profesional.

En este evento veremos cómo montar desde cero un entorno de CI con Teamcity donde poder gestionar un proceso de compilaciones automáticas, ejecución de test de unidad, medir la calidad del código, detección de duplicados y más…

Si eres desarrollador y quieres dormir por las noches sin temor a soñar con bugs: no te pierdas este evento, necesitas CI.

Como siempre, la asistencia al evento es totalmente gratuita, lo único que hay que hacer es registrarse a través de este enlace.

Hoy, en Sevilla, y ¡retransmitido en directo!

El evento tendrá lugar hoy Jueves, 13 de Junio de 19:30h a 21:30h (2 horas de duración) en el lugar donde habitualmente hacemos estas charlas, en el Clouding Point de Sevilla, en el Parque Empresarial Nuevo Torneo. La dirección exacta es:

c\ Biología, 12, Edificio Vilamar 2, 3ª Planta
Parque Empresarial Nuevo Torneo
41015 Sevilla

Pero atención, una gran novedad esta vez es que el evento será retransmitido en directo, así que ya no hay excusa para faltar. La URL en la que hay que entrar a la hora indicada es:

Ponente

Pedro J. Molina es Doctor en Informática por la Universidad Politécnica de Valencia. Director de I+D en Icinetic. Aporta experiencia en modelado, interfaces de usuario y tecnología .NET (@pmolinam).

¡Extra, extra! ¡Y encima, con regalos!

Estrenamos en los eventos celebrados en CartujaDotNet un atractivo más (por si no fuesen ya suficientes) para acercarse a ellos, ¡regalos!. Al final del evento sortearemos:
  • Una licencia de ReSharper: Herramienta que nos otorga más de 30 técnicas avanzadas de refactorización, herramientas de pruebas unitarias, funciones de búsqueda y navegación, formateado y limpieza de código y muchas opciones más.
  • Una licencia de Radarc: Es una extensión de Visual Studio capaz de tomar un modelo conceptual del dominio de una aplicación y construir a partir de él una aplicación completa adaptada a distintas tecnologías y arquitecturas mediante generación de código.
Sin duda dos herramientas imprescindibles, que podemos sortear gracias a los chicos de Jetbrains e Icinetic, los respectivos fabricantes de estas herramientas.

Enlaces:

Estos contenidos se publican bajo una licencia de Creative Commons Licencia Reconocimiento-No comercial-Compartir bajo la misma licencia 3.0 España de Creative Commons

martes, 11 de junio de 2013
ASP.NET MVCEn el primer post de la serie, vimos rápidamente en qué consiste la inyección de parámetros como fórmula para suministrar dependencias a una acción ASP.NET MVC, y realizamos una implementación sustituyendo unas pequeñas piezas del framework llamados action invokers que, como su nombre indica, son los responsables de invocar las acciones solicitadas por el usuario.

Estos contenidos se publican bajo una licencia de Creative Commons Licencia Reconocimiento-No comercial-Compartir bajo la misma licencia 3.0 España de Creative Commons

lunes, 10 de junio de 2013
Enlaces interesantesEstos son los enlaces que he ido recopilando durante la semana del 3 al 7 de junio de 2013. Espero que os resulten interesantes :-)

Eventos

.Net

Estos contenidos se publican bajo una licencia de Creative Commons Licencia Reconocimiento-No comercial-Compartir bajo la misma licencia 3.0 España de Creative Commons

miércoles, 5 de junio de 2013
ASP.NET MVCNo hace demasiado tiempo describíamos por aquí cómo desacoplar controladores ASP.NET MVC mediante el uso de Inyección de Dependencias. En este caso, como en otros que hemos tratado, se hacía uso de uno de los “sabores” de esta técnica, que consiste en suministrar como parámetros al constructor de una clase todos aquellos componentes de los que depende para su funcionamiento. Sin embargo, esta no es la única forma de usar inyección de dependencias; hay otros métodos, quizás menos usados, como la inyección de propiedades o la inyección de parámetros en métodos que pueden ser interesantes en algunos casos y que, como mínimo, vale la pena conocer.

Estos contenidos se publican bajo una licencia de Creative Commons Licencia Reconocimiento-No comercial-Compartir bajo la misma licencia 3.0 España de Creative Commons

lunes, 3 de junio de 2013
Enlaces interesantesEstos son los enlaces que he ido recopilando durante la semana del 27 al 31 de mayo de 2013. Espero que os resulten interesantes :-)

Eventos

.Net

Estos contenidos se publican bajo una licencia de Creative Commons Licencia Reconocimiento-No comercial-Compartir bajo la misma licencia 3.0 España de Creative Commons

lunes, 27 de mayo de 2013
Enlaces interesantesEstos son los enlaces que he ido recopilando durante la semana del 20 al 24 de mayo de 2013. Espero que os resulten interesantes :-)

Eventos

.Net

Estos contenidos se publican bajo una licencia de Creative Commons Licencia Reconocimiento-No comercial-Compartir bajo la misma licencia 3.0 España de Creative Commons

martes, 21 de mayo de 2013
Sabemos que el uso descontrolado de la carga diferida o lazy loading puede echar abajo el rendimiento de nuestra aplicación, puesto que se generan peticiones al motor de datos al intentar recuperar entidades relacionadas cuando intentamos acceder a ellas. Sin embargo, no son pocos los casos en los que me encuentro que no se está usando apropiadamente, provocando un rendimiento terrible en el acceso a datos de las aplicaciones.

Estos contenidos se publican bajo una licencia de Creative Commons Licencia Reconocimiento-No comercial-Compartir bajo la misma licencia 3.0 España de Creative Commons

lunes, 20 de mayo de 2013
Wave EngineSin duda, el desarrollo de videojuegos es una de las áreas más atractivas e interesantes a las que podemos aspirar dedicarnos los desarrolladores. Y aunque hoy en día parece estar especialmente de moda, no es algo nuevo; muchos de nosotros empezamos a interesarnos por la programación intentando programar nuestros propios juegos.

Por este motivo espero con especial impaciencia la próxima charla organizada por Cartuja.NET, que tratará sobre el desarrollo de videojuegos, pero con con un enfoque muy alineado con las necesidades actuales: crear videojuegos multiplataforma, usando para ello el motor Wave Engine.

Estos contenidos se publican bajo una licencia de Creative Commons Licencia Reconocimiento-No comercial-Compartir bajo la misma licencia 3.0 España de Creative Commons

Estos contenidos se publican bajo una licencia de Creative Commons Licencia Reconocimiento-No comercial-Compartir bajo la misma licencia 3.0 España de Creative Commons