He de decir que esta vez he tenido que manipular un poco los resultados porque muchos de los posts más visitados eran los relativos a los anuncios de la gran celebración del décimo aniversario del blog y los espectaculares sorteos y regalos (como éste, éste, este, éste, éste…) que repartimos gracias a nuestros patrocinadores. Por tanto, para no monopolizar el ranking sin añadir mucho valor a estas alturas, no los he tenido en cuenta.
Ya centrados en los artículos con más chicha, veremos que la gran mayoría de entradas destacadas tienen que ver con ASP.NET Core, lo que pone de manifiesto el interés que está despertando el nuevo framework, y dejan claro que vosotros, amigos del blog, sois gente inquieta y os gusta estar a la última ;)
Encabeza el ranking el post "ASP.NET 5 se llama ahora ASP.NET Core", un eco del controvertido anuncio de Microsoft anunciando el cambio de nombre de su nuevo framework de desarrollo para la web. Aunque conceptualmente fue un renombrado correcto, no se puede decir lo mismo del momento que eligieron para hacerlo, que sin duda fue demasiado tarde.
En segunda posición encontramos "¿Cuál es el "Bus factor" de tu proyecto?" una llamada de atención sobre los peligros de concentrar toda la información y conocimiento sobre un proyecto en un grupo reducido de personas. Un tema serio, independientemente de lo divertido del término.
Le sigue en el ranking el artículo "5 cambios destacables en ASP.NET Core RC2", donde comentábamos las principales novedades introducidas en la tardía y rompedora segunda release candidate del nuevo marco de trabajo. Aquí comenzaron a verse aplicados los cambios de nombre, el nuevo modelo de aplicaciones de consola ASP.NET y el descarte de DNX en favor de .NET Core CLI.
El siguiente post más visto fue el que se hacía eco del lanzamiento de la versión 1.0 RTM de .NET Core, ASP.NET Core y Entity Framework Core. Era sin duda un esperado acontecimiento, probablemente el más importante de los últimos años, y era previsible que el tema despertara interés.
A continuación encontramos un artículo con contenido puramente técnico donde explorábamos el uso de variables de sesión en ASP.NET Core 1.0. Aunque a veces denostadas, probablemente por el abuso que históricamente se ha hecho de ellas, las variables de sesión son un recurso útil para el mantenimiento de estado entre peticiones de una aplicación web, y el interés despertado por este contenido dejó claro que aún siguen formando parte de la caja de herramientas de los desarrolladores.
En sexto lugar tenemos un post autorespondiéndome a una curiosidad que arrastraba desde hacía tiempo. En ¿Es ASP.NET Core MVC un middleware? estudiábamos si existía un middleware específico de MVC que fuera el responsable de "enganchar" este framework al pipeline de ASP.NET Core. Spoiler: no, no existe.
En "Convenciones personalizadas en ASP.NET Core MVC" introducíamos el Application Model de MVC, y cómo aprovecharlo para construir convenciones custom en las aplicaciones, como añadir automáticamente el filtro
[ValidateAntiForgeryToken]
a todas las acciones accesibles a través del método POST.Y finalizamos el top ten con un empate entre dos posts puramente técnicos, también sobre ASP.NET Core. El primero de ellos era el inicio de la serie "Archivos estáticos en aplicaciones ASP.NET Core", que se extendió posteriormente durante tres artículos más. El segundo, es una reedición de un artículo anterior, actualizada a versiones más reciente de ASP.NET Core, tras los cambios introducidos en RC2: "Logging en ASPNET Core (actualizado a RC2)".
Aunque ya hemos completado el ranking de los diez posts más visitados, voy a hacer una excepción para incluir el que hace número 11, porque tiene si mérito: Visual Studio 2017 se llamará finalmente Visual Studio Core 1.0. Y no queda ahí la cosa… Pues sí, la broma escrita para el pasado día de los inocentes (28-dic) entró con fuerza y en sólo tres días se quedó en las puertas de estar entre los diez artículos más vistos del año pasado :DD
Como siempre, aparte de los contenidos generados durante 2016, hemos tenido bastantes visitas a posts que ya son clásicos en el blog y supongo que estarán muy bien posicionados en buscadores, como:
- Los clásicos “101 citas célebres del mundo de la informática” y “Otras 101 citas célebres del mundo de la informática”, los primeros de la serie.
- Pasar variables de script a un Url.Action() o Html.ActionLink(), que muestra algunas opciones que tenemos para introducir parámetros conocidos en tiempo de script a direcciones generadas en MVC por dichos helpers.
- Seguimos teniendo pruebas de que WebForms sigue vivito y coleando, pues “Evitar el postback al pulsar un botón en ASP.Net” continúa atrayendo a muchos visitantes.
- Validación de peticiones en ASP.NET, o cómo evitar el error “Request.Form peligroso”, la solución a un error bastante común.
- ASP.NET MVC: WebGrid con filtro, paginación y ordenación. Los grids siguen siendo un caballo de batalla frecuente en las aplicaciones web.
Y esto es todo! Espero que os haya resultado interesante para conocer algún artículo que os perdisteis en su momento o para rememorar algunos que os llamaron la atención ;)
Publicado en Variable not found.
Publicado por José M. Aguilar a las 8:55 a. m.
Etiquetas: autobombo, blogging, variablenotfound
Y el renombrado de la suite de desarrollo por excelencia ya se estaba haciendo de esperar, aunque esta vez no nos ha pillado desprevenidos. De hecho, más o menos era un secreto a voces e incluso había algún leak donde se había adelantado la noticia: Visual Studio 2017 se llamará finalmente Visual Studio Core 1.0, rompiendo así con la tradición de versionarlos según el año de aparición, como se lleva haciendo desde el año 2003.
Ayer mismo se publicó la Release Candidate 2, en la que ya figura el nuevo nombre del producto. También es posible descargar ya las actualizaciones de componentes y herramientas de terceros (como JetBrains, Telerik, Component One, DevExpress y otros) con adaptaciones a estos cambios, así como acceder a documentación y materiales actualizados.
La nueva versión disponible a día de hoy, versionada como 2.0, ya hace efectivo este cambio, como podéis ver en la captura de pantalla adjunta.
Pero la oleada de renombrados en la organización no queda aquí, pues lo mismo ocurre con los servicios para desarrolladores en la nube. Con objeto de hacer más sencilla la adopción de la nueva nomenclatura, los servicios conocidos como Visual Studio Online, que luego pasaron a denominarse Visual Studio Team Services, pasarán ahora a llamarse Visual Studio Core Team Online Services, dejando así más patente su relación con la familia de productos y su enfoque de plataforma completamente online.
Aunque algo más adelante, también se verán afectados los servicios generales en la nube, lo que hasta ahora conocíamos como Microsoft Azure, que pasarán a denominarse Microsoft Cloud Core Services. Sin duda, todo un acierto el eliminar la palabra "Azure", que al fin y al cabo no dice nada, y comunicar más claramente dónde se encuentra la aportación de valor del producto, como ya hacen otros proveedores como Amazon, IBM o Google.
Según Patrick Iñuelas, product manager de Microsoft Naming Core Team (la división de marketing encargada de poner en marcha estos cambios) están ahora trabajando en el próximo paso, que es renombrar Xamarin a Silverlight Core, en palabras textuales, "porque tenemos el nombre de dominio disponible".
¿Y mi opinión respecto a todos estos cambios? Pues, por supuesto, absolutamente favorable. Los nombres anteriores sonaban ya algo añejos y a los jóvenes desarrolladores les sonaba a algo “legacy”; es lógico que cada cierto tiempo haya que hacer un reboot para poner los contadores a cero y comenzar de nuevo. En cuanto a los nombres elegidos, creo que son totalmente acertados porque son fáciles de recordar, tienen gancho, y se alinean correctamente con la tendencia "Core" de los últimos tiempos, dando una imagen mucho más fresca y moderna de los productos.
Publicado en Variable not found.
Publicado por José M. Aguilar a las 12:01 a. m.
Etiquetas: inocentadas, noticias, novedades, visualstudio
.NET
- C# 7–Default method implementation?
Eduard Tomás - Qué son los tipos por valor y por referencia en .NET y C#
José Manuel Alarcón - The week in .NET – .NET Core triage on On .NET, ShareX
Bertrand Le Roy - Performance exercise: Minimum
Andrey Akinhin - Time Period Library for .NET
Jani Giannoudis - Decimal vs Double and Other Tips About Number Types in .NET
Matthew Jones
un 2017 lleno sólo de cosas buenas.
Aunque esta tarea es algo que pueden (y suelen) realizar servidores frontales como IIS o Apache, a veces puede ser interesante que sea nuestra aplicación la que se encargue de ello, por ejemplo si estamos ofreciendo servicios directamente desde los servidores Kestrel o WebListener, o si deseamos aplicar algún tipo de compresión personalizada.
Conceptualmente, la tarea de compresión del resultado de una acción es una buena candidata para ser implementada como filtro. Los filtros son capaces de tomar el control antes y después de la ejecución de las acciones, por lo que, al menos en teoría, serían un buen lugar para implementar la lógica de compresión y retorno al cliente de los resultados, y su uso tendría la siguiente pinta:
public class HomeController : Controller { [Compress] public IActionResult Test() { var text = new string('x', 1000000); return Content(text); } }En este post vamos a ver cómo implementar ese filtro
[Compress]
. Y bueno, aunque implementarlo a mano y desde cero podría tener su gracia, lo que vamos a hacer es aprovechar dos de las últimas e interesantes novedades introducidas recientemente en ASP.NET Core 1.1: el middleware de compresión y la capacidad de utilizar middlewares como filtros de MVC..NET
- Eliding Async and Await
Stephen Cleary - The Year in .NET – Visual Studio 2017 RC and .NET Core updated, On .NET with Stephen Cleary and Luis Valencia, Ulterius, Inferno, Bastion, LoGeek Night
Bertrand Le Roy - GAMBADAS: Los tres principales pecados al gestionar errores y excepciones
José Manuel Alarcón - Why is reflection slow?
Matt Warren - .NET Framework December Monthly Rollup is Now Available
Stacey Haffner - How to Use Your GPU in .NET
D. Infuehr - Loading .NET Assemblies out of Seperate Folders
Rick Strahl - Research papers in the .NET source
Matt Warren