Experiencias de un desarrollador de software
Últimos posts
-
Tests de integración de bases de datos con Test containers y Spring Boot
Hoy en día no se pone en duda que la calidad del software y su maleabilidad van directamente ligadas a la capacidad de comprobar si éste sigue funcionando tras un cambio, un refactor o una nueva funcionalidad. Dedicamos tiempo y esfuerzo a desarrollar las pruebas automáticas de nuestras aplicaciones con el objetivo de no caer en una montaña de deuda técnica y poder seguir adaptándonos a los cambios a los que hay que adaptar el software día tras día. Una de las tecnologías que más nos puede ayudar a la hora de comprobar que nuestro software funciona es sin lugar...
-
Midiendo el rendimiento de un servicio Java 21 con virtual threads.
Vuelvo por aquí para compartir los resultados de una comparativa que tenía curiosidad por realizar, comparar la escalabilidad de un microservicio simple desarrollado con Spring Boot. La idea de este ejercicio es comprobar como afecta a la disponibilidad del servicio utilizar la flamante funcionalidad incorporada en Java 21, los Virtual Threads. El servicio se va a encargar de ofrecer una API Rest sencilla para almacenar, leer, modificar y borrar ubicaciones en una base de datos PostgreSQL. Podemos consultar el código en el repositorio de Github spring-boot-location-api. Para desarrollar este servicio he utilizado el stack tradicional de Spring Boot, con los...
-
Promesas con async/await y carga concurrente de recursos
En este mismo blog he hablado de la potencia de las promesas para manejar la comunicación cliente servidor de manera asíncrona en Javascript o, resumiendo, cualquier operación de entrada/salida. Como con cualquier poder viene la responsabilidad de gestionarlo correctamente, veremos en este post cómo configurar Webpack + Babel para poder utilizar async/await en nuestro proyecto Javascript para tener compatibilidad máxima y así utilizar esta sintaxis que nos ayudará a usar las promesas de una manera mucho más entendible. Configurando el proyecto Instalemos pues todo lo necesario para empezar el proyecto. Nuestro caso de uso va a ser un proyecto en...
-
Primeros pasos con ASP.NET Core sobre Linux
ASP.NET Core es la nueva apuesta de Microsoft por una solución multiplataforma de desarrollo web. Soporta tanto Windows como Mac come Linux, y permite una transición de páginas web desarrolladas con ASP.NET MVC a su versión multiplataforma ASP.NET MVC Core. Esta nueva tecnología además, destaca por ser una de las soluciones con mejor rendimiento a la hora de desarrollar aplicaciones web. Instalando el SDK Para poder trabajar con ASP.NET Core, necesitamos descargarnos el runtime de .NET Core. Estos son los pasos a seguir para instalarlo sobre Ubuntu 16.04 LTS. Seguimos los pasos para instalar .NET Core a través de los...
-
Programación asíncrona con promesas
Las promesas son una solución para implementar código asíncrono que aparece con el objetivo de reemplazar a los callbacks. Al ser una abstracción más avanzada, las promesas permiten operaciones como esperar a que diversas operaciones asíncronas terminen de ejecutarse de manera concurrente, mejoran la legibilidad del código y facilitan el manejo de errores. En definitiva, no son simplemente una moda sino que también aportan ventajas competitivas frente a los callbacks. Entendiendo las promesas Una promesa, como concepto, es un objeto que nos va a devolver un resultado cuando una operación haya finalizado. Este resultado puede ser o bien el valor...