 Jesús va a dar una charla que pregusta los datos de tu web, grafos de datos y API. Bueno, Jesús lleva más de 30 años en el desarrollo del software, ingeniería del sistema y consultoría del servicio para diferentes clientes y sectores, desarrollo de proyectos, investigación, startups, etc. Es técnico superior en medicina tradicional china, apasionado por la naturaleza, adentrado como canario y siempre tratando de aprender algo nuevo sobre tecnología y salud. Es responsable de mojomudra.com, mojomudra.com, ya pueden estar buscando y de los nuevos proyectos cloud que presentará en breve. Con usted, Jesús Perez Lorenzo. Gracias. Gracias a todos, gracias por venir. Me queda una mala noticia, o muy buena, depende de lo mismo. Yo hace dos días ya dije a alguien muy próximo, le dije, vamos a... ¿Quieres ver mi presentación y tal para que me comentes y estas cosas y tal? Entonces dije, mira, porque esto empieza, hablamos de las preguntas, las bases de datos, ¿cómo hacer esto y tal? Y dice, entonces empiezo, mira, primero a ver y por qué preguntamos y tal. Entonces, bueno, pues para descubrir cosas, para conocer, por la curiosidad, y tal, y empiezo a hablar de Sócrates, la mayutica y... Pero, ¿tú de qué vas, tío? ¿Tú estás flipado? Si la gente ha venido a que le digas por qué tienen que preguntar a la web y no le preguntes un rollo de por qué la verdad, de si la verdad, la unsay que viene por aquí y ahora, y entonces aquí le preguntamos, y ahora aparece aquí el tema de quién. ¿Y quiénes tienen la verdad? Entonces vienen los de la bíblia y dicen, yo soy el que tengo la verdad y el camino y la vida. Y entonces, luego vienen otros y dicen, nosotros, nosotros publicamos la verdad, somos WordPress. Y entonces, luego, después de esto, ya dije, ah, pues ahora, ya estaba súper emocionante. Dijimos, y ahora, la única fuente de verdad. Esto es lo que importa, realmente, que tengamos una conexión con una fuente de verdad en la que creemos, que es un principio de autoridad, que nos da los datos que necesitamos, etcétera, etcétera. Lo que llaman the single search for truth. Y entonces, pues dije, joder, hay una fuente de una madre. Perdón, esta es la fuente de pina en la gobera. Y hay siete chorros. Dije, pues, la fuente, esta es la fuente, la imagen de la fuente de la verdad. Y en ese momento, ya, dejé de hacer la presentación, porque esto tiene una de muy informática, no entiendo nada, esto está flipado, algo otra vez, la gente, y yo digo por nada, ya me quedan dos días, entonces, voy a intentar currarme algo que he hecho algo, di una imagen y dije, bueno, pues, debemos hacer una actividad, o luego hacer algo, o no hago nada y le digo que lo siento, pero aquí es la primera que hay de una charla y no la pudo dar. Y entonces, dije, bueno, mira, en vez de hacer todo este rollo, pues, esta gente, lo que ha venido, ahora me veréis, que voy a ir navegando, en vez de dar la charla, vamos a ir, a ver, la charla, la tenéis, tendréis la dirección mía, podéis bajarla, podéis verla y todo eso. Entonces, en vez de estar luchando con el cronómetro y toda la leche, ¿vale? Lo que voy a hacer es simplemente enseñaros las diapositivas que yo creo fundamentales con los conductos, conceptos fundamentales. Lo otro, hablar de las otras cosas, pues las podemos hacer en otro momento y entonces nos centramos. ¿Os parece, no? Porque, si no, eso me largo. Entonces, bueno, esto me va de GraphQL, porque yo sé que a muchos habéis venido aquí por GraphQL, ¿vale? ¿Cuántos conocen GraphQL? Bien, bien, bien. ¿Por qué no estéis dentro de la charla? Yo sé cómo les soplates, yo sé que no sé nada. Entonces, aquí el que da la charla parece que es el que no sabe nada. Bueno, a ver, mirad. ¿Por qué digo que es una respuesta? ¿Vale? Bueno, nos voy a enseñar una gran decepción, ¿vale? Durante mucho tiempo como programador pues he sufrido lo que yo llamo el espejismo, ¿vale? Y el espejismo creo que tiene música. ¿Vale? Tiene música. Vale, no tiene música. Vale, entonces, el espejismo tiene música de los dices, ¿vale? La canción. No, no voy a cantar. Vuelve y todo, sí canto, ¿vale? Entonces, ¿por qué digo que lo sabe que es una quimera, ¿vale? Lo va a entender muy fácil. La web es dinámica, ¿vale? Y los programadores cambian los APIs de programación. Si una aplicación no tiene un API, quiere decir que quiere vivir aislada y no voy a decir para alguna que ha vivido mucho tiempo aislada. Entonces, de esa manera, no podemos interactuar con su plataforma. Por eso las APIs, las interfaces de programación nos permiten comunicarnos, ¿vale? Con esas plataformas, ¿no? Para enviar tuits, para hacer sacerdados, etcétera. A ver, venimos algunos casos. Entonces, en el tema de las APIs, pues, yo tenía que ir a una demo, voy a terminar la gafas, porque veo la esta muy esquinada. A ver, ¿quién no sabe lo que es un API? Todos saben lo que es un API. De duda. A ver, vamos a ver de las APIs antes de diferenciar el tema. Mire, una API es una interface de programación. ¿Vale? Entonces, el WordPress un insta varias, bastantes APIs de programación. Una de las más importantes es la que interactúa con la base de datos. Pero la forma en la que nos comunicamos casi ya de facto con programas externos es a través del API REST. ¿Vale? Es un protocolo de peticiones que nos devuelven datos. No, no, no tenemos una conexión directa con esos datos, con el servidor. Simplemente le pedimos los datos y nos devuelvo la respuesta. ¿Vale? Y esta, esta interface de programación se utiliza con HTTP, que está disponible en casi todo API HTTP y HTTPs. Entonces, con estas herramientas, los que tienen la diapositad, se puede interrogar a una base de datos. Entonces, no es un caso que viene al respecto. Yo creo que lo tengo cargado aquí a ver si parece que sí está. ¿Vale? Fíjense la URL pues si no es una familia, 2118 a Las Palmas. Y yo sale ahí eso, que eso, claro, es un JSON. No, no, no te la sabéis, te vuelve en JSON. Entonces, claro, es todo ley, un programa, sin ningún problema. Entonces, hay un truquito que consiste en cargar una extensión en el... en el Chrome. Entonces, ya hacemos esto y a lo mejor, si nos contesta pues ya, ya se lee, ¿no? Ya sabemos algo más. Entonces, podemos empezar a ver estos, lo que ha cargado ahora mismo es todos los posts de esa web. Yo puedo coger un programa puedo coger un programa y con el programa escanear, ahí están todos los campos. ¿De acuerdo? Esa es una forma muy simple de preguntarle. Si le he preguntado por los posts, le podía preguntar por las pages y le digo post, va a dar un número, me daría el post de ese número, bla, bla, bla, bla. Pero vamos, yo pregunto por un post y me carga un mogollón de información, se escribirá cientos de personas tirando de esto posiblemente aquello está haciendo un tráfico importante. Se puede cortar, ¿eh? Y hice una web, una web, una presentación en el último mitad sobre bases de datos que es la recomiendo, en el caso del enlace y ahí hablo como cortarlas con los plugins, temas de seguridad y demás, que es complemento a esto, pero ahí está cualquier otra cosa. Entonces, esto es una forma de preguntar y después eso también entiende el famoso AdMinder no sé si lo conocen AdMinder, a ver, yo tengo aquí un estado haciendo WordPress con el plugin de AdMinder y es como el PHP Admin que el PHP Admin en la charla que tiene en mitad, explico por qué y todo eso, ¿vale? Pero aquí pueden coger una tabla y preguntar por los datos que tiene esa tabla, ¿vale? Y esto interactúa con un lenguaje de datos que se llama SQL, ese lenguaje interrolaración a los bases de datos, ¿vale? Y, bueno, se ve a coger los posts que es la más clásica y yo lo digo visualizar el contenido y, bueno, ahí tienen los posts y incluso puedo coger esto y cambiar aquí todo y tal y entonces algunos insuicinarías y insuicinarías porque el día este se va a cargar los bases de datos y no va a funcionar absolutamente nada porque no tiene ni cuñetería de lo que hace es un problema real cuando se da acceso a WordPress, ¿vale? Entonces ya hemos visto varios problemas y habría que ver si hay alguna solución que quería enseñarles esto tampoco lo voy a enseñar para hacer un aborrimiento de código tienen ahí cuatro ejemplos que he montado para trabajar con una base esto no lo vieron el otro día está muy interesante además la herramienta que estoy usando para visualizar no, perdón la herramienta que estoy usando permite que podamos enfocarnos en lo que hablamos ¿vale? entonces ven que podemos ir hablando cada trozo está comentado el código un poco para y por qué, cada cosa entonces éstas se las dejo porque si pongo todo esto y empezamos a ver cada una de las entradas podemos morirnos pero hay formas de hecho éstas en base programar en base bueno, pues los que programan en base pero hay gente esto se va para el otro lado vamos a ver, perdona vale, hay gente que lo que hace es, ahora están viendo la presentación ver este señor que ven aquí es Scott y como viene a conocerlo porque es el padre de todas las bases de datos relacionales trabajo para IBM me gusta rendir homenaje a los ancestros, el Fox Premium Touring en 1981 y ahí les hablo de las diferentes estructuras de datos que hay, las bases de datos jerárquilas normalizados en realidad las que usan WordPress son base datos relacionales hay dos cosas que las relacionamos entre sí las base datos relacionales tienen un problema va, 10 minutos, qué bien no, a ver, ya hemos terminado las bases datos terminan todos han manejo una base una hoja de cálculo alguna vez entonces saben que tienen una serie de columnas y una serie de figas, ¿de acuerdo? y entonces el dato es como una coordenada así es como trabajan básicamente las bases datos relacionales y además hay un problema y es que esto está predefinido las relaciones se predifinen es como decir, tú eres mi padre tú eres mi madre, entonces no sé que ocurra algo muy catastrófico ¿entiendes, no? vale, entonces volvemos al principio porque esto no era la idea ya les he mostrado por encima que hay vamos a ver por qué yo digo hablo de espejismo además bueno, también les quiero decir que dentro de las APIs hay mutantes, ¿vale? y los mutantes es que el código como hemos visto en la fuente, no es una hoja que está permanente, sino que está en circulación la verdad no es algo estático la verdad es algo que está cambiando ¿de acuerdo? es la única certeza real el cambio, ¿vale? como este es uno de mis proyectos cuando aquí esto es hablar más de la porrea, ¿vale? vamos a la parte importante que era la idea porque yo quería que vivieran que es la de GraphQL ¿vale? ¿por qué hay una respuesta con GraphQL? miren, estas cartas que están abajo son las más, las fundamentales de cualquier API que se precie de llamarse API, ¿vale? se conecta con un servidor y hace preguntas, segundo utiliza HTTP o HTTPS mantiene la integridad de los datos cumpliendo con un esquema, ¿vale? controla el acceso a los datos y tiene métodos de introspección, es decir, nos dicen ahí tienen el enlace, si le dan a los métodos de introspección de WordPress es un mapa un mapa de carreteras con todas las tablas que hay en la base de datos porque yo no es muy practicable y después se puede utilizar en diferentes lenguajes ¿qué añadimos con GraphQL? con GraphQL añadimos una cosa primero que está agnóstico es decir, que no está vinculado una base de datos específica MySQL y MariaDB ya os soné los conceptos segundo puede trabajar con ficheros a peticiones a otros servidores de manera concurrente puede armar una petición eso es muy bonito de ver con varias fuentes a la vez acuerdan de la fuente, ¿no? tenía varios shows y luego cogí a uno esa es la idea, ¿no? la idea es que yo puedo tomar datos diferentes fuentes y abundarlos con una sola respuesta además GraphQL proporcionan métodos de caché y paginación eso significa que si yo voy a pedir un dato que ya tengo no lo pido incluso puedo jugar con el modo de no tener conexión de esta caché otra cosa más interesante todavía que utilizan suscripciones es decir, yo me puedo suscribir a los cambios que tiene de unidades este producto y el servidor me notifica sus cambios ¿vale? y por último pues que devuelve y devuelve solo lo que se le pide sin cargas adicionales no que le pide un post y me da los postmetals echa de creación, la no sé cuánto quiero una cosa muy concreta, te pido esto no vengan hasta aquí a hablarme de Sócrates en toda la historia yo quiero saber por qué le dejo el preguntador ¿vale? porque tengo que hacer preguntas y cómo tendría que hacer preguntas y hablando de cómo tendría que hacer preguntas dejarme que os muestre cómo es a ver cómo es la anatomía de una pregunta ¿vale? creo que está aquí, la anatomía una pregunta mira, una pregunta básicamente tiene estas claves ¿vale? tiene un esquema es decir, hablamos de algo concreto tiene un contexto, no hablamos de otra cosa no podemos responder de algo que no está en el contexto tiene una pregunta, ya por mi interrogación yo la identifico como una pregunta el tercer elemento es que haya alguien que la resuelve y después están los métodos que hemos hablado antes de caché y de suscripciones esto que veis aquí es una interfaz totalmente gráfica que proporciona a Grazwell con la cual yo puedo, fijaros que estoy haciendo una pregunta funciona muy el tipo ¿vale? si yo cambio post por páginas pues me salen las páginas de lo que era page me sobra les vale, pero coge la idea entonces estos son los métodos de introspección que proporciona que se pueden deshabilitar que proporciona Grazwell ahí está la página por ejemplo fíjense que yo puedo saber que puedo preguntar, estas son las queries que yo puedo hacer, ¿de acuerdo? y más chulo todavía aquí en este nómola yo veo más cosas pues aquí tengo que poner la fecha no, espérate aquí no veo el post date por ejemplo el título estaba por aquí ¿vale? y lo de la query pues que sacará el título entiendo un poco la dinámica ¿vale? entonces realmente como tres minutos ¿vale? pues miren tres minutos lo que voy a explicar, lo que voy a mostrarles es la arquitectura de todo esto es muy sencilla miren, esto es un esquema ¿vale? es una muy parecida a la secuela a la lengua de interrogación ¿vale? con más tipo unos tipos específicos para mantener la integridad y después este es el dispositivo que hemos visto y luego se usaría el cliente para utilizar esto que es fantástico, se llama Apollo es uno de los mejores que hay para atrás de cuantas figuras que hay en la escuela te proporcionan la estructura de servidor y el servidor hace que se carga de conectar con las bases de datos o las fuentes de verdad ese servidor con las conexiones a las bases de datos que se pueda autenticar y tal eso se hace con apis no estoy diciendo que la pierdeis está muerto que se puede usar a alguien más de alguna de lo más privado y aquí es donde hacen las conexiones esto es un anelador de tráfico ¿vale? y el cliente que lo puedes cargar solo utiliza Javascript y el cliente se descarga de hacer las suscripciones los tráficos de datos etc ¿vale? y esto es lo que ya he hecho la demo bueno, a más o menos no la demo el plan armador como usa el Rascal se convierte realmente en una facilidad de respuestas el Rascal es un concepto que intenta trabajar por respuestas las hace en tiempo real con el menor coste posible y lo que hace es simplemente encargar los programadores para que busquen gente o resolvedores de esas preguntas ¿vale? y laces para trabajar con WordPress hay plugins específicos yo que he cargado aquí una demo eres la que estabais viendo el día que no hagas preguntas si estabais muertos entonces hay que hacer preguntas si o si y aquí ya termina tanto las gracias tanto la gracias a la organización por primera fundación ¿vale? por el primer martes durante tanto tiempo a la gente del mitado de la presentación a la gente muy allegada los amigos y demás que me dijeron que no hicieron la presentación para no hacer el ridículo y si quieren contactar conmigo por que pueden hacer en esta dirección pueden pedir la presentación normalmente los que tienen en Italia los saben montan una pequeña auto examen para ver si se han enterado y tal y aprender un poquito pueden comentar y contestar cositas y no se puede contestar todo no es posible ¿de acuerdo?