Garbage collector en Java: G1, ZGC y cómo elegir
Comparación de G1 y ZGC en Java 21: cómo funcionan, cómo habilitarlos, lectura de registros GC, verificación del GC en ejecución y criterios para elegir GC en aplicaciones Spring Boot.
Java, Spring Boot, Golang, Python… — escribe código correcto y eficiente con ejemplos prácticos.
Comparación de G1 y ZGC en Java 21: cómo funcionan, cómo habilitarlos, lectura de registros GC, verificación del GC en ejecución y criterios para elegir GC en aplicaciones Spring Boot.
Guía de uso de encoding/json en Go, desde Marshal/Unmarshal, struct tags, Encoder/Decoder hasta tipos personalizados, con pruebas y errores comunes.
Usa Zod para validar datos de APIs, formularios o variables de entorno en runtime, mientras infiere tipos TypeScript del mismo schema.
Guía para usar Spring Kafka para enviar mensajes con KafkaTemplate, recibirlos con @KafkaListener, manejar errores con Dead Letter Topic y escribir pruebas con Embedded Kafka.
Usa LocalDate, ZonedDateTime y Duration en el lugar correcto: calcula fechas, cambia zonas horarias, maneja el horario de verano y escribe tests estables con Clock.
Usar mapped types y conditional types para generar tipos automáticamente a partir de tipos existentes, con infer, key remapping, testing de tipos y errores comunes.
Cómo construir un pool de workers en Go usando channel, sync.WaitGroup, context y errgroup para procesar de forma paralela con límites, cancelación y pruebas.
Comparación entre List.of, List.copyOf y Collections.unmodifiableList: cuál es una copia, cuál solo es una vista, cómo manejan null, y cuándo usar cada una.
Usa Pageable, Page, Slice y Sort de Spring Data JPA para paginar y ordenar datos, desde el repositorio hasta el controlador REST, incluyendo pruebas y errores comunes.
Entiende Global Interpreter Lock de CPython, por qué threads no aceleran código CPU-bound, cuándo usar threading, multiprocessing y la compilación free-threaded.
Go no tiene herencia. Este artículo explica struct embedding, cómo se promocionan los methods, las trampas de sobrescritura y cómo combinar embedding con interfaces.
Entiende el mecanismo de defer, panic, recover en Go, las trampas comunes, y cuándo deberías retornar error en lugar de panic.
Guía para empaquetar una biblioteca Python con pyproject.toml, construir wheel, probar en TestPyPI y publicar en PyPI usando token o Trusted Publishing.
Compara los tipos de thread pool en Java 21: fixed, cached, scheduled, work-stealing, virtual thread. Cómo configurar ThreadPoolExecutor manualmente y usarlo de forma segura en Spring Boot.
Cómo funciona @Transactional a través de proxy, junto con errores frecuentes como self-invocation, checked exception, rollback-only y test que oculta errores.
Distingue entre excepciones checked y unchecked, elige el tipo correcto, diseña excepciones propias con contexto y evita anti-patrones comunes.
Cómo usar @Scheduled con fixedRate, fixedDelay y cron, configurar el thread pool, manejar excepciones, escribir pruebas y resolver errores comunes.
Por qué threading no acelera el código intensivo en CPU, y cómo usar multiprocessing, Pool, ProcessPoolExecutor para aprovechar todos los núcleos.
Guía para usar pprof y recopilar perfiles de CPU, heap, goroutine, block, mutex en aplicaciones Go, desde servicios HTTP hasta benchmarks.
Usa Comparator.comparing, thenComparing, reversed y nullsLast para ordenar por múltiples criterios, con los errores más comunes.