Dashboard de Tenis en Tiempo Real con WebSocket y JavaScript

Imagen
¿Por qué utilizar WebSocket en lugar de una API REST? El caso de Tennis API Cuando trabajamos con APIs, normalmente pensamos en solicitudes HTTP tradicionales donde una aplicación consulta información cada cierto tiempo. Sin embargo, para aplicaciones que requieren datos en tiempo real, existe una alternativa mucho más eficiente: WebSocket. Mientras exploraba las capacidades de Tennis API encontré su integración mediante Socket.IO, una tecnología que permite recibir actualizaciones en tiempo real sin necesidad de realizar consultas constantes al servidor. ¿Cómo funciona una API REST tradicional? Con una API REST, la aplicación debe preguntar periódicamente si existen nuevos datos. Por ejemplo: setInterval(async () => { const response = await fetch("/live-scores"); const data = await response.json(); console.log(data); }, 5000); En este caso la aplicación realiza una consulta cada 5 segundos. El problema es que muchas veces no existe información nue...

¿Por qué usamos palabras como “árbol”, “hilo” o “demonio” en programación? Metáforas que moldean el software

Programar con metáforas: cómo el lenguaje moldea el software… y nuestra forma de entenderlo

En el mundo de la programación, muchas veces usamos palabras que no vienen de lo técnico, sino de la vida cotidiana, la naturaleza, o incluso lo espiritual. Árboles, hijos, demonios, hilos, nubes... ¿por qué usamos estos términos para describir conceptos de software?

Este artículo es una reflexión sobre cómo las metáforas nos ayudan cuando intentamos comprender el mundo del código.

🌱 Inspiraciones naturales y biológicas

Desde las estructuras de datos hasta la inteligencia artificial, usamos muchos conceptos tomados de la biología o el mundo físico:

  • Redes neuronales: inspiradas en el cerebro humano, aunque su funcionamiento real sea muy diferente.
  • Árboles, ramas, hojas: estructuras que usamos para modelar relaciones jerárquicas.
  • Algoritmos genéticos: evolución artificial basada en selección y mutación.

Foto de Ana Zamora

👪 Relaciones familiares en estructuras

En estructuras como árboles binarios o bases de datos, usamos conceptos como:

  • Nodo padre y nodo hijo
  • Nodo raíz

Estos términos ayudan a visualizar relaciones jerárquicas, pero también reflejan cómo proyectamos nuestra experiencia humana en lo digital.

🧠 Procesos paralelos y nombres inquietantes

Existen metáforas que personalmente me han hecho cuestionar su sentido o elección:

  • Demonios (daemons): procesos que se ejecutan en segundo plano. El nombre puede parecer oscuro, aunque en UNIX no tenía esa intención.
  • Hilos (threads): representan ejecución paralela, pero la palabra puede resultar abstracta y confusa para quien empieza. A mi en lo personal no me gusta.

☁️ Metáforas tecnológicas y modernas

  • La nube: no es literalmente una nube, pero transmite la idea de algo intangible y “fuera de nuestra máquina”.
  • Sandbox (caja de arena): un entorno seguro para probar cosas, como el espacio donde un niño juega.

🔍 Más metáforas que usamos sin pensar

  • Sockets: como enchufes que conectan procesos o computadoras.
  • Fork: bifurcar un proyecto como quien toma un nuevo camino. Las traducción al español tambien suena  a palabras nuevas,es poco frecuente que alguien utilice la palabra bifurcaciòn en su días a día. 
  • Zombie process: proceso terminado pero no eliminado, como un “muerto viviente”.
  • Orphan process: proceso sin padre (otro proceso que lo controle).
  • Bug y debugging: errores vistos como bichos, desde una historia real con un insecto en un circuito.
  • Garbage collection: limpieza automática de memoria no usada.
  • Firewall: un cortafuegos que protege tu sistema, igual que un muro en arquitectura.
  • Paths o rutas: el camino que tomas entre carpetas, como si caminaras por ellas.
  • Monkey patching: cambiar código en tiempo de ejecución, con un nombre que parece más chiste que técnica.

🧭 ¿Nos ayudan o nos condicionan?

Dejo está pregunta para que nos compartan sus comentarios.

🌐 Conclusión

Programar no es solo escribir instrucciones. También es construir mundos conceptuales. Y esos mundos se alimentan del lenguaje que usamos. En lo personal pienso que el software es un mundo de abstracciones y que muchas veces para explicarlo es más sencillo identificar algo similar en el mundo en qué vivimos . El software es algo que creamos lo veo como un mundo paralelo.

Comentarios

🚀 Mantener este blog funcionando requiere tiempo y café. ¡Puedes contribuir con uno aquí!

Entradas más populares de este blog

Guía Práctica: Ejemplo Completo de ASPX para Desarrolladores Web

👉 Cómo obtener el tipo de cambio en Excel con API de Banxico (paso a paso)

Macro en Word para automatizar documentos: genera diplomas en segundos (con código VBA)