Tutoriales y Código fuente
-
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 ...
-
Python
Detector de palíndromos en Python 3
Función que determina si una palabra o frase es un palíndromo, manejando correctamente el español: ignora tildes, mayúsculas, espacios y signos de puntuación. Incluye normalización Unicode para que "Ánima" y "anima" se traten igual, ejemplos con frases clásicas como "Dábale arroz a la zo...
-
Python
Problema de las 8 reinas en Python 3 con backtracking
Solución al clásico problema de las 8 reinas en Python 3 usando backtracking. El algoritmo coloca una reina por fila y descarta ramas inválidas antes de continuar, lo que lo hace mucho más eficiente que la fuerza bruta. Encuentra las 92 soluciones distintas e imprime un tablero ASCII para cad...
