Saltar al contenido

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

19 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 Core, MVC, Blazor, SignalR, Entity Framework, C#, Azure, Javascript...

¡Microsoft MVP!
lunes, 19 de mayo de 2025
50 millones de desarrolladores usando Visual Studio & Code

Tenemos una buena cosecha esta semana 🙂 Enlaces a unos 60 contenidos para estar al día sobre .NET, ASPNET Core, Blazor, buenas prácticas, IA, programación web y otros temas interesantes.

Y como es habitual, vamos a destacar algunos de ellos.

En primer lugar, José Manuel Alarcón nos recuerda que en unos días entrará en vigor la Ley de Accesibilidad Europea (EAA), que es de obligado cumplimiento y afecta a todos los sitios web y aplicaciones.

Braulio Díez nos habla de mock servers y cómo pueden ayudarnos a separar el desarrollo de backend y frontend en proyectos de una cierta complejidad.

Por último, dos de Microsoft. Por un lado, Amanda Silver celebra haber alcanzado 50 millones de desarrolladores usando Visual Studio y Visual Studio Code.

Y por otro, la llegada de .NET Preview 4, con novedades en librerías, runtime, ASP.NET Core, Blazor, MAUI, WPF y Entity Framework Core y otros. Podéis ver los detalles aquí.

Por si te lo perdiste...

.NET

martes, 13 de mayo de 2025
¡Variable not found cumple 19 años!

Hace unos días, Variable Not Found cumplió 19 años desde su post inaugural, en aquel lejano mayo de 2006. Durante todo este tiempo, ha sido un compañero de viaje con el que he ido compartiendo mis reflexiones, descubrimientos y aprendizaje sobre el mundo del desarrollo de software, con la ilusión de que pudieran ser útiles a alguien más.

No puedo decir que no me haya costado trabajo, y sobre todo, mucho tiempo, pero creo que ha sido recompensado con creces, tanto a nivel personal como profesional. Cada post ha sido una oportunidad para aprender algo nuevo y de profundizar en temas que me han interesado. He tenido la fortuna de sentirme parte de una comunidad increíble, en la que he podido conocer gente que comparte mis intereses e inquietudes, y en algunos casos, llegar a forjar amistades con personas brillantes, a las que admiro y respeto profundamente. Y sin duda, la visibilidad que me ha dado el blog me ha permitido acceder a oportunidades y proyectos a los que probablemente no habría llegado de otra manera.

Todo esto ha sido posible gracias a vosotros, queridas amigas y amigos del blog, porque sin vuestro apoyo este viaje no habría tenido sentido. Mil gracias por estar siempre ahí 🥰

Y para celebrarlo, como es habitual, vamos a hacer un pequeño repaso de lo que ha sido la temporada 2024-2025 en el blog en términos de visitas y visitantes, un ejercicio de transparencia que he realizado en cada aniversario desde hace más de quince años. En este caso, ya os adelanto que la desastrosa tendencia que veníamos observando en los últimos años incluso se ha acentuado, así que la cosa no va bien 😢

lunes, 12 de mayo de 2025
Personas que no saben si entrar o no a una escuela de programación

Aquí tenéis los enlaces recopilados durante la semana pasada. Espero que os resulten interesantes. :-)

Muy destacable esta semana el análisis de José Manuel Alarcón sobre el impacto de la IA en nuestra profesión. Un artículo que no te puedes perder si te preocupa aquello de que la "IA va a acabar con los programadores" o "no te hace falta saber programación, porque la IA lo hará todo por ti".

Interesante también la reflexión de Derek Comartin sobre el uso de APIs para CRUD y los problemas de diseño que introduce en nuestras aplicaciones.

Y Raymond Chen sigue trayéndonos curiosidades sobre Windows y sus mecanismos internos. En esta ocasión, nos cuenta los motivos de que el portapapeles de Windows no almacene correctamente los cambios rápidos en su contenido.

El resto, a continuación.

Por si te lo perdiste...

.NET

martes, 6 de mayo de 2025
Mago abriendo el capó de un coche para ver la magia que hay dentro

Hace unas semanas estuvimos hablando de los atributos englobados en la categoría de "caller information" de .NET: [CallerFilePath], [CallerLineNumber], [CallerMemberName] y [CallerArgumentExpression]. Como vimos, estos atributos permiten que un método o función conozca información sobre el método que lo ha llamado, como el nombre del archivo, el número de línea, el nombre del método o la expresión de argumento.

Sin embargo, ninguna de estas opciones nos permite saber cuál es la clase que contiene el código que ha llamado al método que está actualmente en ejecución, algo que podría venir bien en algunos escenarios. Por ejemplo, recientemente me lo he encontrado revisando un proyecto en el que se utilizaba el sistema de logging NLog, donde encontraba un código como el siguiente para obtener y almacenar de forma estática un logger para la clase actual:

public static class Program
{
    private static readonly NLog.Logger Logger = NLog.LogManager.GetCurrentClassLogger();
    public static void DoSomething()
    {
        try
        {
           Logger.Info("Hello world");
           System.Console.ReadKey();
        }
        catch (Exception ex)
        {
           Logger.Error(ex, "Goodbye cruel world");
        }
    }
}  

A la vista de estas líneas, puede parecernos difícil deducir qué hace ese método GetCurrentClassLogger() por detrás para saber cuál es la clase actual y crearle un logger específico para ella.

En este post, vamos a abrir el capó para ver la "magia" que hace esto posible.

lunes, 5 de mayo de 2025
Programador alumbrado por velas, usando una máquina de escribir mecánica y mientras escucha una vieja radio alimentada a pilas

Ya tenemos los enlaces recopilados durante la última semana, la que muchos de los de aquí recordaremos como "la del apagón". Vaya movida, ¿eh? 😄

Interesante la lectura del post de Andrew Lock sobre la creación de un lifetime de inyección de dependencias "pooled".

Curioso el artículo de Raymond Chen sobre por qué Windows 7, durante unos meses, se iniciaba más lento si tenías un fondo de pantalla de color sólido (?)

Y de nuevo destacamos un post de Juan Luis Guerrero, que nos habla de cómo automatizar pruebas unitarias en .NET con GitHub Copilot Agents.

El resto de enlaces, a continuación.

Por si te lo perdiste...

.NET