1 00:00:00,000 --> 00:00:02,480 Y no perdemos el hilo 2 00:00:02,480 --> 00:00:03,859 Con esto 3 00:00:03,859 --> 00:00:07,740 Todos o casi todos 4 00:00:07,740 --> 00:00:09,480 Sabéis lo que es 5 00:00:09,480 --> 00:00:10,640 Un archivo 6 00:00:10,640 --> 00:00:13,779 De log 7 00:00:13,779 --> 00:00:16,679 Todos o casi todos 8 00:00:16,679 --> 00:00:17,019 ¿Vale? 9 00:00:18,839 --> 00:00:20,519 Que son los logs de una aplicación 10 00:00:20,519 --> 00:00:24,120 Vale 11 00:00:24,120 --> 00:00:26,500 Cuando desarrollamos 12 00:00:26,500 --> 00:00:27,440 Una aplicación 13 00:00:27,440 --> 00:00:29,980 Hay un montón de fases por las que pasamos 14 00:00:29,980 --> 00:00:31,140 lógicamente 15 00:00:31,140 --> 00:00:34,140 la fase de análisis 16 00:00:34,140 --> 00:00:36,179 la fase de diseño 17 00:00:36,179 --> 00:00:37,320 la fase de codificación 18 00:00:37,320 --> 00:00:39,979 pruebas, mantenimiento 19 00:00:39,979 --> 00:00:41,880 este es el ciclo 20 00:00:41,880 --> 00:00:43,719 el modelo de vida clásico 21 00:00:43,719 --> 00:00:45,500 del desarrollo de software, ¿verdad? 22 00:00:46,119 --> 00:00:47,420 lo que viste el año pasado en entorno 23 00:00:47,420 --> 00:00:49,600 lo que pasa es que luego eso 24 00:00:49,600 --> 00:00:52,060 durante el mantenimiento, a su vez 25 00:00:52,060 --> 00:00:53,280 si hay que incorporar cosas 26 00:00:53,280 --> 00:00:55,780 tenemos que entrar de nuevo a lo mejor en un análisis 27 00:00:55,780 --> 00:00:57,479 y un diseño nuevo, por eso 28 00:00:57,479 --> 00:00:59,920 incorporamos el modelo en espiral 29 00:00:59,920 --> 00:01:04,299 o incorporables en entornos de desarrollo, que es estar haciendo el ciclo vida del software, 30 00:01:04,379 --> 00:01:07,799 análisis de desarrollo en espiral durante toda la vida de la aplicación. 31 00:01:08,359 --> 00:01:09,920 Bueno, ¿qué es lo que quiero decir con esto? 32 00:01:10,540 --> 00:01:15,319 Que independientemente de la fase de desarrollo que estemos de nuestra aplicación, 33 00:01:16,540 --> 00:01:19,900 e incluso si estamos ya en la fase de explotación de esa aplicación, 34 00:01:21,040 --> 00:01:27,319 necesitamos tener un registro lo más detallado posible de qué está pasando en la aplicación. 35 00:01:27,319 --> 00:01:42,420 Bien, cuestiones de desarrollo, de la fase de compilación, si cuidado con esto que estoy entrando aquí puede fallar, o cuestiones relacionadas con la fase de explotación, como se ha logado Pepito, se ha logado Juanito, se ha logado no sé qué. 36 00:01:42,420 --> 00:01:44,040 entonces, esos 37 00:01:44,040 --> 00:01:45,219 nosotros 38 00:01:45,219 --> 00:01:47,840 esos pequeños apuntes 39 00:01:47,840 --> 00:01:50,379 los hemos hecho el año pasado con un system.out.println 40 00:01:50,379 --> 00:01:51,659 claro, pero lógicamente 41 00:01:51,659 --> 00:01:53,659 ya sabemos que esa no es la manera 42 00:01:53,659 --> 00:01:55,879 porque no tenemos a un tío delante de la consola 43 00:01:55,879 --> 00:01:58,640 todo el rato cruzado de brazos para ver los avisos 44 00:01:58,640 --> 00:02:00,760 se lo go Juanito, se lo go Pepito 45 00:02:00,760 --> 00:02:03,299 cuidado que entras en un método extraño 46 00:02:03,299 --> 00:02:04,739 aquí te puede ser un error 47 00:02:04,739 --> 00:02:06,000 pues no lo hacemos así 48 00:02:06,000 --> 00:02:08,460 ¿vale? más que nada porque 49 00:02:08,460 --> 00:02:12,360 en la fase de explotación de la aplicación 50 00:02:12,360 --> 00:02:14,800 luego llegarán un montón de comunicaciones de fallos 51 00:02:14,800 --> 00:02:16,800 la aplicación 52 00:02:16,800 --> 00:02:18,560 me ha fallado, ¿qué pasa? 53 00:02:19,340 --> 00:02:20,719 pues entonces con los 54 00:02:20,719 --> 00:02:22,659 detalles que te da la persona a la que 55 00:02:22,659 --> 00:02:24,639 le ha fallado no te vas a enterar de nada porque te va a decir 56 00:02:24,639 --> 00:02:26,039 nada que se me ha puesto la pantalla verde 57 00:02:26,039 --> 00:02:28,000 pues se te ha puesto la pantalla verde 58 00:02:28,000 --> 00:02:30,580 a saber por qué será eso, entonces tienes que tener 59 00:02:30,580 --> 00:02:32,599 algún registro que te dé más 60 00:02:32,599 --> 00:02:33,439 detalles de eso 61 00:02:33,439 --> 00:02:36,520 si esos detalles los tenías en la consola 62 00:02:36,520 --> 00:02:38,360 no los vas a poder recuperar de nuevo 63 00:02:38,360 --> 00:02:40,539 entonces alguna herramienta 64 00:02:40,539 --> 00:02:42,560 tendría que haber, algo tendremos 65 00:02:42,560 --> 00:02:44,180 que incorporar en nuestra aplicación 66 00:02:44,180 --> 00:02:46,520 para ir pudiendo 67 00:02:46,520 --> 00:02:48,460 enviar a un fichero y pudiendo enviar 68 00:02:48,460 --> 00:02:50,439 a un fichero los detalles cuando queramos hacerlo 69 00:02:50,439 --> 00:02:52,580 acabas de entrar 70 00:02:52,580 --> 00:02:54,680 en este método, has salido de este método 71 00:02:54,680 --> 00:02:56,599 con este código de error, acabas 72 00:02:56,599 --> 00:02:58,280 de hacer un acceso a base de datos para un login 73 00:02:58,280 --> 00:03:00,659 pues todos esos mensajitos queremos que se vean 74 00:03:00,659 --> 00:03:01,159 en un fichero 75 00:03:01,159 --> 00:03:04,539 y entonces el fichero se queda ahí guardado 76 00:03:04,539 --> 00:03:06,840 a ser posible esos mensajitos 77 00:03:06,840 --> 00:03:08,639 que vayan con la hora, con el día 78 00:03:08,639 --> 00:03:10,360 en el que ocurrió, con un formato 79 00:03:10,360 --> 00:03:12,580 claro y así cuando nos llega 80 00:03:12,580 --> 00:03:13,560 un aviso de 81 00:03:13,560 --> 00:03:16,500 error en la fase de explotación por ejemplo 82 00:03:16,500 --> 00:03:18,560 buscamos rápidamente el día a la hora 83 00:03:18,560 --> 00:03:19,360 y ahí pondrá 84 00:03:19,360 --> 00:03:22,159 método tal devolvió cero 85 00:03:22,159 --> 00:03:24,340 por fallo en el string 86 00:03:24,340 --> 00:03:26,280 no se cuantos, entonces dices 87 00:03:26,280 --> 00:03:28,319 anda, lo de la pantalla verde 88 00:03:28,319 --> 00:03:30,419 viene porque el método devolvió un string null 89 00:03:30,419 --> 00:03:32,419 pues no me di cuenta 90 00:03:32,419 --> 00:03:34,020 de que si eso ocurre no se cuantos 91 00:03:34,020 --> 00:03:36,199 entonces tú ya tiras de ahí y lo arreglas 92 00:03:36,199 --> 00:03:38,219 vale, eso en la fase de explotación 93 00:03:38,219 --> 00:03:40,520 en la fase de desarrollo igual, cuando tú haces las pruebas 94 00:03:40,520 --> 00:03:42,319 normalmente las haces 95 00:03:42,319 --> 00:03:44,039 con una herramienta de pruebas, Java 96 00:03:44,039 --> 00:03:45,199 Unit o la que sea 97 00:03:45,199 --> 00:03:48,280 ¿vale? pero si tú 98 00:03:48,280 --> 00:03:50,479 has ido mandando mensajes muy detallados 99 00:03:50,479 --> 00:03:51,979 de todo lo que has hecho en tu aplicación 100 00:03:51,979 --> 00:03:54,000 y en la fase de pruebas algo te ha fallado 101 00:03:54,000 --> 00:03:56,099 pues puedes ir a esos archivos 102 00:03:56,099 --> 00:03:58,300 para ver, oye, esto no ha funcionado 103 00:03:58,300 --> 00:04:00,280 como yo quería, ha hecho otra 104 00:04:00,280 --> 00:04:02,180 cosa, ¿qué ha pasado? abres el archivo y como 105 00:04:02,180 --> 00:04:04,199 ahí está todo detalladito de lo que ha ido haciendo el programa 106 00:04:04,199 --> 00:04:06,240 anda, ha hecho esto que yo no contaba con que lo iba 107 00:04:06,240 --> 00:04:08,240 hacer en este momento? Pues te voy a cambiar 108 00:04:08,240 --> 00:04:10,319 el diseño. Entonces, en cualquiera de las 109 00:04:10,319 --> 00:04:12,280 fases del desarrollo de la aplicación estaría bien 110 00:04:12,280 --> 00:04:14,219 una herramienta que fuera enviando 111 00:04:14,219 --> 00:04:16,259 a un fichero cada dos por 112 00:04:16,259 --> 00:04:18,220 tres lo que nosotros queremos que mande 113 00:04:18,220 --> 00:04:19,339 y nos interese, claro. 114 00:04:20,560 --> 00:04:22,100 ¿Vale? Eso sería 115 00:04:22,100 --> 00:04:24,060 una herramienta de logs, de creación de logs. 116 00:04:24,160 --> 00:04:26,519 Se crean los archivos de logs que están ahí en una carpetita 117 00:04:26,519 --> 00:04:28,379 de servidor, los miramos cuando haga falta 118 00:04:28,379 --> 00:04:29,199 y ya está. 119 00:04:30,819 --> 00:04:31,220 Vale. 120 00:04:31,220 --> 00:04:35,860 Java pues tradicionalmente 121 00:04:35,860 --> 00:04:37,079 Tiene una herramienta de logs 122 00:04:37,079 --> 00:04:38,120 Que está en Java útil 123 00:04:38,120 --> 00:04:40,879 Pero bueno, aunque se puede usar 124 00:04:40,879 --> 00:04:43,839 Porque es una herramienta para crear archivos fácilmente 125 00:04:43,839 --> 00:04:45,540 La que más se ha usado 126 00:04:45,540 --> 00:04:48,079 En todo el ecosistema 127 00:04:48,079 --> 00:04:48,860 Este de Java 128 00:04:48,860 --> 00:04:49,899 La que más se ha usado 129 00:04:49,899 --> 00:04:52,540 Es log4j 130 00:04:52,540 --> 00:04:58,660 Cuando digo herramienta 131 00:04:58,660 --> 00:04:59,300 En Java 132 00:04:59,300 --> 00:05:01,120 Siempre me refiero a lo mismo 133 00:05:01,120 --> 00:05:03,519 Me refiero a un conjunto de clases que hacen cosas 134 00:05:03,519 --> 00:05:05,540 Un conjunto de clases que hacen cosas 135 00:05:05,540 --> 00:05:07,379 O lo que es lo mismo, un jar o varios 136 00:05:07,379 --> 00:05:10,060 No, a eso me refiero cuando digo una herramienta 137 00:05:10,060 --> 00:05:12,120 A un conjunto de clases que hacen cosas 138 00:05:12,120 --> 00:05:14,720 O lo que es lo mismo, un jar o varios 139 00:05:14,720 --> 00:05:17,160 Ahí están las clases 140 00:05:17,160 --> 00:05:21,120 Esas clases ya tienen unos métodos 141 00:05:21,120 --> 00:05:22,959 A los que yo fácilmente puedo llamar 142 00:05:22,959 --> 00:05:24,819 Para hacer esas cosas que me interesan 143 00:05:24,819 --> 00:05:25,800 Que en este caso será 144 00:05:25,800 --> 00:05:28,639 Manda al fichero, manda al fichero, manda al fichero 145 00:05:28,639 --> 00:05:30,839 Vale, los 4J 146 00:05:30,839 --> 00:05:45,649 la versión actual es esta, la que se lleva usando ya a tiempo, la versión 2, que en realidad, ¿qué cambia respecto a la original? 147 00:05:45,649 --> 00:06:02,149 No cambia muchas cosas. La original se configuraba sobre todo con un fichero de properties, y esta se solía configurar con un fichero de properties, 148 00:06:02,149 --> 00:06:05,290 os digo estas cosas 149 00:06:05,290 --> 00:06:08,269 de nuevo para que estéis un poco 150 00:06:08,269 --> 00:06:10,610 en el contexto de las cosas 151 00:06:10,610 --> 00:06:11,810 que no se puede encontrar por ahí 152 00:06:11,810 --> 00:06:13,730 y esta ya cuando llegó 153 00:06:13,730 --> 00:06:16,689 pues aunque se puede 154 00:06:16,689 --> 00:06:18,449 configurar con archivo de properties 155 00:06:18,449 --> 00:06:20,810 también, esencialmente se configura 156 00:06:20,810 --> 00:06:22,129 con un archivo .xml 157 00:06:22,129 --> 00:06:24,610 ¿vale? cuando se implantó 158 00:06:24,610 --> 00:06:26,709 sobre todo pues el uso 159 00:06:26,709 --> 00:06:28,430 habitual de esta librería 160 00:06:28,430 --> 00:06:31,009 de estos hash es configurarla 161 00:06:31,009 --> 00:06:32,129 con un archivo .xml 162 00:06:32,129 --> 00:06:35,589 ¿Pero qué ocurre? 163 00:06:36,329 --> 00:06:37,629 Ocurre que todo 164 00:06:37,629 --> 00:06:39,790 Muy a nuestro pesar 165 00:06:39,790 --> 00:06:41,250 Porque esto es un rollo 166 00:06:41,250 --> 00:06:42,269 Tener que estar todo el rato 167 00:06:42,269 --> 00:06:45,110 Aprendiendo cosas nuevas 168 00:06:45,110 --> 00:06:46,449 Muy a nuestro pesar 169 00:06:46,449 --> 00:06:48,529 Pues lógicamente a lo largo de toda la vida 170 00:06:48,529 --> 00:06:49,509 En los 4J2 171 00:06:49,509 --> 00:06:51,550 Que es la que sigue usándose 172 00:06:51,550 --> 00:06:55,629 Pues llegó el desarrollo cloud 173 00:06:55,629 --> 00:06:57,149 La nube y todo eso 174 00:06:57,149 --> 00:06:59,529 Entonces eso que permite 175 00:06:59,529 --> 00:07:02,750 descentralizar muchas cosas 176 00:07:02,750 --> 00:07:04,629 entre ellas las configuraciones 177 00:07:04,629 --> 00:07:06,209 de toda la vida 178 00:07:06,209 --> 00:07:07,529 las aplicaciones 179 00:07:07,529 --> 00:07:10,189 pues tenían todos sus ficheros de configuración 180 00:07:10,189 --> 00:07:11,290 y todas sus cositas dentro 181 00:07:11,290 --> 00:07:12,389 y ya está 182 00:07:12,389 --> 00:07:16,629 y en muchísimos entornos así sigue siendo 183 00:07:16,629 --> 00:07:17,370 ¿vale? 184 00:07:17,970 --> 00:07:20,290 la mayoría de las aplicaciones que tú te encontraras 185 00:07:20,290 --> 00:07:22,470 en el club internacional 186 00:07:22,470 --> 00:07:24,290 libro o lo que sea, pues son aplicaciones que tienen 187 00:07:24,290 --> 00:07:24,850 todo dentro 188 00:07:24,850 --> 00:07:28,290 sus archivos de configuración y lo que sea 189 00:07:28,290 --> 00:07:30,810 pero claro, ahora con esto 190 00:07:30,810 --> 00:07:32,750 de desplegar en la nube y todo eso 191 00:07:32,750 --> 00:07:34,790 pues hombre, vamos a aprovechar el almacenamiento 192 00:07:34,790 --> 00:07:36,970 descentralizado para no tenerlo todo juntito 193 00:07:36,970 --> 00:07:37,689 en la aplicación 194 00:07:37,689 --> 00:07:39,970 ¿vale? entonces 195 00:07:39,970 --> 00:07:44,329 un uso típico es 196 00:07:44,329 --> 00:07:46,529 pues yo tengo mi aplicación 197 00:07:46,529 --> 00:07:50,949 la voy a desplegar en un servicio 198 00:07:50,949 --> 00:07:52,970 en la nube, la puedo desplegar bien 199 00:07:52,970 --> 00:07:56,410 me pago yo un servicio en la nube 200 00:07:56,410 --> 00:07:59,250 en el cual tengo yo una máquina virtual que es un servidor 201 00:07:59,250 --> 00:08:01,329 que sería como si fuera mi servidor, el mismo 202 00:08:01,329 --> 00:08:04,569 y despliego mi aplicación tranquilamente 203 00:08:04,569 --> 00:08:07,589 pues no ha cambiado nada, en esa situación no ha cambiado nada 204 00:08:07,589 --> 00:08:10,149 mi aplicación es la misma, lo que pasa es que en lugar de desplegarla 205 00:08:10,149 --> 00:08:14,029 en el servidor físico de mi empresa que está ahí encerrado en cuatro llaves 206 00:08:14,029 --> 00:08:16,029 y que solo toca un técnico 207 00:08:16,029 --> 00:08:18,910 en lugar de dárselo al técnico para que lo despliegue en su servidor 208 00:08:18,910 --> 00:08:21,509 que está ahí encerrado en cuatro llaves, o muchos 209 00:08:21,509 --> 00:08:24,529 porque se supone que están balanceados, tener carga balanceada 210 00:08:24,529 --> 00:08:26,490 para que si uno falla, tirar del otro 211 00:08:26,490 --> 00:08:27,970 pues en lugar de eso 212 00:08:27,970 --> 00:08:30,449 me ahorro el mantenimiento de los servidores 213 00:08:30,449 --> 00:08:32,549 me ahorro tener esa habitación sobre cuatro 214 00:08:32,549 --> 00:08:33,570 llaves, me lo ahorro 215 00:08:33,570 --> 00:08:36,190 desplegándolo en un servicio en la nube 216 00:08:36,190 --> 00:08:37,970 en el cual lo que tengo es un servidor 217 00:08:37,970 --> 00:08:40,029 virtual ahí, no pasa nada 218 00:08:40,029 --> 00:08:42,570 yo lo despliego ahí y se acabó, ese sería un primer 219 00:08:42,570 --> 00:08:42,950 paso 220 00:08:42,950 --> 00:08:46,710 otro paso es, vamos a aligerar esto un poquito 221 00:08:46,710 --> 00:08:48,450 entonces llega 222 00:08:48,450 --> 00:08:50,350 Docker, pues que es una herramienta 223 00:08:50,350 --> 00:08:52,330 que pum, es como una 224 00:08:52,330 --> 00:08:53,750 cajita, un sobrecito 225 00:08:53,750 --> 00:08:56,610 donde tú metes tu aplicación 226 00:08:56,610 --> 00:08:58,570 con configuraciones 227 00:08:58,570 --> 00:08:59,490 con historias, con cosas 228 00:08:59,490 --> 00:09:02,610 y te lo empaqueta en un formato hiper mega ligero 229 00:09:02,610 --> 00:09:04,690 y estupendo y magnífico 230 00:09:04,690 --> 00:09:04,970 ¿vale? 231 00:09:06,250 --> 00:09:08,210 eso sería esa aplicación 232 00:09:08,210 --> 00:09:10,250 empaquetada en ese formato 233 00:09:10,250 --> 00:09:10,889 de Docker 234 00:09:10,889 --> 00:09:13,470 pues es lo que se llama un contenedor 235 00:09:13,470 --> 00:09:16,049 que tiene la aplicación, súper mona, súper ligerita 236 00:09:16,049 --> 00:09:18,509 y claro, podrías también 237 00:09:18,509 --> 00:09:19,149 de 238 00:09:19,149 --> 00:09:21,769 medir un sistema operativo 239 00:09:21,769 --> 00:09:24,169 que sepa trabajar con Docker, pues como 240 00:09:24,169 --> 00:09:26,429 Kubernetes, por ejemplo, pues te lo 241 00:09:26,429 --> 00:09:28,190 pones en tu equipo y ahí te pones tú 242 00:09:28,190 --> 00:09:30,230 tu, despliegas tu contenedor Docker 243 00:09:30,230 --> 00:09:32,190 y tienes tu aplicación, pero hombre 244 00:09:32,190 --> 00:09:34,350 no es la idea hacer 245 00:09:34,350 --> 00:09:36,590 todo eso para volver a usar mi servidor otra vez 246 00:09:36,590 --> 00:09:38,629 entonces hay servicios 247 00:09:38,629 --> 00:09:40,470 en la nube que tienen 248 00:09:40,470 --> 00:09:42,529 aplicaciones 249 00:09:42,529 --> 00:09:43,470 que manejan Docker 250 00:09:43,470 --> 00:09:46,309 entre las, esta es 251 00:09:46,309 --> 00:09:48,590 una de ellas, la más famosa 252 00:09:48,590 --> 00:09:49,470 quizás, supongo 253 00:09:49,470 --> 00:09:53,230 Y esta es una especie de sistema operativo 254 00:09:53,230 --> 00:09:55,690 Que es capaz de manejar aplicaciones 255 00:09:55,690 --> 00:09:58,269 Que en lugar de estar en el hard de toda la vida 256 00:09:58,269 --> 00:09:59,889 Están en un contenedor docker 257 00:09:59,889 --> 00:10:01,789 Pues el Kubernetes es este 258 00:10:01,789 --> 00:10:03,450 Pues maneja lo 259 00:10:03,450 --> 00:10:07,600 Vale, entonces esta sería una arquitectura 260 00:10:07,600 --> 00:10:08,820 Relativamente 261 00:10:08,820 --> 00:10:13,620 Habitual 262 00:10:13,620 --> 00:10:15,759 Para desplegar tu aplicación en la nube 263 00:10:15,759 --> 00:10:17,000 Sin complicarte la vida 264 00:10:17,000 --> 00:10:18,899 ¿Vale? Sin complicártela 265 00:10:18,899 --> 00:10:21,320 No tienes que pagar servidores tuyos 266 00:10:21,320 --> 00:10:30,440 ni nada. Esto, pues el que no lo conozca, que muchos de vosotros no lo conocéis, si 267 00:10:30,440 --> 00:10:35,779 tenéis la oportunidad de hacer un curso, no es una cosa muy complicada. Yo no conozco 268 00:10:35,779 --> 00:10:39,899 los detalles en profundidad, solo conozco de qué va por encima. Pero instalarse Docker 269 00:10:39,899 --> 00:10:45,299 es sencillo y una vez que tienes la aplicación, hacer un contenedor que tenga tu aplicación 270 00:10:45,299 --> 00:10:47,059 es fácil y luego 271 00:10:47,059 --> 00:10:48,879 ponerla en marcha 272 00:10:48,879 --> 00:10:51,580 bien en Docker o bien en 273 00:10:51,580 --> 00:10:53,120 Kubernetes que te maneja 274 00:10:53,120 --> 00:10:54,840 muchas a la vez, pues 275 00:10:54,840 --> 00:10:56,879 tampoco parece ser muy complicado 276 00:10:56,879 --> 00:10:59,059 entonces si 277 00:10:59,059 --> 00:11:01,179 vais votos en paralelo, haciendo cursillos 278 00:11:01,179 --> 00:11:03,080 mirando cosas sobre esto, fenomenal 279 00:11:03,080 --> 00:11:03,740 porque 280 00:11:03,740 --> 00:11:07,179 pueden contar con que lo sepáis 281 00:11:07,179 --> 00:11:08,139 cualquier empresa 282 00:11:08,139 --> 00:11:10,940 entonces es lo típico, que es una cosa 283 00:11:10,940 --> 00:11:13,179 relativamente concreta, es me hago un curso de esto 284 00:11:13,179 --> 00:11:14,360 y más o menos sé de esto 285 00:11:14,360 --> 00:11:16,799 y ya está, y ya si alguien me dice 286 00:11:16,799 --> 00:11:18,480 pues sabes usar esto 287 00:11:18,480 --> 00:11:20,620 pues sí, sí usarlo, y te ha llevado 288 00:11:20,620 --> 00:11:22,519 a aprender a usarlo, ¿cuánto? pues 10 horas 289 00:11:22,519 --> 00:11:24,059 12 horas, entonces 290 00:11:24,059 --> 00:11:26,559 compensa, ¿vale? otra cosita 291 00:11:26,559 --> 00:11:28,659 más que podéis poner, bueno, he dicho 10 horas 292 00:11:28,659 --> 00:11:30,600 y 12 horas porque no lo sé, a lo mejor alguien se ha 293 00:11:30,600 --> 00:11:32,480 puesto y es mucho más complicado de lo que yo creo 294 00:11:32,480 --> 00:11:33,980 no sé, ¿tú lo has manejado? 295 00:11:34,500 --> 00:11:35,399 lo he manejado, pero 296 00:11:35,399 --> 00:11:38,039 un poco, pero cuando empiezo 297 00:11:38,039 --> 00:11:39,500 por el tema de los manifiestos 298 00:11:39,500 --> 00:11:42,519 se puede volver muy, claro, ser un experto 299 00:11:42,519 --> 00:11:44,860 pero a lo que vamos es que la idea es 300 00:11:44,860 --> 00:11:46,700 que si vosotros os presentáis a una empresa 301 00:11:46,700 --> 00:11:49,220 os presentáis diciendo, sí, lo conozco 302 00:11:49,220 --> 00:11:50,799 más o menos, luego si tienes que trabajar 303 00:11:50,799 --> 00:11:52,700 con ello, claro, ya es cuando te toca a lo mejor 304 00:11:52,700 --> 00:11:54,919 encerrarte, pum, pum, pum, hasta 305 00:11:54,919 --> 00:11:56,759 pero es verdad que 306 00:11:56,759 --> 00:11:58,720 el manejo más o menos, supongo 307 00:11:58,720 --> 00:12:00,779 que bueno, que como 308 00:12:00,779 --> 00:12:02,200 para cubrir expediente 309 00:12:02,200 --> 00:12:04,679 y arrancar, igual son 310 00:12:04,679 --> 00:12:05,960 no sé, unas cuantas horas 311 00:12:05,960 --> 00:12:08,159 pero que os vayáis metiendo 312 00:12:08,159 --> 00:12:10,600 en general en estas cosas que van surgiendo 313 00:12:10,600 --> 00:12:12,220 para no llegar a la empresa y decir 314 00:12:12,220 --> 00:12:39,960 Uy, porque a veces lo de echar fuera o quedarse depende de una palabra, de que tú digas sí o que digas no. ¿Qué sabes de PHP? Tú puedes decir, ni idea, ya estás fuera. O puedes decir, sí, lo conozco, no he trabajado últimamente, pero sí en ocasiones he hecho cosas con PHP y podría volver a hacerlas. 315 00:12:39,960 --> 00:12:42,620 o sea, eso es casi lo mismo que decir 316 00:12:42,620 --> 00:12:44,179 ni idea, casi lo mismo 317 00:12:44,179 --> 00:12:46,639 pero tú dices eso otro y de esas palabras 318 00:12:46,639 --> 00:12:48,779 depende que ya está, que pases al siguiente 319 00:12:48,779 --> 00:12:49,720 paso de la entrevista 320 00:12:49,720 --> 00:12:52,759 entonces, y luego ya te vas a tu casa 321 00:12:52,759 --> 00:12:54,220 y dices, a ver de qué va esto 322 00:12:54,220 --> 00:12:56,419 y como sois muy listos 323 00:12:56,419 --> 00:12:57,759 pues no tendréis problemas 324 00:12:57,759 --> 00:12:58,539 yo llegando a casa 325 00:12:58,539 --> 00:13:05,919 es que eso queda muy 326 00:13:05,919 --> 00:13:07,360 de ir de sobrado 327 00:13:07,360 --> 00:13:10,340 no lo sé, también 328 00:13:10,340 --> 00:13:12,700 en gran parte, muchas de las cosas que yo os digo 329 00:13:12,700 --> 00:13:14,779 lógicamente son de mi opinión 330 00:13:14,779 --> 00:13:16,879 y mi visión, pero a mí me sonaría 331 00:13:16,879 --> 00:13:18,419 no lo sé, pero 332 00:13:18,419 --> 00:13:20,779 no sé, me suena 333 00:13:20,779 --> 00:13:21,460 muy sobrado 334 00:13:21,460 --> 00:13:24,399 también depende 335 00:13:24,399 --> 00:13:26,820 lo que pasa es que claro, no es lo mismo que te pregunte 336 00:13:26,820 --> 00:13:28,820 por lenguaje de programación, que puedes no tener 337 00:13:28,820 --> 00:13:30,879 ni idea, pero tú sabes 338 00:13:30,879 --> 00:13:32,779 que como sabes programar, te lo vas a estudiar rápido 339 00:13:32,779 --> 00:13:34,000 entonces te puedes permitir decir 340 00:13:34,000 --> 00:13:36,259 no he trabajado últimamente con ello, pero bueno 341 00:13:36,259 --> 00:13:38,960 que si te dicen algo que no tienes ni idea 342 00:13:38,960 --> 00:13:41,100 entonces, si tú ahí dices 343 00:13:41,100 --> 00:13:42,960 bueno, no lo he usado 344 00:13:42,960 --> 00:13:44,940 recientemente, pero en su momento si hice algo 345 00:13:44,940 --> 00:13:46,820 cuidado porque te dicen, pum 346 00:13:46,820 --> 00:13:49,019 te hacen otra pregunta más y tú no tienes ni idea 347 00:13:49,019 --> 00:13:49,860 y ahí la has cagado 348 00:13:49,860 --> 00:13:53,320 entonces, es una especie de equilibrio 349 00:13:53,320 --> 00:13:55,320 entre no decir 350 00:13:55,320 --> 00:13:56,779 no tengo ni idea 351 00:13:56,779 --> 00:13:58,460 a las claras, pero hombre 352 00:13:58,460 --> 00:14:00,779 tampoco mostrar que sí, sí 353 00:14:00,779 --> 00:14:03,139 que va sobrado, no vaya a ser que quieran indagar más 354 00:14:03,139 --> 00:14:06,059 pues depende, pero 355 00:14:06,059 --> 00:14:25,419 Pero lo que yo quería decir ahora es que nunca digáis ni idea y pongáis cara de que me estás hablando, aunque sea la realidad, aunque sea la realidad, porque es que de eso puede depender que tú, si para echarte ya tendrán tiempo, si luego resulta que les has mentido y no eres un manta, no van a tener un problema de echarte, para echarte ya tendrán tiempo. 356 00:14:25,419 --> 00:14:28,200 ni remordimiento 357 00:14:28,200 --> 00:14:30,200 ni nada, igual problema con 358 00:14:30,200 --> 00:14:32,120 con la administración un poco más 359 00:14:32,120 --> 00:14:33,799 pero nada, bueno 360 00:14:33,799 --> 00:14:35,759 y todo este rollo 361 00:14:35,759 --> 00:14:38,120 ¿a qué venía todo este rollo? que siempre 362 00:14:38,120 --> 00:14:40,200 cuento unos rollos 363 00:14:40,200 --> 00:14:41,820 que no veas, vale, pues 364 00:14:41,820 --> 00:14:43,799 venía a que los 4J2 365 00:14:43,799 --> 00:14:46,159 cuando ya se implantó 366 00:14:46,159 --> 00:14:48,440 pasamos de mayoritariamente 367 00:14:48,440 --> 00:14:49,559 usar ficheros de properties 368 00:14:49,559 --> 00:14:51,580 XML que van dentro de la aplicación 369 00:14:51,580 --> 00:14:52,720 ¿vale? 370 00:14:52,720 --> 00:14:55,779 los XML están muy bien y son muy chulos 371 00:14:55,779 --> 00:14:57,480 porque es que son muy claros 372 00:14:57,480 --> 00:14:59,320 los miramos con los ojos y es que lo entendemos 373 00:14:59,320 --> 00:15:00,960 tenemos unos nodos ahí estupendos 374 00:15:00,960 --> 00:15:02,399 pero cuando ya 375 00:15:02,399 --> 00:15:05,659 pasamos a arquitecturas en las cuales 376 00:15:05,659 --> 00:15:08,080 nos podemos permitir descentralizar 377 00:15:08,080 --> 00:15:09,659 la configuración 378 00:15:10,419 --> 00:15:12,080 como le pasa 379 00:15:12,080 --> 00:15:12,779 a Kubernetes 380 00:15:12,779 --> 00:15:15,960 que puede coger los ficheros de configuración 381 00:15:15,960 --> 00:15:16,639 de fuera 382 00:15:16,639 --> 00:15:19,220 no hace falta que estén en la propia aplicación 383 00:15:19,220 --> 00:15:21,960 como le pasa a Spring Cloud 384 00:15:21,960 --> 00:15:24,259 que puede coger los ficheros de configuración de fuera 385 00:15:24,259 --> 00:15:25,539 no hace falta tener la aplicación 386 00:15:25,539 --> 00:15:28,080 pues entonces, que una aplicación 387 00:15:28,080 --> 00:15:29,299 coja un fichero de fuera 388 00:15:29,299 --> 00:15:31,879 significa que de alguna manera tiene que parsearlo 389 00:15:31,879 --> 00:15:33,240 tiene que comunicarse con él 390 00:15:33,240 --> 00:15:34,919 entonces 391 00:15:34,919 --> 00:15:38,059 para parsear entre máquinas 392 00:15:38,059 --> 00:15:39,919 para comunicarse cosas 393 00:15:39,919 --> 00:15:41,960 entre máquinas, no hay nada 394 00:15:41,960 --> 00:15:43,980 mejor, bueno si hay una cosa un poco 395 00:15:43,980 --> 00:15:45,740 mejor, dicen, que el JSON 396 00:15:45,740 --> 00:15:47,299 porque el JSON 397 00:15:47,299 --> 00:15:50,059 es más feo 398 00:15:50,059 --> 00:15:50,679 a la vista 399 00:15:50,679 --> 00:15:52,340 Menos claro 400 00:15:52,340 --> 00:15:55,419 Tampoco tanto 401 00:15:55,419 --> 00:15:56,159 Es un objeto 402 00:15:56,159 --> 00:15:58,139 Sí, pero 403 00:15:58,139 --> 00:16:00,919 Bueno, pero tú ves clave, valor, no lo sé 404 00:16:00,919 --> 00:16:02,360 Está en gustos, eso dicen 405 00:16:02,360 --> 00:16:03,080 Que el XML 406 00:16:03,080 --> 00:16:06,620 Un lenguaje de marcas 407 00:16:06,620 --> 00:16:08,620 Orientado a dejar un poquito más claro 408 00:16:08,620 --> 00:16:09,919 La meta información 409 00:16:09,919 --> 00:16:13,059 Y de hecho, XML admite comentarios 410 00:16:13,059 --> 00:16:14,600 Y JSON ni siquiera 411 00:16:14,600 --> 00:16:16,120 Admite comentarios 412 00:16:16,120 --> 00:16:19,059 Porque JSON está orientado a que hablen máquinas 413 00:16:19,059 --> 00:16:19,580 Entre sí 414 00:16:19,580 --> 00:16:25,399 El XML sí que admite un humano que lo mire. 415 00:16:26,000 --> 00:16:29,940 JSON está orientado a ser un lenguaje que una máquina, una aplicación, 416 00:16:30,559 --> 00:16:35,039 lo saque de otra y parse lo que tiene dentro a objetos o a lo que haga falta. 417 00:16:35,559 --> 00:16:38,600 Entonces, para parsear lo que tiene dentro JSON a objetos o a lo que haga falta, 418 00:16:38,679 --> 00:16:41,039 eso es mucho más rápido que parsear un XML. 419 00:16:41,379 --> 00:16:44,580 Parsear un XML, ya solo quitar comentarios, ya es algo. 420 00:16:45,139 --> 00:16:46,820 Que en JSON no tienes ni que hacer porque no hay. 421 00:16:46,820 --> 00:16:49,779 Entonces, en contextos en los cuales 422 00:16:49,779 --> 00:16:51,820 Hemos sacado los ficheros de configuración fuera 423 00:16:51,820 --> 00:16:53,440 Como en el 424 00:16:53,440 --> 00:16:54,000 Kubernetes 425 00:16:54,000 --> 00:16:55,740 Pues 426 00:16:55,740 --> 00:16:59,320 Conviene usar 427 00:16:59,320 --> 00:17:01,480 Configuración 428 00:17:01,480 --> 00:17:03,139 Para los 4J2 en JSON 429 00:17:03,139 --> 00:17:05,420 Por eso también se puede 430 00:17:05,420 --> 00:17:07,500 Configurar en los 4J2 en JSON 431 00:17:07,500 --> 00:17:09,599 Y ya el colmo 432 00:17:09,599 --> 00:17:11,480 De archivos feos, o eso dicen 433 00:17:11,480 --> 00:17:14,079 Son los archivos 434 00:17:14,079 --> 00:17:15,279 Estos de aquí 435 00:17:15,279 --> 00:17:19,420 estos archivos 436 00:17:19,420 --> 00:17:21,279 lo mismo, son archivos de texto 437 00:17:21,279 --> 00:17:22,900 para configurar parámetros 438 00:17:22,900 --> 00:17:25,220 y todavía 439 00:17:25,220 --> 00:17:27,380 se parsean de forma más eficiente 440 00:17:27,380 --> 00:17:28,059 que los JSON 441 00:17:28,059 --> 00:17:29,819 ¿y por qué dicen que son feos? 442 00:17:30,559 --> 00:17:32,200 no lo sé, ahora podemos saber algunos 443 00:17:32,200 --> 00:17:34,119 son una cosa así, no lo sé 444 00:17:34,119 --> 00:17:37,440 ¿vale? 445 00:17:39,720 --> 00:17:40,940 que no son muy claros 446 00:17:40,940 --> 00:17:43,099 que no son muy legibles a la vista 447 00:17:43,099 --> 00:17:44,400 no son legibles, pero claro 448 00:17:44,400 --> 00:17:46,839 para que una máquina Parsec, para la máquina 449 00:17:46,839 --> 00:17:48,440 que sea elegible no es lo de menos 450 00:17:48,440 --> 00:17:51,140 lo que le importa es que sea capaz de sacar rápidamente 451 00:17:51,140 --> 00:17:52,839 la clave y el valor, la clave y el valor 452 00:17:52,839 --> 00:17:54,279 para trasladarlo a un objeto 453 00:17:54,279 --> 00:17:56,140 o lo que haga falta trasladarlo 454 00:17:56,140 --> 00:17:58,380 bueno pues entonces 455 00:17:58,380 --> 00:17:59,319 los 4J2 456 00:17:59,319 --> 00:18:01,319 se configura 457 00:18:01,319 --> 00:18:04,619 sobre todo en los contextos 458 00:18:04,619 --> 00:18:06,279 en los cuales las aplicaciones están en las empresas 459 00:18:06,279 --> 00:18:07,920 instaladas con XML 460 00:18:07,920 --> 00:18:09,880 es el archivo típico que vamos a ver ahora 461 00:18:09,880 --> 00:18:12,299 pero también admite esta configuración 462 00:18:12,299 --> 00:18:14,119 que también vamos a ver 463 00:18:14,119 --> 00:18:16,059 un archivo JSON de configuración a ver cómo 464 00:18:16,059 --> 00:18:18,339 funciona. Y esta otra, 465 00:18:18,480 --> 00:18:20,140 pero esta es más rara y esta está más 466 00:18:20,140 --> 00:18:21,980 restringida a 467 00:18:21,980 --> 00:18:24,160 cuando tienes el 468 00:18:24,160 --> 00:18:25,880 log4j2 en un entorno 469 00:18:25,880 --> 00:18:28,059 descentralizado, que el archivo 470 00:18:28,059 --> 00:18:29,640 lo saca al sistema operativo después 471 00:18:29,640 --> 00:18:30,799 de una URL. 472 00:18:32,819 --> 00:18:33,299 ¿Vale? 473 00:18:34,819 --> 00:18:35,740 Bueno, pues 474 00:18:35,740 --> 00:18:39,519 otra cosa más. 475 00:18:40,619 --> 00:18:42,339 Conclusión más importante de esto, 476 00:18:42,420 --> 00:18:44,220 aparte de saber lo que es los logs, que eso ya lo 477 00:18:44,220 --> 00:18:46,099 sabíais, pero al que no lo supiera, pues 478 00:18:46,099 --> 00:18:46,799 O sea, lo sabe más. 479 00:18:48,380 --> 00:18:51,180 La segunda conclusión es 480 00:18:51,180 --> 00:18:55,180 mentiras a medias en las entrevistas. 481 00:18:55,359 --> 00:18:55,940 Y la tercera, 482 00:18:56,900 --> 00:19:00,180 todo lo que podáis ir estudiando en paralelo, 483 00:19:00,279 --> 00:19:00,660 hacedlo. 484 00:19:01,119 --> 00:19:02,200 Como por ejemplo esto. 485 00:19:05,559 --> 00:19:07,019 Diréis, pero ya tengo mucho que estudiar 486 00:19:07,019 --> 00:19:08,220 como para decirme a estudiar en paralelo. 487 00:19:08,980 --> 00:19:12,119 Pero así es ser joven. 488 00:19:14,380 --> 00:19:14,819 Vale. 489 00:19:17,859 --> 00:19:21,940 Bueno, no sé si alguien ha algún módulo que va a meterlo. 490 00:19:22,059 --> 00:19:24,920 No hay ningún módulo aquí que sea de computación en la nube. 491 00:19:25,759 --> 00:19:30,039 Entonces, aquí no tenemos... 492 00:19:30,039 --> 00:19:32,299 Si hubiera alguna optativa de computación en la nube, 493 00:19:32,440 --> 00:19:33,920 pues se podría meter ahí, pero aquí no. 494 00:19:34,500 --> 00:19:35,720 Aquí tenéis videojuegos. 495 00:19:37,539 --> 00:19:38,500 Examen, por cierto. 496 00:19:39,440 --> 00:19:39,720 ¿Ah, sí? 497 00:19:40,579 --> 00:19:42,039 Hoy examen de videojuegos. 498 00:19:42,039 --> 00:19:44,259 Sí, se ha retirado así como... 499 00:19:44,259 --> 00:19:46,859 Ni siquiera lo ha visto en la clase anterior. 500 00:19:46,859 --> 00:19:54,440 Pues lo habéis repasado 501 00:19:54,440 --> 00:19:56,099 Pues ya está 502 00:19:56,099 --> 00:19:57,980 Pero a ver 503 00:19:57,980 --> 00:20:03,420 ¿Cómo? Puede ser esta, ¿vale? 504 00:20:05,900 --> 00:20:06,619 Entonces 505 00:20:06,619 --> 00:20:10,599 Esto es simplemente 506 00:20:10,599 --> 00:20:13,940 Una herramienta que te permite automatizar 507 00:20:13,940 --> 00:20:16,039 algunas de las tareas 508 00:20:16,039 --> 00:20:17,980 que se realizan cuando tú desarrollas 509 00:20:17,980 --> 00:20:20,000 una aplicación. La compilación 510 00:20:20,000 --> 00:20:21,980 por supuesto, aunque la Eclipse eso ya te lo tiene 511 00:20:21,980 --> 00:20:24,460 automatizado. Las pruebas, 512 00:20:25,059 --> 00:20:26,059 la gestión de las 513 00:20:26,059 --> 00:20:27,339 famosas dependencias, 514 00:20:28,240 --> 00:20:29,980 te permite automatizar 515 00:20:29,980 --> 00:20:31,240 toda esa serie de tareas. 516 00:20:33,039 --> 00:20:34,160 En nuestro caso 517 00:20:34,160 --> 00:20:35,720 para lo que nos va a ser útil 518 00:20:35,720 --> 00:20:38,119 es para la gestión de las cosas 519 00:20:38,119 --> 00:20:40,000 de las que yo dependo, de las clases que 520 00:20:40,000 --> 00:20:42,019 vamos a usar que no están en la distribución 521 00:20:42,019 --> 00:20:43,099 estándar de Java. 522 00:20:43,940 --> 00:20:45,619 gracias a Maven 523 00:20:45,619 --> 00:20:47,680 ese problema va a ser sencillísimo 524 00:20:47,680 --> 00:20:49,000 no van a tener que andar persiguiendo 525 00:20:49,000 --> 00:20:50,559 por internet para descargar 526 00:20:50,559 --> 00:20:52,380 hay 527 00:20:52,380 --> 00:20:55,220 estas dos 528 00:20:55,220 --> 00:20:57,039 que yo sepa 529 00:20:57,039 --> 00:20:58,839 son las dos herramientas más comunes 530 00:20:58,839 --> 00:21:01,200 Gradle es más reciente, Maven es la de siempre 531 00:21:01,200 --> 00:21:03,019 la de toda la vida y la que está 532 00:21:03,019 --> 00:21:05,160 instalada en la mayoría de las aplicaciones Java 533 00:21:05,160 --> 00:21:07,160 y Gradle 534 00:21:07,160 --> 00:21:08,279 pues este tiene 535 00:21:08,279 --> 00:21:10,900 Maven se configura también con XML 536 00:21:10,900 --> 00:21:13,140 Gradle tiene un lenguaje propio 537 00:21:13,140 --> 00:21:14,440 para sus archivos de configuración 538 00:21:14,440 --> 00:21:15,599 y Gradle 539 00:21:15,599 --> 00:21:19,059 se usa como ya habréis comprobado 540 00:21:19,059 --> 00:21:20,079 en Android Studio 541 00:21:20,079 --> 00:21:21,839 los proyectos de Android Studio 542 00:21:21,839 --> 00:21:24,799 habéis hecho algún proyecto 543 00:21:24,799 --> 00:21:25,539 con Android Studio 544 00:21:25,539 --> 00:21:29,220 y lo imagino 545 00:21:29,220 --> 00:21:30,960 que será un proyecto 546 00:21:30,960 --> 00:21:31,339 de esto 547 00:21:31,339 --> 00:21:34,920 claro, pues tiene un fichero 548 00:21:34,920 --> 00:21:36,880 de configuración con un lenguaje 549 00:21:36,880 --> 00:21:38,759 propio suyo más particular que el de 550 00:21:38,759 --> 00:21:39,619 9 que es un XML 551 00:21:39,619 --> 00:21:42,859 en realidad vienen a ser 552 00:21:42,859 --> 00:21:44,180 Son para lo mismo 553 00:21:44,180 --> 00:21:46,160 Las dos, son para lo mismo 554 00:21:46,160 --> 00:21:48,539 ¿Vale? Nosotros vamos a usar Maven 555 00:21:48,539 --> 00:21:50,259 Porque es lo más habitual en Java 556 00:21:50,259 --> 00:21:52,079 Pero es un poquito 557 00:21:52,079 --> 00:21:53,700 Parecido 558 00:21:53,700 --> 00:21:56,980 Pues nada, venga, vamos a hacer un primer proyecto 559 00:21:56,980 --> 00:21:58,000 Que 560 00:21:58,000 --> 00:22:01,359 Tenga logs 561 00:22:01,359 --> 00:22:04,680 ¿Eh? 562 00:22:05,539 --> 00:22:06,660 Voy, voy, voy 563 00:22:06,660 --> 00:22:09,180 Vale, pues venga 564 00:22:09,180 --> 00:22:11,579 Ahora 565 00:22:11,579 --> 00:22:14,720 En lugar de un proyecto Java normal 566 00:22:14,720 --> 00:22:17,059 Un proyecto Maven 567 00:22:17,059 --> 00:22:18,079 ¿Vale? 568 00:22:19,400 --> 00:22:21,140 Podéis decir Maven lo que queráis 569 00:22:21,140 --> 00:22:22,359 Yo sabéis que lo digo todo mal 570 00:22:22,359 --> 00:22:23,960 No porque no sepa inglés 571 00:22:23,960 --> 00:22:26,500 Sino porque me sale así 572 00:22:26,500 --> 00:22:30,960 Que inglés se enseña mal 573 00:22:30,960 --> 00:22:35,380 Y claramente el tío que no está en un puente 574 00:22:35,380 --> 00:22:35,759 Claro 575 00:22:35,759 --> 00:22:37,779 Que inglés se enseña mal 576 00:22:37,779 --> 00:22:39,980 En todas partes, o te refieres aquí en concreto 577 00:22:39,980 --> 00:22:40,920 No, eso es una broma 578 00:22:40,920 --> 00:22:41,680 Es que el tío 579 00:22:41,680 --> 00:22:44,519 En ocho meses 580 00:22:44,519 --> 00:22:46,559 también como en universidades 581 00:22:46,559 --> 00:22:47,579 y es una estafa 582 00:22:47,579 --> 00:22:50,099 Ah, circula un tío por ahí 583 00:22:50,099 --> 00:23:00,099 Ah, ya, ya, ya 584 00:23:00,099 --> 00:23:05,380 Vale, pues nada 585 00:23:05,380 --> 00:23:08,019 Esta es otra cosa 586 00:23:08,019 --> 00:23:09,839 que uno si quiere 587 00:23:09,839 --> 00:23:12,119 se puede meter a conocer todos los detalles 588 00:23:12,119 --> 00:23:12,759 de Maven 589 00:23:12,759 --> 00:23:15,299 y ya está, y volverse un experto 590 00:23:15,299 --> 00:23:17,140 en Maven, como en Docker, en Kubernetes 591 00:23:17,140 --> 00:23:19,259 nosotros 592 00:23:19,259 --> 00:23:21,140 aquí vamos a usar lo estándar 593 00:23:21,140 --> 00:23:23,700 y más o menos lo básico para sobrevivir 594 00:23:23,700 --> 00:23:25,160 pues son 595 00:23:25,160 --> 00:23:27,099 cuatro cosas que son las que vamos a mencionar ahora 596 00:23:27,099 --> 00:23:27,619 ya está 597 00:23:27,619 --> 00:23:32,559 bueno 598 00:23:32,559 --> 00:23:35,640 en Maven tiene algunos términos 599 00:23:35,640 --> 00:23:37,039 suyos propios 600 00:23:37,039 --> 00:23:39,000 como el de arquetipo 601 00:23:39,000 --> 00:23:40,380 y artefacto 602 00:23:40,380 --> 00:23:44,119 ¿Vale? Son algunos términos 603 00:23:44,119 --> 00:23:45,160 suyos propios 604 00:23:45,160 --> 00:23:48,200 que... 605 00:23:48,200 --> 00:23:51,769 ¡Qué bueno están ahí! 606 00:23:52,109 --> 00:23:54,170 ¿Qué? ¡Qué bueno están ahí! 607 00:23:54,430 --> 00:23:56,670 Bueno, es una palabra de asistencia. 608 00:23:57,509 --> 00:23:58,450 Y artefacto 609 00:23:58,450 --> 00:23:58,869 también. 610 00:23:58,869 --> 00:24:00,869 Un buen artefacto. 611 00:24:01,490 --> 00:24:03,150 Pues venga. Arquetipo 612 00:24:03,150 --> 00:24:04,150 significa 613 00:24:04,150 --> 00:24:06,950 tipo de aplicación que vas a generar. 614 00:24:07,789 --> 00:24:09,009 Puede ser una aplicación de escritorio, 615 00:24:09,049 --> 00:24:10,890 una aplicación web con modelo vista 616 00:24:10,890 --> 00:24:12,849 controlador, una aplicación de 617 00:24:12,849 --> 00:24:15,910 Sprint, una librería de clases. 618 00:24:16,049 --> 00:24:18,109 Es el tipo de aplicación que vas a generar. 619 00:24:19,210 --> 00:24:22,950 Y artefacto es la aplicación. 620 00:24:24,029 --> 00:24:27,769 Un artefacto Maven es una aplicación con la estructura de Maven y ya está. 621 00:24:28,250 --> 00:24:29,930 Y arquetipo es qué tipo de aplicación. 622 00:24:30,569 --> 00:24:34,450 Bueno, pues aquí te dice, ¿qué tipo de aplicación vas a generar? 623 00:24:35,029 --> 00:24:37,230 Nosotros una normalicha y corrienticha. 624 00:24:37,390 --> 00:24:41,109 Y entonces nos interesa saltarnos la selección de arquetipo. 625 00:24:41,109 --> 00:24:43,349 si no nos la saltáramos, vamos a verlo ahora 626 00:24:43,349 --> 00:24:45,690 pues tenemos 200.000 tipos diferentes 627 00:24:45,690 --> 00:24:47,670 entonces, bueno, yo voy a decirle 628 00:24:47,670 --> 00:24:49,390 aquí que le añada, porque si no 629 00:24:49,390 --> 00:24:50,630 no me aparece en el workspace 630 00:24:50,630 --> 00:24:53,670 pero si vosotros no tenéis 631 00:24:53,670 --> 00:24:55,289 workspace, pues, o sea 632 00:24:55,289 --> 00:24:56,670 working set, pues 633 00:24:56,670 --> 00:25:00,509 vale, ya le voy a quitar 634 00:25:00,509 --> 00:25:08,579 vale, pues entonces, si 635 00:25:08,579 --> 00:25:10,960 no nos saltamos la lección de arquetipos 636 00:25:10,960 --> 00:25:23,519 tipos, fijaos qué cantidad de tipos diferentes de aplicación, pues, Destruz, que es una 637 00:25:23,519 --> 00:25:28,599 herramienta de acceso a datos relativamente antigua, pero que todavía se usa, donde metes 638 00:25:28,599 --> 00:25:36,269 el XML en ficheros de configuración y ya está, o el XML, el SQL, de una aplicación 639 00:25:36,269 --> 00:25:37,190 De JavaFX, bueno 640 00:25:37,190 --> 00:25:38,470 De todo 641 00:25:38,470 --> 00:25:43,660 Una aplicación REST 642 00:25:43,660 --> 00:25:46,220 Una cantidad de chuminadas 643 00:25:46,220 --> 00:25:48,039 200.000 millones 644 00:25:48,039 --> 00:25:48,799 Una pregunta 645 00:25:48,799 --> 00:25:52,960 El Eclipse lo tenías que instalar 646 00:25:52,960 --> 00:25:54,359 De X forma para que te metiera 647 00:25:54,359 --> 00:25:56,160 Muchas más opciones 648 00:25:56,160 --> 00:25:57,960 Es que a mí solo me salen Apache 649 00:25:57,960 --> 00:26:00,900 Muy poquitas opciones 650 00:26:00,900 --> 00:26:01,559 Y Apache 651 00:26:01,559 --> 00:26:06,539 El Eclipse 652 00:26:06,539 --> 00:26:08,140 Estándar 653 00:26:08,140 --> 00:26:11,759 Este que yo estoy usando aquí 654 00:26:11,759 --> 00:26:13,940 No le he puesto nada 655 00:26:13,940 --> 00:26:14,500 Adicional 656 00:26:14,500 --> 00:26:15,779 Es el eclipse 657 00:26:15,779 --> 00:26:18,119 Y de hecho es que este ni siquiera es moderno 658 00:26:18,119 --> 00:26:19,680 Porque este lo tengo desde hace un año y pico 659 00:26:19,680 --> 00:26:23,259 El proyecto 660 00:26:23,259 --> 00:26:26,279 No sé 661 00:26:26,279 --> 00:26:27,200 Pero bueno, da igual 662 00:26:27,200 --> 00:26:28,839 Que no te salgan 663 00:26:28,839 --> 00:26:29,619 Porque nosotros 664 00:26:29,619 --> 00:26:32,059 Lo que vamos a hacer va a ser 665 00:26:32,059 --> 00:26:34,359 Le decimos 666 00:26:34,359 --> 00:26:35,880 Saltate la elección de arquetipos 667 00:26:35,880 --> 00:26:38,339 Sáltatela, quiero un proyecto Maven de toda la vida. 668 00:26:39,839 --> 00:26:45,859 Entonces, nos lo saltamos y ahora aquí vienen otras terminologías propias suyas de Maven. 669 00:26:46,700 --> 00:26:57,559 Maven lo que quiere, como todos, es que a ser posible, los nombres de los proyectos, de las aplicaciones, sean únicos en Internet, ¿vale? 670 00:26:57,559 --> 00:27:02,359 Que haya una especie de unicidad de nombres, dime. 671 00:27:09,559 --> 00:27:10,980 Más terminología. 672 00:27:15,319 --> 00:27:22,940 Normalmente las aplicaciones que hacen las empresas, pues en muchos de los casos, 673 00:27:23,680 --> 00:27:28,240 se distribuyen a través de un servidor web para que tú accedas a esa aplicación web. 674 00:27:28,740 --> 00:27:30,059 Se distribuye en un servidor web, ¿no? 675 00:27:31,119 --> 00:27:36,819 Y esa empresa tendrá su nombre de dominio, ¿vale? 676 00:27:36,819 --> 00:27:45,440 Nosotros podríamos tener una empresa y nuestra empresa, pues, se podría llamar, su nombre de dominio podría ser este. 677 00:27:47,200 --> 00:28:00,579 Vale, entonces yo, si a todos los paquetes de mi aplicación les llamo, pues, por ejemplo, el DAO, le llamo así, al paquete de lógica, 678 00:28:00,579 --> 00:28:02,579 lo llamo 679 00:28:02,579 --> 00:28:04,680 poniéndole esta coletilla 680 00:28:04,680 --> 00:28:08,359 si a todos les pongo esta coletilla 681 00:28:08,359 --> 00:28:09,599 que es mi nombre de dominio 682 00:28:09,599 --> 00:28:12,500 pues aparte de tener una homogeneidad 683 00:28:12,500 --> 00:28:13,599 en mis aplicaciones 684 00:28:13,599 --> 00:28:16,400 de alguna manera los convierto en únicos 685 00:28:16,400 --> 00:28:18,279 porque solo yo tengo este dominio 686 00:28:18,279 --> 00:28:20,000 los nombres de dominio son únicos 687 00:28:20,000 --> 00:28:22,019 dos empresas no comparten su nombre de dominio 688 00:28:22,019 --> 00:28:24,220 entonces siguiendo esta filosofía 689 00:28:24,220 --> 00:28:25,799 es por lo que viene esto de aquí 690 00:28:25,799 --> 00:28:27,940 el artefacto ID 691 00:28:27,940 --> 00:28:30,039 sería el nombre que tú le das a tu 692 00:28:30,039 --> 00:28:32,140 aplicación, a tu proyecto, ¿vale? 693 00:28:32,920 --> 00:28:34,380 Pues yo le voy a poner, por ejemplo, 694 00:28:34,460 --> 00:28:36,099 dos el que os dé la gana y yo para 695 00:28:36,099 --> 00:28:37,839 luego organizarme para subirla, 696 00:28:38,460 --> 00:28:39,079 pues unidad 697 00:28:39,079 --> 00:28:41,859 didáctica una, 698 00:28:42,240 --> 00:28:42,960 uno, 699 00:28:43,720 --> 00:28:47,740 ejemplo de 700 00:28:47,740 --> 00:28:48,259 logs. 701 00:28:50,119 --> 00:28:51,940 Y ahora, ¿aquí 702 00:28:51,940 --> 00:28:54,019 qué pondría? Pues lo normal aquí es poner 703 00:28:54,019 --> 00:28:55,880 tu nombre de dominio, de la 704 00:28:55,880 --> 00:28:57,460 empresa, ¿vale? 705 00:28:57,940 --> 00:29:03,599 ¿Tiene el dominio registrado? 706 00:29:04,680 --> 00:29:04,980 Sí 707 00:29:04,980 --> 00:29:07,579 No hay más Dan2 en toda España 708 00:29:07,579 --> 00:29:08,640 Ni en el mundo 709 00:29:08,640 --> 00:29:10,980 Solo estáis vosotros 710 00:29:10,980 --> 00:29:14,039 Es que como no vamos a subir esta aplicación 711 00:29:14,039 --> 00:29:15,440 Ah, vale 712 00:29:15,440 --> 00:29:16,759 Y ya está, y en nombre 713 00:29:16,759 --> 00:29:19,980 Pues nada, uno pone lo que le salga 714 00:29:19,980 --> 00:29:21,940 Yo pongo siempre lo mismo 715 00:29:21,940 --> 00:29:23,279 Y se acabó 716 00:29:23,279 --> 00:29:25,779 No me voy a meter 717 00:29:25,779 --> 00:29:27,359 En complicaciones de esto primero 718 00:29:27,359 --> 00:29:28,779 Porque ni las conozco 719 00:29:28,779 --> 00:29:30,500 Las complicaciones, ni nos interesa 720 00:29:30,500 --> 00:29:32,700 nosotros queremos esta herramienta sobre todo para facilitarnos 721 00:29:32,700 --> 00:29:34,539 la gestión de las 722 00:29:34,539 --> 00:29:36,579 clases de las que dependemos que no están 723 00:29:36,579 --> 00:29:38,640 en la distribución estándar 724 00:29:38,640 --> 00:29:40,799 entonces pues ya tenemos 725 00:29:40,799 --> 00:29:42,920 el nombre de nuestra cosa 726 00:29:42,920 --> 00:29:44,859 y ya se ha acabado 727 00:29:44,859 --> 00:29:47,119 ¿dónde está el proyecto? 728 00:29:48,339 --> 00:29:48,940 ¿cómo que error? 729 00:29:50,740 --> 00:29:51,519 ah esto es lo de 730 00:29:51,519 --> 00:29:51,920 grados 731 00:29:51,920 --> 00:29:56,859 pero ¿cómo que error fatal? 732 00:29:57,119 --> 00:29:57,579 ¿qué os pasa? 733 00:29:58,940 --> 00:29:59,279 ¿dónde? 734 00:30:00,500 --> 00:30:01,400 ¿En la mía o en la vuestra? 735 00:30:01,519 --> 00:30:02,039 No, en la mía. 736 00:30:02,440 --> 00:30:06,380 Ah, no, pero en la mía esto es por la prueba que hice. 737 00:30:07,279 --> 00:30:10,160 A ver si va, porque como había actualizado la máquina virtual, 738 00:30:10,339 --> 00:30:13,079 por si se me seguía nada, no, esto está bien. 739 00:30:13,779 --> 00:30:14,559 Vale, entonces... 740 00:30:14,559 --> 00:30:19,279 Bueno, pues mi proyecto es este 741 00:30:19,279 --> 00:30:22,059 y veréis que lo único que cambia respecto al otro, 742 00:30:22,140 --> 00:30:22,900 bueno, cambia muchas cosas, 743 00:30:22,900 --> 00:30:25,819 pero una cosa que cambia es que tiene una M pequeñita. 744 00:30:26,819 --> 00:30:28,759 Entonces, ¿qué significa que sea un proyecto MAVEN? 745 00:30:28,759 --> 00:30:32,200 que su estructura de carpetas 746 00:30:32,200 --> 00:30:34,099 ha cambiado. La estructura de 747 00:30:34,099 --> 00:30:36,019 carpetas de Maven ya es 748 00:30:36,019 --> 00:30:37,920 distinta. Y es 749 00:30:37,920 --> 00:30:39,119 esta de aquí. 750 00:30:41,420 --> 00:30:42,339 ¿Qué pasa? 751 00:30:43,940 --> 00:30:45,220 El POM, ese. 752 00:30:46,259 --> 00:30:46,819 Ah, claro. 753 00:30:48,200 --> 00:30:48,559 Sí. 754 00:30:49,880 --> 00:30:52,079 Vale, entonces, esta es la estructura 755 00:30:52,079 --> 00:30:53,980 de un proyecto 756 00:30:53,980 --> 00:30:55,880 Maven estándar. 757 00:30:55,880 --> 00:30:57,700 Si fuera aplicación web, sería 758 00:30:57,700 --> 00:31:04,359 otra estructura, la que fuera. ¿Qué tiene? Esta es la carpeta SRC. Aquí es donde pondremos 759 00:31:04,359 --> 00:31:11,539 nuestros paquetes. Los pondremos aquí. Esta es una ruta, la de recursos, que está en 760 00:31:11,539 --> 00:31:18,900 el PAD, que es para poner recursos de la aplicación que no son ficheros de código, ficheros fuente. 761 00:31:18,900 --> 00:31:25,880 Aquí es donde irán precisamente los ficheros de configuración. Los properties, los XML 762 00:31:25,880 --> 00:31:27,680 L irán aquí, en recursos 763 00:31:27,680 --> 00:31:29,740 aquí irán 764 00:31:29,740 --> 00:31:30,740 las clases de prueba 765 00:31:30,740 --> 00:31:32,440 yo no sé 766 00:31:32,440 --> 00:31:35,339 más o menos de pruebas en general 767 00:31:35,339 --> 00:31:37,539 qué cosas haríais el año pasado, pero bueno 768 00:31:37,539 --> 00:31:39,500 si uno trabajara bien 769 00:31:39,500 --> 00:31:41,519 pero yo no sé si alguien trabaja 770 00:31:41,519 --> 00:31:43,559 bien, bueno, o sea, más que si uno 771 00:31:43,559 --> 00:31:45,900 trabajara bien, más que si uno trabajara 772 00:31:45,900 --> 00:31:47,599 como dicen que es trabajar 773 00:31:47,599 --> 00:31:49,559 bien, pues tal cual 774 00:31:49,559 --> 00:31:51,480 se va haciendo una clase, en paralelo 775 00:31:51,480 --> 00:31:53,460 tal cual se hace su clase de prueba 776 00:31:53,460 --> 00:31:55,519 en paralelo, así no deja 777 00:31:55,519 --> 00:31:57,460 las pruebas para el final, porque lo que se deja 778 00:31:57,460 --> 00:31:58,440 para el final no se hace 779 00:31:58,440 --> 00:32:01,559 entonces si uno trabajara bien, a la vez que va haciendo aquí 780 00:32:01,559 --> 00:32:03,059 clases, en este SRCT 781 00:32:03,059 --> 00:32:05,660 se iría haciendo sus clasecitas de prueba 782 00:32:05,660 --> 00:32:08,099 y Maven te automatiza 783 00:32:08,099 --> 00:32:09,359 el 784 00:32:09,359 --> 00:32:10,819 pasar las pruebas 785 00:32:10,819 --> 00:32:12,799 te lo automatiza, pero 786 00:32:12,799 --> 00:32:14,819 ¿alguien alguna vez mete dentro aquí algo? 787 00:32:15,160 --> 00:32:17,420 yo nunca he metido nada, pero si 788 00:32:17,420 --> 00:32:19,559 alguien lo hace bien, pues debería 789 00:32:19,559 --> 00:32:20,259 ¿vale? 790 00:32:21,279 --> 00:32:22,680 los que habéis trabajado fuera 791 00:32:22,680 --> 00:32:25,380 de las fases de pruebas, ¿qué opináis? ¿se hacen bien 792 00:32:25,380 --> 00:32:28,950 en condiciones. Te obligan a llevar un libro. 793 00:32:29,150 --> 00:32:29,910 Ah, bueno, joder. 794 00:32:29,910 --> 00:32:30,690 ¿Qué coberaje? 795 00:32:31,349 --> 00:32:34,029 Claro, coberaje 796 00:32:34,029 --> 00:32:35,650 es toda la parte de tu código 797 00:32:35,650 --> 00:32:37,910 que es susceptible a tus pruebas. 798 00:32:38,630 --> 00:32:39,690 La que estás cubriendo. 799 00:32:39,809 --> 00:32:41,710 Hay líneas de código que a lo mejor no estás cubriendo 800 00:32:41,710 --> 00:32:43,769 porque se te están escapando en las pruebas. 801 00:32:44,329 --> 00:32:45,829 Entonces, un 80% tienes que 802 00:32:45,829 --> 00:32:46,750 tener el gobierno. 90. 803 00:32:47,549 --> 00:32:49,890 Te saltas el no cubrir el modelo y poco más. 804 00:32:50,349 --> 00:32:51,490 Te saltas el cubrir todo, 805 00:32:51,650 --> 00:32:54,369 cada I, cada tal, una prueba por cada uno. 806 00:32:54,430 --> 00:32:56,230 Claro, asumen que en el modelo 807 00:32:56,230 --> 00:32:57,730 Hombre, pocos errores vas a cometer 808 00:32:57,730 --> 00:33:00,089 Total son get set y propiedades 809 00:33:00,089 --> 00:33:01,069 ¿No? Pero en lo demás 810 00:33:01,069 --> 00:33:02,890 Claro 811 00:33:02,890 --> 00:33:05,650 Pues nada, en algunos sitios 812 00:33:05,650 --> 00:33:06,750 Si se hace bien entonces 813 00:33:06,750 --> 00:33:08,750 Y ya está 814 00:33:08,750 --> 00:33:12,230 Y este es el famoso fichero de configuración 815 00:33:12,230 --> 00:33:13,190 De Mave 816 00:33:13,190 --> 00:33:15,690 ¿Vale? Entonces 817 00:33:15,690 --> 00:33:18,349 Este fichero 818 00:33:18,349 --> 00:33:19,369 De configuración 819 00:33:19,369 --> 00:33:23,190 Pues uno lo abre 820 00:33:23,190 --> 00:33:30,170 Y le aparece esto 821 00:33:30,170 --> 00:33:31,670 y de repente 822 00:33:31,670 --> 00:33:33,970 le sale un error 823 00:33:33,970 --> 00:33:36,789 es muy bien 824 00:33:36,789 --> 00:33:40,410 de repente le sale a uno un error 825 00:33:40,410 --> 00:33:41,369 siempre en este 826 00:33:41,369 --> 00:33:44,329 no, no, no, no, da igual 827 00:33:44,329 --> 00:33:46,390 uno podría pasar toda su vida 828 00:33:46,390 --> 00:33:47,970 sin arreglar este error 829 00:33:47,970 --> 00:33:50,789 y no pasaría nada, porque esto no es un código fuente 830 00:33:50,789 --> 00:33:51,849 eso es un XML 831 00:33:51,849 --> 00:33:54,609 pero si os da todo como a mí 832 00:33:54,609 --> 00:33:55,730 que haya cosas rojas 833 00:33:55,730 --> 00:33:58,430 pues después de un tiempecito 834 00:33:58,430 --> 00:34:01,509 uno averiguó 835 00:34:01,509 --> 00:34:03,710 hace un par 836 00:34:03,710 --> 00:34:05,369 de añitos, de repente, de puñetera 837 00:34:05,369 --> 00:34:07,670 casualidad, averigüé 838 00:34:07,670 --> 00:34:09,230 cuando todavía no había hecha GPT 839 00:34:09,230 --> 00:34:11,550 aunque no sé si hecha GPT lo sabría esto 840 00:34:11,550 --> 00:34:12,630 ahora se lo preguntamos 841 00:34:12,630 --> 00:34:14,289 que si pones aquí una S 842 00:34:14,289 --> 00:34:17,489 pum, eso se te quita 843 00:34:17,489 --> 00:34:21,530 entonces, no cambia nada 844 00:34:21,530 --> 00:34:23,369 no va a funcionar igual 845 00:34:23,369 --> 00:34:24,510 todo va a funcionar igual 846 00:34:24,510 --> 00:34:26,429 pero por lo menos no ves eso en rojo 847 00:34:26,429 --> 00:34:28,789 Y te quedas más tranquilo 848 00:34:28,789 --> 00:34:29,110 ¿Verdad? 849 00:34:31,230 --> 00:34:31,449 ¿Eh? 850 00:34:32,789 --> 00:34:34,530 Lo del ver las cosas en rojo, ¿verdad? 851 00:34:34,789 --> 00:34:36,949 Pero en los ficheros de configuración hay veces que es inevitable 852 00:34:36,949 --> 00:34:38,610 El Eclipse es un pesado 853 00:34:38,610 --> 00:34:40,710 Y... ¿Vale? 854 00:34:43,170 --> 00:34:44,210 Para quitar los rojos 855 00:34:44,210 --> 00:34:50,650 Vale, pues este famoso fichero 856 00:34:50,650 --> 00:34:52,889 De configuración que hemos conseguido 857 00:34:52,889 --> 00:34:54,570 Ya quitarle el error 858 00:34:54,570 --> 00:34:57,570 aquí ya se pueden meter 859 00:34:57,570 --> 00:35:00,110 que pierdo el hilo 860 00:35:00,110 --> 00:35:02,269 si yo vuelvo de fondo 861 00:35:02,269 --> 00:35:03,710 pierdo el hilo, aquí ya se pueden meter 862 00:35:03,710 --> 00:35:05,429 un montonazo de historias 863 00:35:05,429 --> 00:35:07,750 para configurar Mabel y decirle 864 00:35:07,750 --> 00:35:10,110 cómo compilas, dónde están 865 00:35:10,110 --> 00:35:11,869 cómo pasas las pruebas, los parámetros 866 00:35:11,869 --> 00:35:13,889 para las pruebas, cómo 867 00:35:13,889 --> 00:35:15,849 construyes tu proyecto cuando tiene 868 00:35:15,849 --> 00:35:17,750 un montón de millones 869 00:35:17,750 --> 00:35:19,789 de cosas que a nosotros 870 00:35:19,789 --> 00:35:21,829 nos dan igual, a nosotros sólo nos 871 00:35:21,829 --> 00:35:23,670 importa las 872 00:35:23,670 --> 00:35:25,590 dependencias, que es 873 00:35:25,590 --> 00:35:27,530 ¿qué clases vamos a usar? 874 00:35:28,409 --> 00:35:29,789 Entonces, aquí todavía 875 00:35:29,789 --> 00:35:30,809 no tiene creado 876 00:35:30,809 --> 00:35:34,389 una... 877 00:35:34,389 --> 00:35:35,809 Entonces, lo primero que 878 00:35:35,809 --> 00:35:38,050 creamos es esto, para decirle 879 00:35:38,050 --> 00:35:39,570 oye, que yo dependo de cositas, 880 00:35:39,789 --> 00:35:41,949 que las necesito. Haz el favor 881 00:35:41,949 --> 00:35:43,730 de buscarlas y traérmelas. 882 00:35:44,409 --> 00:35:46,030 Dependo de cosas que las necesito. 883 00:35:47,590 --> 00:35:48,150 Dependencias. 884 00:35:48,289 --> 00:35:49,809 Pues ahí dentro irán esas cositas 885 00:35:49,809 --> 00:35:51,190 de las que dependemos. 886 00:35:52,610 --> 00:35:53,170 Ahora, 887 00:35:53,670 --> 00:35:55,349 ¿De qué dependemos nosotros? 888 00:35:55,590 --> 00:35:57,230 Aparte de lo que tenemos en nuestra 889 00:35:57,230 --> 00:35:58,730 distribución estándar. 890 00:35:59,590 --> 00:36:01,610 Pues de log4j. Si queremos hacer logs, 891 00:36:01,710 --> 00:36:02,829 dependemos de log4j. 892 00:36:03,710 --> 00:36:04,510 ¿O sea que el PON depende? 893 00:36:05,090 --> 00:36:06,550 No, nuestra aplicación. 894 00:36:06,889 --> 00:36:09,369 Nuestra aplicación depende de la existencia 895 00:36:09,369 --> 00:36:11,429 del hard de log4j. 896 00:36:11,789 --> 00:36:13,670 Porque va a usar los métodos de ese hard. 897 00:36:13,769 --> 00:36:15,030 Los va a usar para hacer los logs. 898 00:36:15,550 --> 00:36:16,789 Depende de la existencia. 899 00:36:17,769 --> 00:36:18,210 Entonces, 900 00:36:20,710 --> 00:36:22,050 ¿cómo le decimos? 901 00:36:22,050 --> 00:36:24,510 Oye, méteme en los 4J 902 00:36:24,510 --> 00:36:25,929 ¿Cómo se lo decimos? 903 00:36:27,510 --> 00:36:29,090 ¿Alguien te va a parar a ir al baño? 904 00:36:30,429 --> 00:36:32,170 Sí, bueno, vamos a parar dos minutos 905 00:36:32,170 --> 00:36:34,050 Antes de...