
Pues sí, se acabaron las fiestas y aquí estamos de nuevo, volviendo a la rutina. Con el 2025 recién estrenado, ante todo, me gustaría aprovechar la ocasión para desearos que sea un gran año en todos los sentidos🙂
Y para empezar con buen pie, vamos a seguir la tradición de aprovechar este primer post para hacer un breve recopilatorio de los artículos más leídos el año anterior, con idea de que podáis descubrir contenidos que quizás os habíais perdido, reencontraros con algo que os interesó en su momento, o simplemente ver qué contenidos están llamando más la atención al resto de lectores del blog.
Top 10 posts 2024 en Variable Not Found
En décimo lugar, inaugurando el top ten de 2024 tenemos una llamada de atención: el artículo "¡No uses ContainsKey() en un diccionario .NET para ver si existe un elemento antes de obtenerlo!" muestra el impacto en el rendimiento de la doble búsqueda (una para ver si existe el elemento y otra para obtenerlo) y cómo podemos solucionarlo fácilmente con las herramientas que proporciona el propio framework.
Seguidamente, en el noveno puesto de la lista, respondemos a una pregunta bastante habitual cuando empezamos con ASP.NET Core: ¿por qué mi aplicación no arranca? En el artículo "No se puede conectar al servidor web 'https', el servidor web ya no funciona y otras pistas de que no has lanzado correctamente tu aplicación ASP.NET Core", además de la respuesta, veremos otros síntomas que nos pueden ayudar a identificar el problema. Spoiler: has olvidado incluir el app.Run()
al final del código de inicialización 😉
Curiosear el interior del código fuente de .NET es algo que a casi todos nos ha interesado en un momento dado. Y aunque los IDEs actuales lo ponen bastante fácil, no viene mal saber que existe source.dot.net, un sitio web que nos permite explorar y navegar por el código fuente de .NET de forma sencilla. Lo describimos en el post que ocupa el octavo puesto de la lista: "El código fuente de .NET, muy a mano".
A algunos aún nos cuesta trabajo introducirlos de forma natural en nuestro código (es normal, llevamos lustros haciéndolo de la forma clásica), pero indudablemente los constructores primarios han venido a C# para quedarse, y iba siendo hora de echarles un vistazo. El post "Constructores primarios en C# 12" lo encontramos en la séptima posición de la lista y nos muestra cómo funcionan, cómo se definen y cómo podemos sacarles partido en nuestros desarrollos.
El modificador param
de C# es una característica que llevaba con nosotros desde el principio de los tiempos, haciendo posible el envío de un número arbitrario de parámetros a métodos que los recibían como arrays. En .NET 9 se ha mejorando considerablemente su uso, permitiendo la utilización de prácticamente cualquier tipo de colección, lo que abre la puerta a determinadas optimizaciones y mejoras en el rendimiento. Justo empatado con el anterior, ocupa también la séptima posición del top ten encontramos el post "Soporte para colecciones en parámetros param
de .NET 9" donde lo exploramos en detalle.
Comer las uvas de fin de año, procesar grandes cantidades de datos y seguro que otros lances de la vida tienen el mismo problema: si no lo hacemos poco a poco, acabaremos atragantados 😉. Probablemente por eso, en sexto lugar encontramos el artículo "Procesar secuencias por lotes, o cómo usar chunks en C#", donde echamos un vistazo distintas técnicas para procesar colecciones por lotes, básicamente troceándolas en secuencias de datos más pequeñas y digeribles, desde implementaciones manuales hasta el uso del nuevo método Chunk()
de LINQ.
Otro de los posts más leídos del año ha sido "Registro y obtención de servicios con nombre (keyed services) en .NET", ocupando la posición central de la clasificación. En este artículo presentamos los keyed services, una novedad de .NET 8 que nos permite registrar servicios con un nombre asociado y recuperarlos posteriormente por ese nombre. Una característica muy útil en determinados escenarios, como la implementación de factories o la gestión de servicios de forma dinámica.
Entre las novedades de .NET 9, encontramos el nuevo método Task.WhenEach()
, que permite gestionar conjuntos de tareas de forma más eficiente cuando usamos paralelismo. Con él, ya no será necesario esperar a que todas las tareas acaben para poder procesar sus resultados, podremos hacerlo confirme éstas vayan finalizando. Lo vemos en el post que ocupa la cuarta posición, "Task.WhenEach() en .NET 9: Procesa tareas conforme se van completando".
También ha destacado la llegada de HybridCache
, el nuevo sistema de caché híbrida de .NET 9, subiendo hasta la tercera posición de la clasificación. En el post "HybridCache, la nueva caché híbrida de .NET 9" descubrimos cómo funciona, sus características y cómo podemos usarlo en nuestras aplicaciones. También ha sido muy visitando, aunque no lo suficiente para entrar en el top ten, el post muy relacionado "Mejora el rendimiento de HybridCache mediante la reutilización de objetos".
Las entradas de la serie C# bizarro son unas de las que más me divierte escribir, porque exploramos la flexibilidad de C# y .NET para llevar nuestro código a extremos aberrantes, y plantearlas a modo de adivinanza creo que le añade algo de maldad. Y por número de visitas, parece que también os llaman bastante la atención, porque ya en el segundo puesto de la lista encontramos el quinto episodio de la serie "C# bizarro, episodio 5: ¿cuál es la salida de este código?", en el que nos enfrentamos a un código que, a simple vista, parece sencillo, pero que esconde una trampa que nos puede llevar a un resultado inesperado. Además, si queréis ver otros divertidos posts de la serie, podéis encontrarlos en este enlace.
Y, finalmente, coronando el ranking tenemos un artículo que muestra cómo poner un poco de orden a los GUIDs, esas caóticas y desordenadas secuencias que letras y números que solemos usar como identificadores únicos. En el post "Creando GUIDs con orden natural en .NET 9" descubrimos qué son los UUID/GUID versión 7, sus características de secuencialidad y orden natural y, cómo generarlos desde .NET 9, aunque tengan alguna trampilla oculta.
¡Esto es todo! Espero que este repaso os haya sido de utilidad y, una vez más, espero que tengáis un gran 2025, y que sigamos viéndonos por aquí.
¡Hasta pronto!
Publicado en: www.variablenotfound.com.
Aún no hay comentarios, ¡sé el primero!
Enviar un nuevo comentario