Tutoriales y Código fuente
-
Python
LRU Cache en Python desde cero
Implementación del LRU Cache (Least Recently Used) en Python con O(1) en get y put. Dos versiones: lista doblemente enlazada con dict para entender el mecanismo, y versión compacta con collections.OrderedDict. Pregunta clásica de entrevistas técnicas.
-
Javascript
Snake en JavaScript con HTML5 Canvas
Implementación completa del clásico juego Snake con HTML5 Canvas. Controles de teclado y swipe táctil, velocidad creciente según la puntuación y diseño dark responsivo. Todo en un único fichero HTML sin dependencias.
-
PHP
La cadena vacía en PHP: usos correctos, antipatrones y alternativas
La cadena vacía ("") en PHP tiene más usos de los que parece, y no todos son correctos. Este tutorial recorre siete situaciones reales valor por defecto, centinela de error, cast implícito, acumulador en loop, comparaciones con ==, funciones que no la aceptan y muestra para cada una el ant...
-
PHP
State Pattern vs. Enums en PHP moderno: cuándo usar cada uno
Los Enums de PHP 8.1 son geniales para estados simples, pero cuando el negocio crece y cada estado necesita comportamiento propio reembolsos, llamadas a APIs, validaciones distintas el Enum revienta. Este tutorial muestra cómo pasar al State Pattern con clases dedicadas, inyección de depend...
-
PHP
Contador de visitas en PHP 8
Contador de visitas sencillo en PHP 8 que guarda el recuento en un fichero de texto. Sin base de datos. Usa bloqueo exclusivo de fichero para evitar condiciones de carrera en servidores con concurrencia alta. Muestra el número formateado con separadores de miles en una página HTML mínima lista...
-
Java
Cuatro en Raya en Java Swing con IA Negamax
Cuatro en Raya para Java Swing. El original era un applet JDK 1.0 (los applets quedaron eliminados en Java 11); esta versión funciona como aplicación de escritorio. La IA usa Negamax con poda alfa-beta a profundidad 5 y SwingWorker para no congelar la interfaz mientras calcula. Compilar con: ja...
-
Javascript
Cuatro en Raya en JavaScript con IA Negamax
Cuatro en Raya jugable en el navegador, sin dependencias ni instalación. IA con Negamax y poda alfa-beta a profundidad 6: prioriza la columna central, bloquea amenazas del jugador y busca victoria inmediata antes de calcular. Renderizado en canvas HTML5 con gradientes y hover animado. Abre el HT...
-
Javascript
Post-IT arrastrable con JavaScript moderno
Muestra un Post-IT fijo en la pantalla que se puede arrastrar por la cabecera y cerrar. Usa Pointer Events (API moderna que unifica mouse, touch y stylus) y localStorage para recordar si el usuario lo cerró. El original de 2002 usaba document.all y document.layers de IE4/Netscape 4, incompatible...
-
PHP
Convertir número a letras en PHP 8 (español)
Función PHP 8 que convierte cualquier número entero entre -999.999.999 y 999.999.999 en su representación literal en español. Maneja correctamente los casos especiales del español: "veintiún", "cien" vs "ciento", "un millón" vs "dos millones", negativos y ceros. Incluye un ejemplo de uso p...
-
PHP
Subir ficheros al servidor con PHP 8
Sube ficheros al servidor con PHP 8 de forma segura: move_uploaded_file() en lugar del inseguro copy() original, validación de MIME real con finfo, lista blanca de extensiones, límite de tamaño configurable y nombre aleatorio para evitar colisiones y path traversal. El ZIP incluye también un ...
