Artículos
-
Generales
Docker run o Docker Compose: cuándo basta un comando y cuándo necesitas un compose.yaml
Guía práctica para decidir entre docker run y Docker Compose: equivalencias flag por flag, un compose.yaml moderno con PostgreSQL, healthcheck y depends_on, perfiles, variables con .env y los límites que llevan a Kubernetes.
-
Java
Pirámide de tests en Java: JUnit 6, Testcontainers, Playwright y Gatling, cada uno en su nivel
Mapa de herramientas de testing en Java por niveles, con las versiones vigentes en noviembre de 2026 y un ejemplo de cada una: JUnit 6, Mockito y AssertJ, Spring Boot Test con Testcontainers, REST Assured, Playwright, Selenium, Cucumber, Gatling y JMeter, y criterios para decidir cuál usar en ca...
-
Java
Tu primer programa en Java 25: ficheros compactos, main de instancia e IO.readln
Java 25 convierte en estable la JEP 512: ficheros fuente compactos, métodos main de instancia y la clase java.lang.IO. Repasamos las reglas del lanzador, la API de IO y un juego de adivinar el número en versión moderna y con Scanner, además de lo que sigue en preview en JDK 26.
-
Java
Open Liberty y Jakarta EE 11 en un único JAR ejecutable con Maven
Cómo empaquetar una API REST con Jakarta EE 11 y Open Liberty en un único JAR que se arranca con java -jar, usando el liberty-maven-plugin: pom.xml, server.xml, código REST, variables de arranque, contenedores y cuándo elegirlo frente a Spring Boot.
-
Java
Hibernate 7 y SchemaManager: crear, validar y vaciar el esquema desde Java sin SchemaExport
Hibernate 7.4 y Jakarta Persistence 3.2 incorporan SchemaManager para crear, validar, vaciar y borrar el esquema desde el EntityManagerFactory. Qué sustituye a SchemaExport, qué añade Hibernate (populate, truncateTable, resynchronizeGenerators), cómo usarlo en tests y por qué en producción ...
-
Java
Subida de ficheros con Spring Boot 4: MultipartFile, progreso real y seguridad sin atajos
Cómo implementar la subida de ficheros en Spring Boot 4 con Java moderno: límites de multipart, guardado con la API Path, validación del contenido real en vez del Content-Type, errores con ProblemDetail, barra de progreso con XMLHttpRequest y defensa frente a path traversal.
-
Otros lenguajes
Login con Google en Android con Kotlin: Credential Manager, Compose y validación del token en servidor
Guía práctica para añadir el inicio de sesión con Google a una app Android con Kotlin: dependencias vigentes, hoja inferior y botón con Credential Manager, pantalla en Compose, manejo de errores, nonce y validación del ID token en el backend. Incluye Firebase Auth, GitHub y AppAuth para otr...
-
Javascript
Tu primera aplicación con Angular 22: de ng new a una lista de tareas con signals
Guía práctica para crear y ejecutar una aplicación con Angular 22: requisitos de Node, instalación del CLI, opciones de ng new, estructura del proyecto con componentes standalone, ng serve, ng build y ng test, y una lista de tareas completa con signals y tests con Vitest.
-
Javascript
Smart contracts de Ethereum desde TypeScript: viem y ethers v6 tras la retirada de web3.js
ChainSafe archivó web3.js en marzo de 2025 y la comunidad se reparte entre viem y ethers v6. Guía práctica para leer un contrato ERC-20, enviar transacciones, escuchar eventos y manejar el ABI en TypeScript contra la testnet Sepolia, con las diferencias entre ambas librerías.
-
Javascript
De Angular Universal a SSR moderno: SEO, prerenderizado e hidratación en Angular
Cómo configurar el renderizado en servidor en Angular 22 con @angular/ssr: modos Server, Prerender y Client por ruta, hidratación incremental con @defer, título, metadatos, canonical y JSON-LD, y cómo resolver los errores típicos con window y document.









