Imagina que estás en un aeropuerto internacional a punto de viajar al extranjero. Si has viajado antes, sabrás que hay varias cosas que debes hacer antes de que puedas partir a tu destino en el avión. Lo primero que encontrarás será el control de pasaportes. Aquí, el objetivo es verificar que eres la persona que dices ser
Esta charla, presentada en la NetCoreConf Madrid 2025 cuento cómo decidí dar un paso lógico en mi evolución profesional: sustituir a mi equipo de desarrollo por GitHub Copilot. Y lo mejor de todo es que, aparentemente, todo son ventajas.
Durante la SCBCN24 tuve la oportunidad de presentar esta charla titulada Tidying up your code. Cortesía de la última creación de Kent Beck de 2023, «Tidy First?», vamos a sumergirnos en las cuestiones más importantes del diseño de software y proponer algunas técnicas que nos ayudarán a tener mejor código
Los logs son una parte fundamental de cualquier aplicación. Nos permiten saber qué está pasando en nuestra aplicación, y nos ayudan a encontrar errores y problemas. Además, forman parte de uno de los tres pilares de la observabilidad, junto con las métricas y las trazas.
Dentro de la rama de la observabilidad existen tres pilares fundamentales: métricas, logs y trazas. En este artículo vamos a hablar de métricas y cómo podemos medir diferentes factores de nuestras aplicaciones de manera efectiva. Pero espera, ¿qué tienen que ver las métricas con la programación? Bueno, todo. Las métricas son importantes para cualquier tipo de proyecto, y más aún si se trata de programación. Y en .Net existe un sistema muy completo que nos permite medir casi todo tipo de cosas
Las trazas son una de las herramientas más antiguas y conocidas para la observabilidad de aplicaciones. Históricamente, las trazas se han utilizado para registrar información sobre el estado de una aplicación, como mensajes de error, advertencias o información de depuración.
En este post vamos a ver las diferencias entre los tipos de datos de referencia class, los tipos de datos de valor struct y cómo encaja en todo este entramado de objetos los nuevos tipos record y record struct que han sido introducidos en las últimas versiones del lenguaje C#
No se me ocurre una mejor forma de explicar el routing que con un ejemplo basado en una cervecería. Imagina “The Router’s Brew”, el pub donde todo desarrollador es bienvenido para tomarse una refrescante cerveza. Aquí hay un camarero cuya misión es escuchar las solicitudes de los clientes y servirles la cerveza que han pedido. El camarero sería el enrutador, y el cliente es el navegador web
Desde la primera versión de .Net Core se ha incluido un inyector de dependencias en el framework. Este inyector forma parte del núcleo de las aplicaciones ASP.NET Core, las basadas en IHost y se puede utilizar en cualquier aplicación .Net de forma independiente. De hecho, prácticamente todos los programadores de c# lo estamos usando aun sin saberlo. Pero esto no es excusa para no implementarlo de la mejor forma posible
Si hay algo que hace a Go especial, son las goroutines y los channels. Es como tener una varita mágica que te permite hacer malabares con múltiples tareas al mismo tiempo sin caer en el caos. Y si Golang es la varita mágica de los desarrolladores, entonces las goroutines y los channels son los hechizos de la programación. Y por consiguiente, los gophers vienen del mundo mágico de Harry Potter