¿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 —y a veces nos limitan— 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. 👪 Relaciones familiares en estructuras En ...

Guía Completa: API para Leer Datos de la Fórmula 1 (F1) con Ejemplos y Tutorial

 A mí gusta la formula 1 y hay veces que quiero ver los resultados y tengo que buscar en páginas de Instagram o en la Web y pensé porque no hacer mi propia página para ver los resultados de la última carrera lo cual les explicaré en esta publicación como hacerlo.

Primero hay que encontrar un API de formula 1 . Si sabes que es una Api saltaste este párrafo. Una Api es una conexión que podemos utilizar desde otra página para leer datos de otra página , es decir es un requerimiento o solicitud de información que se envía desde un sitio WEB indicando la URL de la cual quieres obtener la información y esta te regresa una respuesta con la un archivo JSON casi siempre o pude ser un XML. A manera de hacer una referencia del día a día, imagina que vas al supermercado (Walmart por ejemplo) y tu quieres saber el precio de un articulo, entonces vas al scanner de precios y lees tu producto y te da el precio, la API es el escáner, tu eres la pagina que solicita la información y el precio en pantalla del escáner es la respuesta del API.

En esta API de F1 que encontré en la pagina de https://rapidapi.com/hub debemos identificar cuáles son los datos de entrada que debemos enviar (o los datos de invocación para programadores de la vieja escuela ) y saber que datos nos va a regresar la API y en qué formato. 

Dos saber que datos nos va a regresar , en este caso vamos a buscar obtener datos JSON.

Ejemplo de código para consumir la API de F1 en JavaScript

La API que vamos a utilizar es https://rapidapi.com/api-sports/api/api-formula-1/details

y vamos a obtener los valores de ranking para la temporada 2023, les comparto como se ve el código

<!DOCTYPE html>

<html>

<body>


<h2>Using the XMLHttpRequest Object</h2>


<div id="demo">

<button type="button" onclick="loadXMLDoc()">Ranking Drivers F1 Season 2023</button>

</div>


<script>

function loadXMLDoc() {

  var xhttp = new XMLHttpRequest();

  xhttp.onreadystatechange = function() {

    if (this.readyState == 4 && this.status == 200) {

      document.getElementById("demo").innerHTML =

      this.responseText;

    }

  };

  

        xhttp.open("GET", "https://api-formula-1.p.rapidapi.com/rankings/drivers?season=2023",true);

xhttp.setRequestHeader("X-RapidAPI-Key", "yourkey");

xhttp.setRequestHeader("X-RapidAPI-Host", "api-formula-1.p.rapidapi.com");

  xhttp.send();

}

</script>


</body>

</html>



El resultado final es que nos da la información en modo JSON, falta darle formato y poner un campo de entrada para poder ingresar el año de la temporada, pero eso lo veremos mas adelante conforme mejoremos el código.

Si quieren probar la pagina la URL es https://www.programacionparatodos.com/p/api-de-f1-racking-drivers.html

si quieres ver la explicación del programa, te comparto la liga de nuestro canal de YouTube

                                https://youtu.be/ghO3eOwKpX0

Lo que mas me interesa compartir es que es muy fácil poder obtener información por medio de API, en este caso utilizamos HMTL , JAVASCRIPT para invocar a la API, donde solo le pasamos la URL y nos regreso información en formato JSON. 


NOTA 4 DE AGOSTO 2024

Hemos visto que ya con XMLHttpRequest marca un error de CORS con esta API, por lo que colocamos la actualización con fecth y la temporada 2024

<!DOCTYPE html>

<html lang="es">

<head>

    <meta charset="UTF-8">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>Fetch API Example</title>

    <style>

        pre {

            background-color: #f4f4f4;

            padding: 10px;

            border-radius: 5px;

        }

    </style>

</head>

<body>

    <h1>Ranking de pilotos de Fórmula 1</h1>

    <pre id="result">Cargando datos...</pre>


    <script>

        // Función asíncrona para obtener los datos de la API

        async function fetchData() {

            const url = 'https://api-formula-1.p.rapidapi.com/rankings/drivers?season=2021';

            const options = {

                method: 'GET',

                headers: {

                    'x-rapidapi-key': 'YOURKEY',

                    'x-rapidapi-host': 'api-formula-1.p.rapidapi.com'

                }

            };


            try {

                const response = await fetch(url, options);

                if (!response.ok) {

                    throw new Error(`Error: ${response.status} ${response.statusText}`);

                }

                const result = await response.json();

                console.log(result);


                // Mostrar los datos en el documento HTML

                const resultElement = document.getElementById('result');

                resultElement.textContent = JSON.stringify(result, null, 2);

            } catch (error) {

                console.error(error);

                const resultElement = document.getElementById('result');

                resultElement.textContent = 'Error al obtener los datos. Verifica la consola para más detalles.';

            }

        }


        // Llamar a la función para obtener los datos cuando se cargue la página

        fetchData();

    </script>

</body>

</html>


Espero les sea de utilidad y nos compartan.

Otro ejemplo para leer un API y pasear json 

https://www.programacionparatodos.com/2024/08/api-de-banxico-para-obtener-tipo-de.html


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

📊 Automatiza tu trabajo: Convierte tablas de Word a Excel con una macro

API de banxico para obtener tipo de cambio utilizando Javascript