Tutoriales y Código fuente
-
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...
-
Javascript
Selector de fecha en JavaScript vanilla
Selector de fechas (date picker) en JavaScript puro, sin librerías externas. Muestra un calendario mensual navegable con botones de mes anterior y siguiente, marca el día actual y permite elegir cualquier fecha. La semana empieza el lunes y la fecha seleccionada se muestra en formato largo en e...
-
Python
Introducción a clases en Python 3 POO desde cero
Ejemplo completo de programación orientada a objetos en Python 3. Cubre los tres pilares fundamentales: encapsulamiento (atributos protegidos y properties), herencia (Libro y Revista que extienden una clase base) y polimorfismo (una función que trabaja con cualquier subtipo). El código constru...
