<?xml version="1.0" encoding="iso-8859-1" ?>   				<rss version="2.0"><channel><title>Programacion</title><link>http://programacion.net</link><description>Tutoriales de programacion.net</description><item><title>LRU Cache en Python desde cero</title><link>http://www.programacion.net/codigo/1903</link><description>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.</description><pubdate>2026-06-26 13:00:00</pubdate></item><item><title>Snake en JavaScript con HTML5 Canvas</title><link>http://www.programacion.net/codigo/1902</link><description>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.</description><pubdate>2026-06-26 12:00:00</pubdate></item><item><title>State Pattern vs. Enums en PHP moderno: cuándo usar cada uno</title><link>http://www.programacion.net/codigo/1901</link><description>Los Enums de PHP 8.1 son geniales para estados simples, pero cuando el negocio crece y cada estado necesita comportamiento propio, el Enum revienta. Este tutorial muestra cómo pasar al State Pattern con clases dedicadas, inyección de dependencias y una Factory que convierte Enum en State Object al rehidratar desde base de datos. Incluye tests unitarios de cada estado.</description><pubdate>2026-06-03 09:00:00</pubdate></item><item><title>La cadena vacía en PHP: usos correctos, antipatrones y alternativas</title><link>http://www.programacion.net/codigo/1900</link><description>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 y muestra para cada una el antipatrón habitual y la alternativa limpia con código listo para copiar.</description><pubdate>2026-06-03 09:00:00</pubdate></item><item><title>Contador de visitas en PHP 8</title><link>http://www.programacion.net/codigo/28</link><description>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.</description><pubdate>2026-05-09 12:00:00</pubdate></item><item><title>Cuatro en Raya en JavaScript con IA Negamax</title><link>http://www.programacion.net/codigo/1899</link><description>Cuatro en Raya jugable en el navegador, sin dependencias ni instalación. IA con Negamax y poda alfa-beta a profundidad 6. Renderizado en canvas HTML5 con gradientes y hover animado.</description><pubdate>2026-05-09 11:00:00</pubdate></item><item><title>Convertir número a letras en PHP 8 (español)</title><link>http://www.programacion.net/codigo/24</link><description>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, con todos los casos especiales del idioma.</description><pubdate>2026-05-09 11:00:00</pubdate></item><item><title>Generador de contraseñas seguras en PHP 8</title><link>http://www.programacion.net/codigo/23</link><description>Genera contraseñas aleatorias usando random_int(), criptográficamente seguro desde PHP 7. Admite longitud, cantidad, mayúsculas y símbolos especiales.</description><pubdate>2026-05-09 11:00:00</pubdate></item><item><title>Introducción a clases en Python 3 &#8212; POO desde cero</title><link>http://www.programacion.net/codigo/22</link><description>Ejemplo completo de programación orientada a objetos en Python 3: encapsulamiento, herencia y polimorfismo. El código construye un pequeño sistema de biblioteca.</description><pubdate>2026-05-09 11:00:00</pubdate></item><item><title>Selector de fecha en JavaScript vanilla</title><link>http://www.programacion.net/codigo/21</link><description>Selector de fechas en JavaScript puro, sin librerías externas. Calendario mensual navegable, marca el día actual y permite elegir cualquier fecha con formato largo en español.</description><pubdate>2026-05-09 11:00:00</pubdate></item></channel></rss>