Prácticas de web programable
Desarrollo de Aplicaciones Telemáticas, 2024-2025
Grado en Ingeniería en Tecnologías de la Telecomunicación
Grado en Ingeniería en Sistemas de Telecomunicación
Escuela de Ingeniería de Fuenlabrada
Universidad Rey Juan Carlos


Práctica 5.1. Hola JSON

Prepara un script en node.js con el nombre ~/dat/practica05/json.js. Define un objeto literal con al menos 8 propiedades, probando todos los tipos de valor de JSON. Convierte el objeto en cadena. Convierte la cadena de nuevo en objeto.

Práctica 5.2. Local storage

En las práctica 3 y 4 escribiste un programa para validar que una contraseña tuviera la fortaleza adecuada. Ahora lo mejoraremos para comprobar que el usuario no intente utilizar ninguna contraseña que ya haya usado en el pasado. Escribe los ficheros ~/dat/practica05/validacion2.js y ~/dat/practica05/validacion2.html de forma que:

Para calcular un hash en JavaScript, puedes usar simple-hash.js

'use strict'

// Adapted from https://stackoverflow.com/questions/7616461/generate-a-hash-from-string-in-javascript

const contrasenya = 'AbreteSesamo'

function simple_hash(text ){
    var hash = 0;
    if (text.length == 0) return hash;
    for (let i = 0; i < text.length; i++) {
        let char = text.charCodeAt(i);
        hash = ((hash<<5)-hash)+char;
        hash = hash & hash; // Convert to 32bit integer
    }
    return hash;
}
console.log(contrasenya, simple_hash(contrasenya));

Observaciones

PRÁCTICA OPTATIVA.

Práctica 5.3. Geolocalización y mapas

Escribe una página con el nombre ~/dat/practica05/mapa.html que presente un mapa de OpenStreetMaps con la posición actual del usuario.

Práctica 5.4. ¿Dónde está mi coche?

Escribe una aplicación web en los ficheros ~/dat/practica05/dondeEsta.html y ~/dat/practica05/dondeEsta.js con la funcionalidad típica de las aplicaciones del tipo Where is my car?

Esto es, servirá para que el usuario pueda registrar dónde aparcó su coche.

Revisión de los nombres de los ficheros

Ejecuta ~mortuno/revisa practicas dat para comprobar que los nombres de los programas son los correctos.