 bienvenido a todos, yo soy Guillermo, voy a estar aquí acompañando toda la mañana y aquí se va a hablar sobre todo, hasta la hora del almuerzo de desarrollo para ejemplo, han dicho que me vas en micro y ahora... ¿Se me escucha bien al fondo? ¿Cucha bien? Vale por eso lo que decía, aquí vamos a estar en desarrollo toda la mañana haremos una parada como ha dicho Fran, a media mañana para tomar un café y conocernos entre nosotros y ya... estabamos esperando y nada, lo que sí hubiera pedido, por favor, tenía alguna pregunta toméis notas en el final, no sé si te gustan los propones, que lo que tiene es su tiempo y todas las preguntas que sean vayan, después de cada ponencia, a ver, diez minutillos, más o menos, de preguntas y sin más dilación, os presento las botas con el verelo el próximo titular de la Universidad de Granada lleva 35 años programando y aprendiendo todos los días y, bueno, usa kit para todos y eso es lo que nos va a comentar así me lo dejo para que me escuchan a qué tiempo bueno, voy a empezar atartando kit what is it good for absolutely everything bueno, esto soy yo, soy otro amigo soy otro de aprende kit con Chico Bail y con Camilo Percé que es el termino que se conoce donde ofrecer vamos a hablar de kit, push y ahora, cuando se lo estoy diciendo, vamos a intentarlo kit, push what is it good for bueno, para qué sirve, no es para qué sirve estoy interesante, primero que sirve para la nube la esencia de kit es precisamente el hecho de que hoy en día cuando se empiezan a desplegar cosas, se desplegan cosas en muchos sitios diferentes entonces tiene muchísimo representario tiene muchísimo sitio donde desplegar eso yo creo que ha sido la clave de que realmente acaba siendo kit, digamos, la herramienta de gestión de fojo de trabajo y de despliegar prácticamente universal pero realmente es que es lo que hay kit es que consiste kit es un sistema con todo de fuente es un sistema de fichado direccionado por contenido es decir, lo que tiene por debajo la esencia de kit, digamos la funcionalidad de básica es un sistema de fichado direccionado por contenido es decir, lo que uno tiene metido del plan de kit es un montón de contenido y ese contenido está direccionado por el verdadero contenido por eso puede acceder a lo que hay puede acceder a los comics, puede acceder a los contenidos por encima del sistema de fichado hay un sistema de gestión universal en el cil es decir, que tenemos dos cosas que lo hace bastante interesante a la de programar y ahora me he hecho un poquito por debajo pero la idea inicial era crear o sea, cuando Linus Torban dijo que todo usaba antes el sistema de gestión de fuente era una basura estamos haciendo un subpreso de que terminé una basura no sé si lo sabéis pero lo que dijo, voy a hacer regrosa que no sea una basura entonces, hizo esto creo una cosa que bueno, que esencialmente fuera digamos, que pudiera servir para acceder a todo tipo de contenido como un UI, un UI textual pero un UI oficado que te permitía gestionar presión pero también es un sistema de gestión distribuido vale, tu puedes tener como muchas irlas tienes muchas representantes diferentes este aquí, como se ve evidentemente en el master pero al final o sea, lo que no tienes es un sistema de representantes centralizado puedes tener un flujo centralizado pero en realidad, tú tienes un montón de representantes de hecho, para explicar esto hay como 7 representantes diferentes luego oculto la historia, no va a dar tiempo y más tiene un sistema de vento esto también es bastante interesante y esto es lo que hace interesante hablar precisamente de hacerlo, lo despliegue si ves este sistema de vento es decir, que tiene esos eindernajes esos ganchos que te permiten hacer una serie de cosas de detalle, que eso no lo tiene otro es decir, tú puedes montarse un otro sistema de gestión de versiones puedes montar cosas caras y cosas porque bueno, puedes detectar cambios en el sistema de fichas y hacer cosas, pero esto lo tiene de forma de excepción, ¿vale? ¿Qué es lo que tiene entonces como tal si les existen direccionados por contenido? por lo que tiene es lo que se llama blogs, blogs son cosas, ¿vale? textos, y también lo que se llaman trees árboles, ¿vale? tú tienes blogs y tienes trees, eso es lo que tienes ahí armacenado, tú sí que me dais un poquito por debajo en lo que hay, pero con un sistema de control de fuentes, es decir, esas dos cosas no corresponden al control de fuentes corresponden con un sistema de gestión o sea, un sistema de fichas que utilizamos por contenido como un sistema de gestión de fuentes tiene comits ¿vale? los comits son los que dicen dónde están los árboles y dónde están los blogs ¿vale? como veis aquí, están haciendo un comit en los campos del íseo, estaba yo visitando París y de repente me encontré una pareja japonesa haciendo muchas fotos y dije pues están, están bien ¿sabes? le voy a hacer el buque aquí directamente todas las fotos son bien por cierto todas las fotos son ¿como? todas están en Flickr o lo podéis bajar aquí, por cierto esta presentación está en freija.gr.s 2.31415 ¿vale? freija.gr.s 2.31415 y por supuesto mi hija y también tiene un sistema de taxa, el sistema de taxa es interesante y hay un sistema que nos va a permitir digamos hacer como checkpoints como puntos determinados después de nuestro examen, ¿ok? lo puede dar a otro participario o el pitpack o el gitlab cada vez de ellos tiene su ventaja de su incremento yo soy de GitHub, aunque también tengo cuentas en lo otro creo que vosotros en la comunidad con precios utiliza más pitpacks, pitpacks sobre todo porque permita tener un más repositorio privado gratuito gitlab solamente permite uno y eso si tiene una propuesta estudiante, pero en fin, no me voy a meter el primer todos, todos son similars ¿vale? esto ya lo sabéis gitlony, guitar, gitcomy, gitpull gitpush, ¿vale? siempre hay que hacer un puse ¿por qué? para quitar conflicto ¿vale? pero, vamos a trabajar con trends por ejemplo, ¿vale? supongo conocer trends ¿no? bueno, uno de los sistemas estos que hay de desarrollo de WordPress que lo que integra básicamente es un sistema para despegar una máquina virtual entonces, este le va a dar una peliposa entonces, bueno lo que hacemos, son dos cosas primero, hacemos un gitlony igual a uno ¿qué significa eso? significa que nos bajamos todos los ficheros en el estado actual pero no nos bajamos en el histórico ¿por qué? bueno, en este caso simplemente para bajarnos un montón de cosas de desarrollo pero esto es importante porque no sé si ahora hemos pasado alguna vez que hemos pasado un abuelo de un cliente con el repositorio y allí ves todo lo que tenías para ese cliente para el cliente anterior, para el cliente anterior vamos a pasar esa una vez ¿vale? bueno, bueno vamos a hacer esto ¿vale? digamos que sería algo así como hacer un copy como dejaste simplemente una copia de repositorio, pero además bueno, en fin, tiene estructura de repositorio pero bueno, nos puede hacer curso luego lo que haces también es esto rf3.it .it entonces lo borras para evitar problemas lo que tienes al final es un directorio de repositorio que se llama Travis añades ese es su directorio y, bueno le pones git.com.m estas son también buenas prácticas ¿vale? lo primero de buenas prácticas es que siempre deben ofrecer las cosas caballarías nunca, nunca, nunca se hace un git.it nunca, nunca, nunca se hace un git.it nunca ¿cuánto se hace? bien ¿vale? y lo de git.com.m es simplemente por ahorrarte el git.it y luego git.it ¿vale? y luego a continuación vamos a añadir un tag que va a ser versión 1 y esta va a ser la versión final y luego vamos a hacer git.pushmen a los tags los tags son básicamente metadatos que tú añade a un comic tú lo que está diciendo a este comic lo quiero recordar como los comic tienen números muy raros que en lucha 1 y eso hay encima un montón de números, lo que hace con esto es que recuerda si la leo partísima que lo que hago me voy otra vez al tag original y lo reputeo ¿vale? ¿para qué sirve también para este ranking? no sé cómo hacer este ranking bueno, este ranking lo que hace es que toda la semana los miércoles a las 6 o las 7 de la mañana te sacan un ranking de todos los usuarios de Quijab en toda España por provincias, por comunidades autónomas como ser mirando, o sea si previste lo que tenés que hacer para salir ahí es poner vuestra la ciudad en la que viví o la provincia en la que viví he mostrado el fin de Quijab pero también te sirve para organizarte y esto también es bastante importante es decir, git con este rollo de que tiene sitio de trabajamiento especial lo que te sirve es para organizarte en Issues y Mysore en un sistema de desarrollo hace y también se utiliza también pues tu canva y tu cosa pero tienes que poner Mysore que son como ito y Issues son cosas que vas a hacer tareas que vas a hacer con estas cosas por ejemplo continuo, yo te da el Hacto Berserk este es Sage que es el sistema para desarrollar y aquí veis por ejemplo bueno, pues hay una serie de Issues que tiene y tal los Issues son también bastante importantes en el sentido que es la forma de atraer a una comunidad es la forma que tiene la comunidad de comunicarse con ti si tienes que te considero como Issues conviene que escucha eso a Issues y eso te va a servir para que la gente sepa cómo preguntarte cosas pero también en un momento termino para atraer gente que contribuye gente que te pueda ayudar y si es Hacto Berserk es esto de que si haces el 5 con precoces te damos una camiseta entonces bueno, muchos sistemas de muchos representadores sobre el libre lo que ponen son Issues especiales que dicen que es Hacto Berserk entonces la gente lo mira, lo resuelve hace un publico y cuando hace el 5 lo haces con la camiseta lo cual está bien porque la gente en el salvo siempre gusta la camiseta aquí no le gusta la camiseta vamos a verificar entonces el Jam pero básicamente la declaración de variables de variables la cual declarar por ejemplo lo que vamos a hacer es que vamos a decirle que en vez de utilizar la caja para Ubuntu 16.04 UV, UV, UV me parece que tiene la caja de 16.04 bueno, por lo mejor te pices probar la 18.04 que acaba de echar y que este me digle de eso versión bueno, y con esto lo puedes cambiar con eso que comienzan no, ¿vale? tienes que acudir al mensaje de comer porque son mensajes para ti mismo y son mensajes también que te permiten saber en el futuro por qué has hecho algo y en qué contexto lo has hecho cuando has cambiado la vida ¿por qué lo has hecho? ¿por qué lo has hecho así? entonces esto te permite decir esto es un cartel que me encontré y me dejó un poquito pillado en un ascensor de Colombia porque dije, o sea, si no está parado entonces y siempre es conveniente trabajar contra una tarea es decir, cuando tiene el repositor lo organizaba en tarea y demás siempre conviene trabajar contra una tarea por ejemplo, testea con más memoria o Ubuntu referencia REFs número 1 REFs número 1 se refiere al iso número 1 que forque cree de forma que se forne, automáticamente aparece en el iso de forma que tú vas viendo perfectamente cuáles son las tardes que se están haciendo ahí pero, claro, puede ser que tu política corporativa obligue a que siempre se trabaje contra iso de hecho, si trabajas y trabajas con matrasia y tu iso que trabajas contra asembraca tiene una política que siempre tienes que trabajar cuando trabajas con gira, siempre tienes que refirirte eso lo puede hacerme ante los jugos recordar que una de las partes importantes es que permite ejecutar cosas permite generar eventos genera hasta un total de 23 eventos uno de los 9 eventos lo que estoy haciendo aquí se llama simplemente comite-meseje y lo que hace es que te pasa el fichero donde está el contenido del comite y lo mira primero, lo que hace es que gusta esto está mal falta un escape aquí cuenta, ¿verdad? se haberá contado todo y he hecho el vídeo no sé, el copipaste el copipaste funciona mal de todas formas está en el cositor y está en los ejemplos y ahí sí funciona, de hecho no tiene funcionado lo que hace es que mira el mensaje si no selecciona ningún iso sale y sale con uno ¿Qué es lo que hace entonces aquí? ha salido del comite-meseje con uno, significa que no puedo ese comite siempre no voy a realmente querer ese comite sin embargo, si lo hace lo que hace es que efectivamente está el número de isos se lo baja y si no existe te dice a un número del comite pero ahí correcto esto es simplemente un problema lo que habéis hecho en PHP pero es que no sé y otros fueron expertos por lo menos la situación es parecida lo intenté hacer en base pero fue un fracaso absoluto no había nada en base, nunca combinando algo publicado y sale y no sé qué y ha apareido un poco abajo y pues sí, en PHP eso no se lo hace pero ahí tiene que haber un ¿Como esto lo que te dice es? claro, te ha equivocado y te dice oye que no, podía hacer este comite menos, menos, menos, menos menos, menos, menos, menos lo que hace es que te corrige el último comite entonces puede editarlo ahí arriba y lo que dice vale, en clase número 2 pongo el número 1 por lo que me permita y esto sucede a menudo muchas veces se equivoca uno ¿Qué es lo que tiene que hacer entonces? ¿Qué arruinarias? el edito se va a llamar jooo, me he equivocado lo que hace es que te sale el edito ¿vale? y entonces puedes corregir el y lo deja grabado he tenido que buscar este dewebe porque no tenía nada a partir de que me voy a poner un casete digo, ¿dónde me voy a poner un casete a esta altura? es decir, a veces es dewebe además de webe me voy a dar el mismo sitio esta foto lo dice ahí bueno, lo podría recordar todo eso y Githi tiene un fichero de configuración muy interesante que está lojado en tu home como equivalente en Windows por ejemplo, siempre tienes que cargar el usuario siempre tienes que cargar el tipo de bus que va a hacer esto también es importante porque por defecto lo que vas a hacer es sacar un editor de sistema me parece que en Windows te sacan nano en Windows posiblemente te sacan notepad tú posiblemente tienes tu editor preferido y un editor que al más funcione como auto, no se es privativo, no bonito podemos buscar un artículo que pongo por ahí es verdad, suelimenta es cuando se sabe de eso lo que vive en tu caso lo de re re re, es una cosa un poquito complicada pero bueno, lo que hace re re re es que te vuelve a aplicar los comics siempre de la misma forma y afinándate el modelo de aquí de forma que podemos hacerlo mediante líneas o lo podemos hacer de esta forma busca y encontrar, recordad es un sistema de fichero utilizado por contenido puedes encontrar cualquier cosa que hay ahí puedes encontrar cualquier cosa que hay ahora cualquier cosa que hayas metido antes vamos con esto ¿Quién no metido alguna vez un repositor en una pique y a los 5 minutos se van pillando unos hackers chinos y empiezan a venir a picoin a mí me ha sucedido de hecho y hubo una semana de la policía sudista que prefiero recordar para eso lo que hay que usar es cosas como git ignores git ignores es súper importante siempre que hay un repositorio por primera vez lo que tiene que hacer es crear un git ignore y aparte bueno, git ignore te sirve cosas que hay ahí digamos unas cosas que te generan y tal no estén, pero también en este caso también te sirve para los ficheros que posiblemente pueda esperar alguna clave no lo metan nunca nunca nunca en la vida git esto lo que te hace es que te evita eso por ejemplo, baupass esto está en Travis baupass es la clave que te permite descifrar todas las otras claves que utilizan sieble para despregar pero también esto por ejemplo o también puedes meter cosas como esto por ejemplo wwp content, wwp.php en nuestro caso esto está en cuando comienzan un flujo basado en un puzzle si te baja el 3d composer cualquier cosa que se hace puede ser potenciamente que pueda alojar una clave que no quede el que se sepa lo tienes que pillar ahí también es importante que lo integres continuamente porque una vez más son los hooks tú cuando haces push a un sitio que es lo que te hace, te lanza un hook te lanza un programa que lo que hace es que comproba esta sería la forma de comprobar una integración continua un plugin nuevo lo que hace es que te instale a comprobar esto se hace Travis puede utilizar Jenkins poder ship pero es muy importante tenerlo y pasarlo automáticamente porque si no se pasa lo automáticamente simplemente no se pasa cómo va a fluir hay muchísimas formas de trabajar con él hay lo de git flow yo lo veré que no soy partidario no soy partidario de todos esos vídeos porque son complicados y al final acabo complicando la vida de la gente y cuando le compiro cada vez que la gente busca la forma de saltárselo y no lo hace lo que vamos a hacer es trabajar con sus árboles trabajar con sus árboles es una forma de trabajar de forma que puedas trabajar con varios repositorios actualizar esos repositorios y además también poder añadir tu propio cambio la idea principal es que lo que tú estás haciendo es que le estás diciendo que una rama que tienes por ahí va a ser un suvargo de otras ramas y eso lo hace de esta forma por ejemplo, con Travis con Valero con Sage hay un artículo del año 2015 y lo hace también con Travis lo explica pero la idea principal es tú quieres tener varios repositorios y quieres tener todos esos repositorios autorizados porque eso lo vas a autorizar pues eso lo vas a hacer de esta forma lo puedes hacer por sus módulos también no lo vas a hacer por sus módulos de esto lo que tienes es un sitio de historias por su árbol y lo hace de esta forma básicamente primero lo que hace es que ya lo premote lo hace a un check out check out master y lo que dice aquí está lo fundamental de este master de este master que tenia antes voy a ver el subdirectorio que se llama Travis voy a ver esta otra rama y esa otra rama va a ser siempre este subdirectorio de este master cuando quiero actualizar lo que hago tengo que cambiar a la rama porque la actualización se hace por rama hago pit pull, hago pit merge minus x sub 3 Travis le digo si yo he cambiado con esta rama no le agarcaso lo que hace es la rama principal por eso le digo minus x sub 3 le digo que lo que tengo que hacer es el otro sitio y luego al final se hace git commit porque te pasa algún editor y el editor te va a decir todos los comits que se han actualizado entonces con todos esos comits tu vas a ver cuál es la actualización del propósito lo que tiene más arriba y bueno puede incluso modificarlo o añadir alguna cosa por mi parte la idea principal es que fijaros que hay muchas cosas que sobre todo con los mecanismos de fuc y también con los sitos de alojamiento que hay y con todos los sistemas que se han creado alrededor se puede trabajar con git y te puede ayudar a crear software, crear plugin de más calidad crear temas de más calidad testándolos automáticamente haciendo una serie de cosas así que yo creo que otra vez vamos a cantar git para que sirve tenemos un minuto esto tiene que saberlo git para que sirve absolutamente genial gracias por la observación ha estado bastante entretenida podrías explicar brevemente las diferencias entre usar un submodulo o usarlo en el árbol simplemente para saber porque ahora mismo estamos usando submodulo quiero saber la ventaja que tiene aquí la diferencia principal es que cuando trabajas con un submodulo trabajas con un repositorio independiente lo que tú haces en un submodulo es que almacenas un enlace al remote del corte bajo de un submodulo hay mecanismos específicos para trabajar con un submodulo entonces si quieres actualizar todo el submodulo va a ver cuando trabajas con un subtree trabaja siempre en el promigo repositorio no en el promigo repositorio vale entonces lo que está haciendo es que para empezar no tienes que hacer ningún tipo de actualización cuando quieras hacer todos los submodulos simplemente lo que tienes que hacer es un checkup y un venzo de forma que lo mantienes todo dentro de la rama máster de tu repositorio son ficheros dentro de la rama máster de tu repositorio vale todo lo tiene dentro del promigo repo con lo cual si tienes algún tipo de workflow lo que puede hacer es darle permiso a diferentes personas para que trabajen en diferentes ramas cada persona trabaja en sus ramas y hay una persona máster que lo que hace es que emergieras pero ya tengo la diferencia principal es que no tienes que andar trabajando en diferentes repositorios sino que trabajas con un solo repositorio porque cada uno de los diferentes repositorios van a ser ramas o subtree por eso la verdad es que el submodulo era un de cariño un poco estaba bien pero el problema principal es que cuando tienes muchos repositorios y no tienes control de ellos cada uno de los repositorios va a tener sus permisos diferentes un workflow va a tener otro tipo de permiso y es más difícil integrar entonces ahora este tipo de cosas la gente lo aconseja bastante no sé la experiencia que tiene vosotros con el submodulo pero la verdad es que la experiencia que tenia es mucho de emoción bueno luego si quieres a las comidas y te pide por el partido nada muchas gracias una pregunta más vamos a terminar esto todavía está bien por ahí de todas formas ya sabéis si estás jota jota por amigo vamos allá muchas gracias