Sinceramente, y ya lo he comentado en alguna otra retrospectiva anual, nunca pensé que esta aventura duraría tanto tiempo y me traería tantas satisfacciones. Y aunque he de reconocer que no es una tarea sencilla, el hecho de estar todavía aquí con ganas de seguir aprendiendo y compartiendo todo lo que puedo es para mí una compensación más que suficiente a la dedicación que esto requiere :)
Como manda la tradición, voy a comentar algunos detalles objetivos sobre la salud blog y sus visitantes, porque alguna vez me habéis comentado que os resultan interesantes estos datos.
Publicado por José M. Aguilar a las 9:05 a. m.
Etiquetas: aniversario, autobombo
Y también como parte de la tradición, dedicaremos este post a repasar qué entradas fueron las diez más visitadas en el pasado año, que más o menos da una idea de los intereses que nos han movido a todos durante la pasada temporada.
Publicado por José M. Aguilar a las 8:47 a. m.
Etiquetas: autobombo, blogging, variablenotfound, variablenotfound.com
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
Ocho años desde que decidí dar ese pequeño paso de lanzarme a escribir sobre lo que más me apetecía en cada momento, sin saber aún las alegrías que me traería en el futuro. Ocho años, cerca de 3.000 días, en los que he publicado cerca de 700 posts, habéis participado con más de 1.500 comentarios, y visitado mucho más de un millón de páginas. Ocho años aprendiendo como jamás había hecho antes. Pero, sobre todo, ocho años disfrutando de vuestra compañía en esta travesía.
Se trata de una revisión completa del curso de MVC 4 que tanto éxito de crítica y público ha tenido hasta la fecha, para adaptarlo por completo a las novedades presentes en la versión más reciente del marco de trabajo (en este caso la versión 5.1, aparecida en enero). El temario es, a grandes rasgos, el siguiente:
- Introducción a ASP.NET MVC, donde realizamos un primer acercamiento al framework MVC, describimos el contexto tecnológico en el que se sitúa, y sentamos las bases sobre las que continuar el aprendizaje.
- El siguiente módulo, la primera aplicación ASP.NET MVC, crearemos nuestra primera aplicación partiendo de las plantillas por defecto de Visual Studio, que nos será de utilidad para comprender la estructura de este tipo de proyectos y el funcionamiento del marco de trabajo.
- Continuaremos añadiendo funcionalidades a esta aplicación, donde introduciremos nuevas características partiendo desde cero, aprovechando la ocasión para profundizar en la creación de modelos, vistas y controladores.
- Seguidamente estudiaremos la capa Modelo a fondo, viendo distintas formas de implementar sus componentes.
- A continuación, nos sumergimos en la capa Controlador, detallando minuciosamente la creación de controladores, las posibilidades que nos ofrecen, y el conjunto de herramientas que nos facilita el framework para ellos, como el sistema de routing, el binding, filtros, o resultados de acciones.
- También trataremos con gran detalle la creación de la capa Vista, donde describiremos sus tipos, implementación y mecanismos del marco de trabajo que nos facilitan la tarea, como los helpers estándar, plantillas, validadores, los helpers de Webpages, vistas para dispositivos móviles, o el sistema de bundling, entre otros, usando principalmente el motor de vistas Razor (aunque también se toca el motor ASPX).
- En Ajax con ASP.NET MVC realizaremos un recorrido por las distintas alternativas para la introducción de Ajax en nuestros sistemas, y mostraremos la solución a escenarios comunes.
- Veremos WebAPI, el framework para implementar servicios o APIs de nuestras aplicaciones, con una gran alineación con los protocolos de la red y el estilo arquitectural REST.
- También trataremos cómo organizar los proyectos en Áreas, y los cambios que implican en cuanto a la estructura y funcionamiento de las aplicaciones.
- Dedicaremos un capítulo a temas adicionales, básicamente para tratar otros aspectos no incluidos en los módulos anteriores, como la realización de pruebas unitarias y las facilidades para la resolución de dependencias, internacionalización, el despliegue de aplicaciones, o el sistema de autenticación basado en ASP.NET Identity.
- Por último, presentamos BlogMachine y describimos sus principales componentes, sugiriendo modificaciones y ampliaciones que podrían realizarse para poner en práctica los conocimientos adquiridos.
El curso se imparte totalmente online a través de la plataforma CampusMVP, sin horarios y a vuestro propio ritmo. Podéis comenzarlo en cualquier momento y la duración del curso está estimada en 12 semanas (con una dedicación media de 6 o 7 horas por semana, dependiendo del nivel de partida).
Durante su duración tendréis acceso a una completísima documentación (más de 400 páginas) que podréis descargar una vez terminado, así como a más de dos horas y media de vídeos donde se muestran en vivo los principales conceptos tratados, aplicaciones de ejemplo, recursos adicionales, buenas prácticas y consejos del día a día que seguro convertirán MVC en vuestro marco de trabajo favorito. Además, dado que soy el tutor, contaréis con mi asistencia para resolver vuestras dudas sobre los temas tratados y ayudaros a lo largo del proceso formativo.
Si estáis interesados, sólo tenéis que ir a la tienda online de CampusMVP y apuntaros directamente. Ah, y tened en cuenta que si trabajáis en España los cursos pueden salirle gratis a vuestra empresa gracias a la formación bonificada.
¡Espero veros a muchos por allí! ;)
Publicado en Variable not found.
¡El libro está disponible en español!
Por fin llegó el momento que estaba esperando desde hace tiempo: tras muchos meses de trabajo y preparativos, ya está disponible mi libro “SignalR Programming in Microsoft ASP.NET” :-) ¡¡Hurra!!
Publicado directamente en inglés por Microsoft Press, ha sido desde su origen un proyecto mucho más ambicioso que mi anterior incursión en el mundo literario, que seguro recordaréis, principalmente porque se trata de un libro con una difusión, repercusión y alcance mucho mayor que el anterior, y al que hemos tenido que dedicar muchísimo esfuerzo, tiempo e ilusión todos los implicados (¡que no son pocos!) para lograr un resultado que esperamos esté a la altura de las circunstancias.
El libro tiene más de 250 páginas a través de las cuales se describen tanto temas básicos como aspectos avanzados de la programación con la versión 2 de SignalR. El índice resumido es el siguiente:
- Internet, asynchrony, multiuser… wow!
- HTTP: you are the client, and you are the boss
- Introducing SignalR
Estos tres primeros capítulos introducen las aplicaciones asíncronas en tiempo real y los conceptos básicos que necesitamos conocer para trabajar con SignalR: qué es, qué nos aporta, y qué mecanismos hacen que todo esto funcione. - Persistent connections En el cuarto capítulo comenzamos ya a trabajar con conexiones persistentes, tanto en el lado servidor como en el cliente, describiendo en detalle las APIs que ofrece SignalR para comunicar ambos extremos.
- Hubs Aquí se describe profundidad el uso de hubs, tanto en el lado cliente como en el servidor, describiendo detalladamente las herramientas disponibles para enviar y recibir datos desde ambas partes, mantener el estado, implementar trazas, y muchos otros aspectos de interés al programar hubs de SignalR.
- Persistent connections and hubs from other threads
En este capítulo se describen las herramientas proporcionadas por SignalR para utilizar hubs y conexiones persistentes desde hilos de ejecución externos a dicho framework. - Real-time multiplatform applications
Este capítulo está dedicado a la publicación y consumo de servicios desde servidores y clientes no web. Se describen técnicas de self-hosting en distintos entornos, y cómo implementar clientes en plataformas como Windows 8 o Windows Phone. - Deploying and scaling SignalR
En este capítulo se muestran los fundamentos de la escalabilidad de SignalR y distintas estrategias para enfrentarse a los problemas asociados al escalado de servicios. Estudiamos los backplanes incluidos de serie en el producto e incluso cómo crear backplanes propios, y finalmente, apuntamos técnicas para mejorar el rendimiento y medir el rendimiento de nuestros sistemas. - Advanced topics
Aquí tratamos temas como autorización en Hubs, extensión de SignalR, inyección de dependencias, pruebas unitarias, intercepción de mensajes e integración con otros frameworks en cliente y servidor.
FAQ
¿Dónde puedo comprarlo? | Pues básicamente donde quieras, aunque Amazon o InformIT pueden ser buenos puntos de partida. |
¿En qué formatos está disponible? | El libro se comercializa en formato digital y en papel. En el primer caso, he visto que es posible obtenerlo en ePub, Mobi y PDF. |
¿Va a salir el libro en español? | Pues sinceramente, no lo sé. Desde luego, a corto plazo sólo estará en inglés y a día de hoy no existen planes para publicarlo en castellano, aunque no sé si esto cambiará en el futuro. |
Agradecimientos
No me gustaría acabar el post sin antes agradecer al equipo de CampusMVP, con José Manuel Alarcón al frente, la oportunidad que me han brindado para poder participar en este proyecto y la fantástica gestión y ejecución del mismo. También al amigo Javier Suárez Ruíz por su imprescindible colaboración en algunos ejemplos.Y por parte de Microsoft Press, entre muchos otros, agradecimiento infinito a Devon Musgrave por haber apostado por este proyecto desde el principio, a nuestra editora Carol Dillingham por su gran trabajo para llevarlo a cabo y a Todd Meister por sus minuciosas revisiones técnicas. Incluso hemos tenido la inmensa fortuna de contar con revisiones y comentarios de los padres de SignalR, Damian Edwards y David Fowler, a los que también envío mi agradecimiento. Todo un lujazo, vaya :)
Por mi parte, trabajar en este libro ha sido un honor y una experiencia impresionante, dura pero muy enriquecedora. Ahora espero que os sea de utilidad, que al fin y al cabo es lo que hace que el esfuerzo valga la pena :-)
Publicado en Variable not found.
Y siguiendo la tradición, aprovecharemos para echar un vistazo a los contenidos más visitados durante el pasado año. Esto nos puede dar una idea de por dónde andan los intereses de los visitantes y, de camino, dar una segunda oportunidad a los artículos que os perdisteis en su momento.
Publicado por José M. Aguilar a las 10:50 a. m.
Etiquetas: autobombo, blogging, recomendaciones, resumen, variablenotfound, variablenotfound.com
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í!
Y por algún motivo debí pensar que era un buen día para comenzar un blog. Fue uno de esos pequeños pasos que das sin otorgarle importancia alguna, pero que transcurrido el tiempo puedes comprobar que realmente fue decisivo para tu futuro. Lo único que tenía a mi favor eran las ganas de hacerlo, y la ventaja de tener poco que perder por intentarlo. Nota: no sé si os habréis fijado, pero las negrillas de este párrafo componen un mensaje subliminal para todos aquellos que aún no os habéis lanzado a crear vuestro propio blog ;)
Publicado por José M. Aguilar a las 4:00 p. m.
Etiquetas: aniversario, autobombo, variablenotfound, variablenotfound.com
Bueno, pues ya de forma oficial, me complace informaros de que desde hace unos días en la tienda de Krasis está disponible mi primer libro, y el primero del mundo sobre este nuevo framework: Introducción a ASP.NET SignalR. Revisado, actualizado a la versión 1.0.1 de SignalR y, por supuesto, en español :-)
Ante todo, agradecer a Krasis, y en concreto a José Manuel Alarcón, su continuo apoyo, colaboración e imparable empuje, sin los cuales no habría sido posible llegar a materializar este proyecto.
Es un libro relativamente corto, unas ochenta páginas, que de momento va a ser distribuido exclusivamente en formato electrónico. De esta forma, se evitan los costes asociados a la impresión, manipulación y logística, y se permite su comercialización a un precio creo que bastante razonable ;-)
Y ya entrando en los contenidos, a lo largo del texto hace una introducción a los protocolos, tecnologías y técnicas que hay por detrás de las aplicaciones multiusuario en tiempo real, e introduce SignalR desde cero, mostrando mediante código y ejemplos cómo podemos sacarle partido a este impresionante marco de trabajo y construir increíbles aplicaciones web (¡y no web!) de forma pasmosamente sencilla.
A grandes rasgos, el recorrido que hacemos es el siguiente:
- En primer lugar, tras una breve introducción, explicamos detalladamente las limitaciones de HTTP para la implementación de sistemas multiusuario en tiempo real, y estudiamos detalladamente los protocolos y técnicas que podemos usar para implementar escenarios Push.
- A continuación, presentamos SignalR y proporcionamos una visión de alto nivel del framework.
- Seguidamente, se describe la implementación de servidores y clientes javascript usando persistent connections, el nivel más bajo de abstracción facilitado por SignalR.
- En el siguiente capítulo ascendemos de nivel de abstracción y comenzamos a desarrollar utilizando Hubs en servidor y distintos enfoques para consumir los servicios desde javascript.
- A continuación estudiamos cómo enlazar aplicaciones más convencionales con servicios en tiempo real proporcionados por SignalR, gracias a la capacidad de consumirlos desde procesos externos.
- Y por último, demostrando que este framework no sólo es utilizable en entornos web, aprenderemos a acceder a servicios SignalR desde clientes de todo tipo, y a alojarlos en procesos no ASP.NET, como podría ser una aplicación de consola o un servicio del sistema operativo.
Espero que lo disfrutéis y, sobre todo, os sea de utilidad para abriros a nuevas posibilidades e introducir en vuestras aplicaciones sorprendentes funcionalidades multiusuario en tiempo real. ¡Uau!
El árbol, los hijos, el libro… creo que ya no me falta nada ;-)
Publicado en Variable not found.
Y mientras esto ocurre, como manda la tradición, vamos a comentar brevemente cuáles son los artículos más visitados del año que acabamos de cerrar. Al igual que otras veces, distinguiremos entre los posts escritos en 2012 y los publicados otros años, clásicos de Variable not found, que siguen atrayendo gran cantidad de lectores al blog.
Cosecha de 2012
Además de la raíz del sitio, que siempre es la URL más visitada (lo cual no sé si es bueno o malo, todo hay que decirlo ;-)), el post que más visitas atrajo durante 2012 fue “Pasar variables de script a un Url.Action() o Html.ActionLink()”, un artículo publicado en febrero donde se explicaban algunas posibilidades que tenemos a la hora de crear rutas dependientes de parámetros disponibles exclusivamente en cliente, en tiempo de script. Ha sido una grata sorpresa el que un post tan técnico haya sido el más visitado :–)A continuación, la recopilación de “Las 20 mejores tiras cómicas sobre desarrollo de software”, hilarantes muestras de genialidad extraídas a partir de las votaciones y sugerencias de miles de usuarios de Stackoverflow.
Le sigue de cerca el post que daba comienzo a la serie Introducción a SignalR, el maravilloso framework de programación de sistemas multiusuario en tiempo real que tanto va a dar que hablar en los próximos meses.
“101 nuevas citas célebres del mundo de la informática (¡y van 404!)”, la continuación de la exitosa serie, también está entre las páginas más vistas del año, como no podía ser de otra forma. Por supuesto, ya he comenzado a recopilar la siguiente tanda ;-)
Continuamos con otro inicio de serie “Knockout (I): pongamos orden en el lado cliente”, que demuestra el interés que está despertando este marco de trabajo MVVM para Javascript, que no es sino una clara prueba de la necesidad que tenemos de ordenar el caos en que se convierte la capa cliente en sistema medianamente complejos.
Como somos bastante curiosos, tampoco podía faltar aquí la respuesta a una pregunta que se ha hecho la humanidad durante décadas: “¿Por qué separamos los directorios con la barra invertida?“. ¿Todavía no lo sabes?
Seguimos con un post que anunciaba la disponibilidad de la flamante versión beta de ASP.NET MVC 4, a la vez que describíamos las principales novedades que venían de su mano: “¡ASP.NET MVC 4 Beta disponible!”.
De nuevo el humor tiene su hueco en la lista de artículos más visitados con la aparición de “Llamemos a las cosas por su nombre”, una relación de fórmulas geek para arremeter contra los patosos usuarios de nuestras aplicaciones.
También destaca “TypeScript: un primer vistazo”, donde se realizaba un rápido recorrido sobre los aspectos más destacables de la propuesta de Microsoft para mejorar la vida de los desarrolladores Javascript.
Y por último, un post que ha entrado con mucha fuerza a última hora, el anuncio de los nuevos servicios de computación distribuida móvil con el que podemos ganar bastante dinerillo: “Vende a la nube capacidad de proceso de tu móvil”. San Inocencio me perdone, pero no puedo evitarlo ;-D
Cosecha de 2011 y anteriores
Artículos escritos en años anteriores, muchos de ellos destacados miembros de lo que suelo denominar “clásicos de Variable Not Found”, siguen atrayendo un gran número de visitas al blog.El primero en la lista, por segundo año consecutivo, es el artículo “ASP.NET MVC 2: Quince cuestiones que deberías conocer”, que recoge algunas de las preguntas realmente básicas sobre el framework y, a pesar de referirse a la segunda versión, sigue despertando interés de los lectores. Ya el año pasado me propuse actualizarlo a la versión 4 y por razones que no quiero nombrar
Le sigue un clasicazo del blog, el inicio de la saga que aún hoy perdura: “101 citas célebres del mundo de la informática”. Este post inaugural fue traducido de una publicación original en inglés (con permiso de su autor, por supuesto), y me divirtió tanto que comencé a recopilar citas por mi cuenta, lo que ha dado como para cinco posts de la serie a lo largo de los años.
La popularización de MVC y la tradicional falta de alternativas oficiales para la implementación de rejillas de datos Ajax (grids, grillas,…) hacen que aún en la actualidad siga siendo muy consultado el post “jqGrid: Grids espectaculares para ASP.NET MVC, paso a paso”, un artículo de 2009 que mostraba cómo utilizar este conocido plugin de jQuery para la visualización y edición de datos.
A continuación encontramos un post de 2008, “32 técnicas de producción de ideas”, un resumen de técnicas de producción de ideas extraídas de la web Neuronilla, que supongo que por obra y gracia del SEO parece estar bastante bien posicionado y atrae bastantes visitantes.
Una prueba más de la importancia de la implementación de rejillas de datos es el hecho de encontrar de nuevo un post sobre el tema, “WebGrid en MVC 3, paso a paso”, que de hecho era el inicio de una serie de artículos bastante leídos también.
“Evitar el postback al pulsar un botón en ASP.Net” es un artículo de 2007(!) que, según comentaba un lector, sigue estando aún vivo, y con bastantes lecturas a lo largo del año. Una alegría, teniendo en cuenta el ritmo al que avanzan las tecnologías y la rapidez con la que los contenidos quedan obsoletos.
Y, ¿quién dijo que Windows XP o Vista estaban ya muertos? Por suerte o por desgracia no es así, y prueba de ello es que entre los diez artículos más vistos en 2012 se encuentra un artículo del año 2010 llamado “Acceder al contenido de un .vhd desde Windows XP/Vista”. Increíble pero cierto.
A continuación, el imperdible “El Tao de la Programación”, una maravilla escrita en 1987 por Geoffrey James, quien muy amablemente me permitió traducir y publicar en el blog esta pieza imprescindible de la literatura friki. Ya estás tardando en leerlo, si aún no lo has hecho ;-)
Seguidamente encontramos otros dos clásicos muy solicitados por los lectores, “Edición elegante de fechas con jQuery Datepicker y MVC, paso a paso” y “Desplegables en cascada con ASP.NET MVC y jQuery”, que a pesar de su antigüedad siguen siendo relativamente válidos. A ver si este año me animo y publico versiones actualizadas de los mismos.
¡Y eso es todo! Espero que esta recopilación os sea de utilidad para descubrir posts que en su momento os perdisteis o para redescubrir alguno que os llamara la atención cuando se publicó.
Seguimos viéndonos por aquí :-)
Publicado en Variable Not Found.
Publicado por José M. Aguilar a las 9:20 a. m.
Etiquetas: autobombo, blogging, recomendaciones, resumen, variablenotfound, variablenotfound.com
El temario es una completa y profunda revisión del utilizado en el curso de MVC 3, que tan buenas críticas ha recibido por parte de los alumnos que lo han seguido, pero más completo, adaptado a las novedades de la nueva versión, a las nuevas herramientas, y con un enfoque mucho más práctico.
Y para que veáis que no se ha escatimado en recursos, ahí va un vídeo de presentación muy chulo:
Es para mí todo un honor y un privilegio seguir formando parte de este grupo de apasionados de las tecnologías Microsoft, gente increíble con la que da gusto tratar, y con los que espero poder compartir más buenos ratos.
Por si alguno no sabe de qué se trata, el galardón MVP (Most Valuable Professional) es un prestigioso reconocimiento que otorga Microsoft a personas de la comunidad técnica que dedican parte de su tiempo a compartir con otros usuarios sus conocimientos y experiencias sobre productos y tecnologías de esta compañía. Si estás interesado en saber más sobre ello, aquí puedes leer bastante sobre el reconocimiento MVP.
Muchas gracias a todos los que lo habéis hecho posible de nuevo :-)
Ah, y ¡felicidades a todos los nuevos galardonados, y a los que repiten también este año!
Publicado en Variable not found.
Lo que sí sé es que al llegar a casa inicié Windows XP, abrí Internet Explorer 6 y navegué hacia blogger.com con la intención de crear un blog. No tenía grandes aspiraciones, pero estaba seguro de que la travesía iba a ser larga.
Publicado por José M. Aguilar a las 12:33 p. m.
Etiquetas: aniversario, autobombo, blogging, variablenotfound, variablenotfound.com
El escenario era el siguiente: toda la familia metida en el coche a las cinco de la tarde, rumbo a la costa para pasar el fin de semana, un calor de narices, una morriña siestera bastante importante y muchas ganas de llegar a la playa.
Decidimos parar en una estación de servicio para tomar un café que nos permitiera continuar la marcha en condiciones razonables. Como de costumbre, aprovecho para revisar el correo electrónico desde el móvil por si ha surgido alguna emergencia de última hora, y me encuentro con esto:
Asunto: ¡Enhorabuena MVP de Microsoft 2011!De pronto se me quitaron el calor, el sueño, e incluso las ganas de playa. ¡Vaya sorpresa! :-)))
Estimado/a Jose Maria Aguilar,
Enhorabuena. Nos complace presentarle el programa de nombramiento MVP de Microsoft de 2011. Este nombramiento se concede a los líderes excepcionales de la comunidad técnica que comparten de forma activa su experiencia de alta calidad y de la vida real con otras personas. Le agradecemos especialmente la contribución que ha realizado en las comunidades técnicas en el área de ASP.NET/IIS a lo largo del pasado año.
[…]
Para el despistadillo que aún no lo sepa, el MVP es un galardón que concede Microsoft a personas de la comunidad técnica que dedican parte de su tiempo a compartir con otros usuarios sus conocimientos y experiencias sobre productos y tecnologías de esta compañía. Si estás interesado en saber más sobre ello, aquí puedes leer sobre el programa MVP.
Es para mí un honor y un privilegio el poder entrar a formar parte de este grupo, y sólo espero estar a la altura de esta distinción. Intentarlo, lo intentaré, os lo aseguro ;-)
Gracias a todos los que lo habéis hecho posible.
¡Nos vemos!
Pues bien, CampusMVP ha lanzado recientemente la promoción “verano feliz” que seguro termina de animaros a aquellos que aún necesitáis un empujoncito:
- acceso durante tres meses al curso de preparación de la certificación, con un descuento brutal sobre el precio habitual,
- libros en papel y PDF sobre C#, LINQ, Entity Framework y OData indispensables para cualquier desarrollador, escritos por auténticos figuras de este mundillo,
- acceso a MeasureUp, el simulador oficial del examen de certificación de Microsoft,
- tres meses de acceso a la biblioteca completa de vídeos de PluralSight sobre tecnologías Microsoft,
- una mochila EastPak,
- una camiseta “Feed your brain” muy molona,
En mi opinión, se trata de una oportunidad realmente interesante que podéis aprovechar durante este mes y de forma limitada, así que no os lo penséis demasiado ;-)
Más información en: Verano feliz con CampusMVP.
Publicado por José M. Aguilar a las 10:13 a. m.
Etiquetas: ado.net, autobombo, curso, desarrollo, noticias
Bien, pues hace ya cinco años de esto. Se dice pronto, eh? :-)
El siguiente paso fue darle a este espacio un nombre. Seguro que muchos ya sabréis que la denominación Variable not found es un homenaje a los viejos tiempos del Spectrum, culpable de que muchos nos estemos dedicando hoy profesionalmente al desarrollo de software.
Para los más jóvenes diré que este mensaje de error era bastante habitual cuando programábamos con aquel Basic primitivo de los años 80 e intentábamos acceder a una variable no definida. Por cierto, aquellos de mi quinta que queráis tener un momento nostalgia, o los que simplemente tengáis curiosidad por trastear con él, podéis encontrar aquí un emulador online de esta maravilla.
Y tras todo ello, ya sólo faltaba lo más difícil: intentar crear contenidos razonablemente decentes, darlo a conocer, conseguir visitas, suscriptores, comentarios… y en ello estamos :-)
Como en otras ocasiones, aprovecho para resumir los distintos periodos por los que hemos ido pasando desde aquél momento para, justo después, comentar este último año que acabamos de finalizar.
- Año 1: la travesía del desierto (mayo 2006 - mayo 2007), caracterizado principalmente por ser yo el único visitante (poco más o menos) al blog, por aquellos tiempos disponible a través de la dirección jmaguilar.blogspot.com y con la imagen de una de las plantillas de Blogger.
La siguiente gráfica muestra los primeros meses de vida del blog, donde era extraño superar las tres visitas al día. Esos picos que se ven probablemente sería yo mismo haciendo pruebas:
También es curioso ver los primeros veinte días sin datos estadísticos: era tan ignorante –o tenía tan pocas esperanzas de que fuera a entrar alguien- que ni siquiera se me ocurrió activar ningún sistema de seguimiento hasta 20 días después de la inauguración oficial de la bitácora :-D
- Año 2: el despegue (mayo 2007 - mayo 2008), durante el cual se produjeron múltiples novedades, como la adquisición del dominio variablenotfound.com, la difusión de feeds a través de Feedburner, la creación del diseño actual, y la inclusión en agregadores y comunidades como Planeta Código, Planet WebDev y Geeks.ms.
Este segundo año lo acabamos con un incremento del 2.500% en el número de visitas (la verdad, tampoco lo tenía muy difícil al partir casi de cero ;-)), debido en gran parte a algunas avalanchas procedentes de Menéame.
Pero lo que me parecía más increíble era algo a lo que, curiosamente, no había prestado demasiada atención y que, sin embargo ahora, es uno de los parámetros que más valoro: los suscriptores a los feeds. Acabábamos el año con unos increíbles 380 suscriptores.
- Año 3: la consolidación (mayo 2008 – mayo 2009), periodo sin grandes cambios en el que Variablenotfound.com continuó creciendo, aunque no de forma tan espectacular como lo había hecho anteriormente.
Se incrementaron en un 75% el número de visitas procedentes de buscadores, debido a que comenzaba a notarse la antigüedad del blog, el número de referencias externas y su posicionamiento en buscadores, compensando así la práctica ausencia de “meneos” y otro tipo de avalancha.
Según elinestableinestimable feedburner, los suscriptores a feeds superaron este año los 600, lo que suponía un aumento casi del 100% respecto al periodo anterior. Impresionante.
- Año 4: la variable social (mayo 2009 – mayo 2010), se continuaba la estabilidad en cuanto al número de visitas, aunque seguían creciendo a un ritmo importante. Superábamos los 900 suscriptores a los feeds, y rozábamos los 100.000 usuarios únicos absolutos al año, sumando las visitas a variablenotfound.com y su eco en geeks.ms.
La gran novedad del periodo fue la inclusión del componente social, creando una página en Facebook y comenzando a retransmitir vía Twitter. Acabábamos el año pasado con cien seguidores en el primero, y más de cincuenta en el segundo.
Año 5: La variable física
La principal novedad de este año ha sido el hecho de haber salido de la cueva, y haber podido introducir la componente física en esta ecuación.La asistencia al TTT/Open Day me permitió ponerles cara y voz a fenómenos a los que admiraba y llevaba siguiendo desde hacía mucho tiempo, y con los que fue un auténtico placer poder compartir unas horas. Más recientemente, la gira Make Web Not War en la que he tenido el placer de participar también me ha dado la oportunidad de saludar personalmente a amigos a los que sólo conocía virtualmente, y de echar unos ratos excelentes con un grupo estupendo. Y finalmente, todo esto me ha permitido entrar en contacto con la gente de CartujaDotNet, el grupo de usuarios .NET de Sevilla, donde espero participar y colaborar de forma presencial.
Entrando ya en otro orden de asuntos, Variable not found ha continuado su trayectoria ascendente incrementando el número de usuarios de forma considerable en todos los canales abiertos:
- Un 30% de incremento en el número de visitas y páginas vistas en variablenotfound.com, donde estamos ya estabilizados por encima de las 10.000 visitas/mes. Si sumamos las consultas de estos contenidos desde geeks.ms, nos ponemos ya en 15.000 visitas/mes.
- Feedburner indica cerca de un 25% de incremento, superando los 1.100 suscriptores a los feeds del sitio.
- Conseguimos cerca de un 300% de incremento en el número de followers en Twitter, que rondan los 230 en este momento.
- Un 100% de incremento de seguidores en Facebook, donde superamos ya los 200 amigos.
En cuanto a los navegadores, Firefox sigue siendo el más usado para acceder a variablenotfound.com, aunque el uso de Chrome se ha duplicado en el último año en detrimento de IE y del propio Firefox. Este trío concentra el 95% de los usuarios.
Curiosamente, el 7% de los usuarios que usan Internet Explorer siguen con la versión 6 :-O. Pero bueno, el año pasado a estas alturas era tres veces más, así que no podemos decir que la campaña IE6 count down no esté surtiendo efecto…
Otro dato interesante es que el año pasado Windows XP era utilizado prácticamente por el 60% de los visitantes, y ahora rondamos el 45%. Windows 7 ha crecido hasta cerca del 40%.
Respecto a los beneficios obtenidos, este año se ha producido la tan esperada llegada de mi primer cheque Adsense, que ya compartí virtualmente con vosotros ;-) Para mi gusto le faltaban algunos ceros para haber sido perfecto, pero vaya, menos da una piedra…
Afortunadamente sigo disfrutando al escribir cada post, al revisar los comentarios (pocos, pero haberlos haylos), al descubrir las referencias externas, comprobar que los posts son útiles de vez en cuando a alguien, y al ver que el número de amigos de variablenotfound.com continúa creciendo. Y desde luego, sigue sin haber mejor recompensa que ver que estáis ahí después de tanto tiempo.
¡Mil gracias a todos! Y por supuesto, espero que sigáis ayudándome a buscar la variable un año más ;-)
Publicado en: Variable not found
Publicado por José M. Aguilar a las 10:26 a. m.
Etiquetas: aniversario, autobombo, blogging, variablenotfound, variablenotfound.com
Días atrás presentaba el nuevo curso de ASP.NET MVC 3 en CampusMVP, y ahora le toca el turno a otro de los asuntos que me ha tenido bastante entretenido los últimos meses: el nuevo curso de preparación de la certificación 70-516 TS: Accessing Data with Microsoft® .NET Framework 4.
El objetivo del curso es ayudaros a preparar el examen 70-516 de Microsoft que os certificará como Technology Specialists en acceso a datos sobre la versión 4 del framework. Sin embargo, el curso está conceptualizado para lograr un objetivo aún mayor: aprender a identificar, seleccionar e implementar con éxito todas las tecnologías de acceso a datos disponibles en la última versión del marco de trabajo de Microsoft, de forma que los conocimientos adquiridos os sean de utilidad en vuestra vida profesional.
Para ello, se ha creado un completo temario exclusivo para el curso, en el que se incluyen más de 130 temas con orientación muy práctica, cerca de 4 horas de vídeos explicativos, aplicaciones de ejemplo, enlaces, y otros recursos, a través de los siguientes módulos:
- Introducción, donde hacemos una breve presentación del curso y una rápida revisión de las tecnologías de acceso a datos incluidas en .NET Framework 4 y que iremos desgranando a lo largo del curso.
- El núcleo de ADO.NET, donde comenzamos desde cero tratando temas básicos como conexiones, comandos de consulta y actualización, o transacciones, hasta profundizar en asuntos algo más avanzados como la encriptación de cadenas de conexión, comandos asíncronos, MARS, el uso del LTM, técnicas de control de concurrencia, la abstracción del origen de datos usando factorías de proveedores, y muchos otros temas.
- Uso de DataSets, la solución clásica para la gestión de datos desconectados que sigue siendo válida en determinados escenarios. En este módulo detallaremos el proceso de definición de conjuntos de datos en memoria (tablas, columnas, restricciones, etc.), la carga desde fuentes de datos externas usando adaptadores, fórmulas para la realización de consultas, actualización de datos en memoria y traslado a la base de datos relacional, la gestión de conflictos, la relación con XML, o la tecnología LINQ To DataSet, entre otros temas.
- Entity Framework, donde partiremos de la descripción arquitectural del marco de entidades e iremos profundizando progresivamente en sus distintos componentes de forma práctica:
- En El EDM, trataremos la creación y personalización del Entity Data Model, desde escenarios de mapeo simples hasta el modelado de herencia, el uso de tipos complejos o el mapeo avanzado de entidades.
- La sección Entity Client describe las interioridades de este proveedor de acceso a datos a través de los modelos conceptuales. Veremos su paralelismo con otros data providers y aprenderemos a utilizar sus conexiones, a crear consultas utilizando el lenguaje eSQL, y a recuperar los datos obtenidos en ellas.
- A continuación, estudiaremos Object Services y el papel fundamental que juega en la arquitectura de Entity Framework. Veremos el contexto de objetos, las fórmulas para la realización de consultas fuertemente tipadas sobre el modelo conceptual, y trataremos otras funciones vitales, como la materialización de entidades, la resolución de identidad o el seguimiento de estado.
- Descrita ya toda la infraestructura, entraremos en LINQ to Entities, la extensión de LINQ que nos permite realizar consultas integradas sobre los modelos conceptuales.
- También dedicaremos varios temas a describir en detalle cómo realizar operaciones de actualización del origen de datos utilizando Object Services (inserción, actualización, y eliminación), y deteniéndonos a tratar aspectos como la transaccionalidad, los problemas de concurrencia o el uso de objetos desconectados.
- Por último, dedicaremos varios capítulos a la personalización de contextos y entidades mediante el uso de plantillas T4, la creación de STE (Self-Tracking Entities) y el uso de objetos POCO (Plan Old CLR Objects).
- El siguiente módulo, LINQ to SQL, trataremos esta tecnología que, aunque ampliamente superada por Entity Framework, puede ser de utilidad en escenarios simples (bueno, y entra en el examen 70-516 ;-)). Veremos cómo crear modelos de objetos, su personalización y aprenderemos a utilizar el contexto de datos para la realización de consultas mediante LINQ, así como a actualizar el origen de datos gestionando los posibles problemas de concurrencia que pueden aparecer, pasando por aspectos como la transaccionalidad de las operaciones, o el uso de objetos desconectados.
- En WCF Data Services detallaremos el uso de servicios WCF de acceso a datos utilizando OData (Open Data Protocol). Comenzaremos creando servicios y configurándolos para permitir el acceso a datos utilizando la semántica REST, y veremos cómo acceder a ellos de forma directa y utilizando las librerías cliente, tanto para consultar como para actualizar datos. También, entre otros asuntos, estudiaremos la creación de interceptores, operaciones personalizadas, y veremos cómo realizar operaciones asíncronas.
- Terminando ya con el temario, realizaremos una introducción a Sync Framework, el marco de trabajo que nos permite implementar escenarios OCA (Ocassionally Connected Applications) mediante el uso de una base de datos local capaz de sincronizarse con otras fuentes de datos. Veremos cómo crear y configurar cachés locales, tanto en escenarios locales como distribuidos, y estudiaremos las operaciones de sincronización y el tratamiento de conflictos.
- Y por último, una Guía del Examen, que incluye valiosos consejos y trucos vistas a superar el examen de certificación.
- C# 3.0 y LINQ, del maestro Octavio Hernández.
- Entity Framework 4.0, del gran Unai Zorrilla, y que ya comenté por aquí hace unas semanas.
- El whitepaper Comenzando con OData, del único e inigualable José Miguel Torres (que puedes leer online aquí).
- Además, al acabar el curso, también se suministrará el temario completo en formato PDF, lo que permitirá su consulta en el futuro, incluso habiendo finalizado el periodo de formación.
Adicionalmente, para que vayáis bien preparados al examen, el curso incluye 6 meses de acceso a las simulaciones del examen oficial de MeasureUp, el único proveedor avalado por Microsoft. Durante este tiempo podréis practicar todo lo que necesitéis hasta estar bien preparados e ir al examen con total tranquilidad.
Ah, aprovecho también para decir que este curso está incluido dentro de la nueva iniciativa Garantía de aprobado de CampusMVP. Esto implica que si seguís la metodología propuesta y os preparáis a conciencia, en caso de no superar el examen de certificación se os devolvería el importe del curso, aunque ya os adelanto que no os va a hacer falta… ;-)
En cualquier caso, vayáis al examen o no, los conocimientos adquiridos seguro os pondrán a la última en tecnologías de acceso a datos de Microsoft, y podréis aplicarlos de inmediato en la vida real. ¡Espero poder veros por allí!
Enlace: Preparación de la certificación 70-516 TS: Accessing Data with Microsoft® .NET Framework 4 en CampusMVP.
Publicado en: Variable not found.
El material es una revisión del curso de MVC 2, que tanto éxito de crítica y público ha tenido durante el pasado año, adaptado por completo a las novedades presentes en la nueva versión del marco de trabajo:
- Introducción a ASP.NET MVC, donde realizamos un primer acercamiento al framework MVC, y sentamos las bases sobre las que continuar el aprendizaje.
- El siguiente módulo, la primera aplicación ASP.NET MVC, crearemos nuestra primera aplicación partiendo de las plantillas por defecto de Visual Studio, que nos será de utilidad para comprender la estructura de este tipo de proyectos y el funcionamiento del marco de trabajo.
- Continuaremos añadiendo funcionalidades a esta aplicación, donde introduciremos nuevas características partiendo desde cero, aprovechando la ocasión para profundizar en la creación de modelos, vistas y controladores.
- Seguidamente estudiaremos la capa Modelo a fondo, viendo distintas formas de implementar sus componentes.
- A continuación, nos sumergimos en la capa Controlador, detallando minuciosamente la creación de controladores, las posibilidades que nos ofrecen, y el conjunto de herramientas que nos facilita el framework para ellos, como el sistema de routing, el binding, filtros, o resultados de acciones.
- También trataremos con gran detalle la creación de la capa Vista, donde describiremos sus tipos, implementación y mecanismos del marco de trabajo que nos facilitan la tarea, como los helpers estándar, plantillas, validadores, o los nuevos helpers de Webpages, entre otros, utilizando los motores de vistas Webforms (ASPX) y el nuevo Razor.
- En Ajax con ASP.NET MVC realizaremos un recorrido por las distintas alternativas para la introducción de Ajax en nuestros sistemas, y mostraremos la solución a escenarios comunes.
- También trataremos cómo organizar los proyectos en Áreas, y los cambios que implican en cuanto a la estructura y funcionamiento de las aplicaciones.
- Y por último, dedicaremos un capítulo a temas adicionales, básicamente para tratar otros aspectos no incluidos en los módulos anteriores, como la realización de pruebas unitarias y las nuevas facilidades para la resolución de dependencias, internacionalización, el despliegue de aplicaciones, o el gestor de paquetes NuGet.
El curso se imparte totalmente online, a través de la plataforma CampusMVP, sin horarios y a vuestro propio ritmo. La duración total del curso está estimada en 12 semanas (con una dedicación media de 5 o 6 horas por semana, dependiendo del nivel de partida), y durante las cuales, dado que soy el tutor, contaréis con mi asistencia para resolver vuestras dudas e inquietudes, y ayudaros a lo largo del proceso formativo.
Si estáis interesados, sólo tenéis que ir a la tienda online de CampusMVP y apuntaros directamente. Tened en cuenta que si trabajáis en España los cursos pueden salirle gratis a la empresa gracias a la formación bonificada.
¡Espero veros por allí! ;-)
Y recordad:
Publicado en: Variable not found.
Sin embargo, el dato que siempre he valorado más para hacerme una idea de la aceptación de un blog es el número de suscriptores a los feeds, puesto que implican una respuesta activa del lector hacia los contenidos. Se trata de personas que, voluntariamente, deciden en un momento u otro añadirte como fuente a su lector favorito, mostrando así de forma explícita su interés por tu trabajo.
Y aunque sé que Feedburner no es demasiado preciso, que este dato suele oscilar bastante y que probablemente en unas horas ya no será así, me váis a permitir que lo celebre un poco...
¡Hemos superado los mil suscriptores a los feeds en Variable not found! :-))
¡Mil gracias a todos!
Publicado en: Variable not found
Publicado por José M. Aguilar a las 11:15 a. m.
Etiquetas: autobombo, blogging, variablenotfound, variablenotfound.com