Un buen tutorial:
Categoría: Sin categoría
Ejercicio chat
En el chat que ya tenemos vamos a incluir algunas mejoras:
– Evitar que se puedan mandar mensajes más largos de 140 caracteres
– Filtrar palabras malsonantes
– Posibilidad de enviar emoticonos
– Posibilidad de tener cuatro salas diferentes de chat y elegir a cual te quieres conectar.
Ejercicio react redux thunk
Utilizando la api de generar personas:
https://randomuser.me/documentation
Vamos a crear una aplicación de react con redux que utilice thunk que se irá componiendo de las siguientes fases:
Fase 1: Nos buscará 1 usuario y nos mostrará los siguientes datos: Foto, nombre completo, mail y dirección
Fase 2: Añadir un botón que nos cargue otro usuario al azar.
Fase 3: Al lado del botón tener un input en el que podamos indicar la cantidad de usuarios que queremos retornar.
Fase 4: Añadir al lado del botón si queremos hombres, mujeres o todos.
Fase 5: Añadir al lado un combobox con todas las nacionalidades o escoger alguna de las que nos permite la api
¡Ánimo!
Podemos pasar parámetros a las acciones de thunk.
JS array find y findIndex
Enlaces:
https://www.w3schools.com/jsref/jsref_find.asp
https://www.w3schools.com/jsref/jsref_findindex.asp
https://appdividend.com/2018/12/17/javascript-array-find-example-array-prototype-find-tutorial/
let num = [1, 2, 3, 4, 5, 6, 7, 8, 9]; console.log(num.find(valor => valor > 5)); //Devuelve 6 console.log(num.findIndex(valor => valor > 5)); //Devuelve 5 let cad = "hola que tal"; console.log(cad.split(" ").find(valor => valor.length <= 3)); //Devuelve que console.log(cad.split(" ").findIndex(valor => valor.length <= 3)); //Devuelve 1 let libros = [{ titulo: "Quijote", paginas: 400 }, { titulo: "El buscón", paginas: 300 }, { titulo: "Orestiada", paginas: 200 }] console.log(libros.find(valor=>valor.paginas<250));// Devuelve {titulo: "Orestiada", paginas: 200} console.log(libros.findIndex(valor=>valor.paginas<250));// Devuelve 2 //Ejercicio: crear una función que pasándole una cadena nos devuelva la primera palabra que tenga una longitud mayor de 8 //Ejemplo: primeraLarga("hola que tal")->undefined primeraLarga("en un lugar de la mancha arquetípica y lustrosa")->arquetípica
Ejercicio API
Vamos a consultar libros y artículos del nytimes. Aquí hay la lista de las apis:
https://developer.nytimes.com/apis
Yo me he creado una apikey: SFq0lnJwGzV4X8XyqV2kQvA3LgKAp3kN
Pero os podéis crear la vuestra.
Me gustaría que, desde el postman, accediéramos a la lista de los libros más vendidos y a los artículos de los tres últimos meses.
También podéis crear vuestra propia apikey y acceder, por ejemplo, a películas.
¡A por ello!
Expertos en programación
Código tienda
Añadir actor a película
$server = "localhost"; $user = "root"; $password = ""; $db = "sakila"; try { $conn = new PDO("mysql:host=$server;dbname=$db;charset=UTF8", $user, $password); $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); //Los datos que tengo que insertar $nombre = "VIVIEN"; $apellidos = "BERGEN"; $pelicula="ACADEMY DINOSAUR"; $sql="SELECT * FROM actor where first_name=:first_name and last_name=:last_name"; $parametros=[ 'first_name'=>$nombre, 'last_name'=>$apellidos ]; $st=$conn->prepare($sql); $st->execute($parametros); $actor=$st->fetch(); $actor_id=$actor['actor_id']; echo $actor_id; $sql="SELECT * FROM film where title=:title"; $parametros=[ 'title'=>$pelicula ]; $st=$conn->prepare($sql); $st->execute($parametros); $film=$st->fetch(); $film_id=$film['film_id']; echo $film_id; $sql="insert into film_actor(film_id,actor_id) values (:film_id,:actor_id)"; $parametros=[ 'film_id'=>$film_id, 'actor_id'=>$actor_id, ]; $st=$conn->prepare($sql); $st->execute($parametros); } catch (Exception $e) { echo "Connection failed: " . $e->getMessage(); }
La importancia de protegerse de la inyección de sql
Ejercicios vistas
Crear una vista que nos muestre el pais, la ciudad, la dirección y el nombre de los clientes. La podemos llamar clientes_direccion
Con esa vista creada será muy fácil mostrar los clientes de Argentina o Italia
Crear una vista que nos relacione la película con sus pagos. Que nos muestre el id de la película, el title, y todos los datos de payment.
Con esa vista sería muy fácil ver el total de pagos por película.