0 00:00:00,000 --> 00:00:07,000 Si habláis, me dais el consentimiento para grabaros. 1 00:00:07,000 --> 00:00:21,000 Entonces, hemos visto cómo podemos crear un stream, un flujo de información desde mi programa hacia un fichero o desde un fichero hacia mi programa. 2 00:00:21,000 --> 00:00:28,000 Entonces ahora la pregunta es, vale, muy bien, ¿y cómo guardo los atributos de un objeto? ¿Qué hago para guardarlo? 3 00:00:28,000 --> 00:00:32,000 La primera aproximación, como hemos dicho, es un fichero de textos. 4 00:00:32,000 --> 00:00:46,000 Entonces creo un archivo, por ejemplo, nombre de la clase .txt, alumno.txt, y en cada línea de este fichero de texto, 5 00:00:46,000 --> 00:00:54,000 que es .txt, pero puede ser una extensión que me da la gana propia de mi programa, 6 00:00:54,000 --> 00:01:04,000 voy a poner en cada línea un objeto. Cada objeto tendrá que tener un formato, el formato me lo decido yo. 7 00:01:04,000 --> 00:01:09,000 Un ejemplo puede ser que separo cada atributo con dos puntos. 8 00:01:09,000 --> 00:01:21,000 Hay programas, hay processes ya hechas de utilidades para string, como por ejemplo string tokenizer, 9 00:01:21,000 --> 00:01:32,000 que seguramente conocéis, que yo le puedo dar un delimitador, por ejemplo dos puntos, 10 00:01:32,000 --> 00:01:45,000 y él en automático me va sacando tokens, o sea trozos del string que yo le paso, hasta llegar a uno de los delimitadores. 11 00:01:46,000 --> 00:01:57,000 Entonces yo tendré el alumno que será Paco, dos puntos, 27, dos puntos, programación, tiene un 5, 12 00:01:57,000 --> 00:02:11,000 y lo que hace el string tokenizer es separarme Paco, separarme 35, y la otra cosa, dando los varios trozos. 13 00:02:12,000 --> 00:02:20,000 ¿Qué problemas puedo tener en estos contextos? ¿Y si el dato no es un string? 14 00:02:23,000 --> 00:02:35,000 Mientras que sea un dato primitivo, un tipo primitivo, más o menos, porque yo tendré allí un 37, 15 00:02:35,000 --> 00:02:46,000 que es un int, lo leeré como string 37, comillas 37 comillas, no como int 37, 16 00:02:46,000 --> 00:02:57,000 pero luego tengo métodos para poder interpretar un string como datos, como por ejemplo integer.partsing, 17 00:02:58,000 --> 00:03:02,000 y lo mismo a cada doble, por flote, cosas por el estilo. 18 00:03:02,000 --> 00:03:12,000 Ahora, ten en cuenta que tengo que mantener bien hecho el formato, yo tengo el primer campo que encuentro 19 00:03:12,000 --> 00:03:19,000 hasta el primer dos puntos es el nombre, será un string, el segundo campo que llega hasta el segundo dos puntos, 20 00:03:19,000 --> 00:03:24,000 es un enteros, y a esto le hago el partsing, cuidado que cuando lo hago tú me lo guardas, 21 00:03:24,000 --> 00:03:29,000 allí una vez en el segundo trozo me pones el apellido en vez que la edad, 22 00:03:29,000 --> 00:03:37,000 luego yo llegaré a pillar ese trozo y hacer un partsing sobre eso, y partsing de Fernández no funciona. 23 00:03:41,000 --> 00:03:48,000 Entonces el formato tiene que ser concreto, esto puede llevar a problemas como por ejemplo, 24 00:03:48,000 --> 00:03:54,000 he hecho un alumno y tengo los campos nombre, apellido 1, apellido 2, edad, 25 00:03:54,000 --> 00:03:59,000 y luego resulta que viene un alumno italiano y no tiene el segundo apellido, 26 00:03:59,000 --> 00:04:03,000 y por lo tanto cuando lo voy a guardar no guardo el segundo apellido porque es así, 27 00:04:03,000 --> 00:04:06,000 y ahora ya la edad está en el campo del segundo apellido. 28 00:04:06,000 --> 00:04:17,000 Lo que tengo que hacer es que tengo que tener en cuenta, 29 00:04:17,000 --> 00:04:25,000 tengo que tener cuidado a la hora de hacer materialización y desmaterialización de objetos, 30 00:04:25,000 --> 00:04:30,000 que quiere decir la operación de pillar un objeto y escribirlo como un string, 31 00:04:30,000 --> 00:04:35,000 y la operación al revés de pillar un string y transformarlo en un objeto, 32 00:04:35,000 --> 00:04:39,000 tengo que hacer mucho cuidado con este tipo de operaciones, 33 00:04:39,000 --> 00:04:44,000 es la razón de por qué no existe una cosa que te lo haga de forma automática, 34 00:04:44,000 --> 00:04:48,000 en un cierto sentido lo tienes que hacer tú y pensar tú como se hace. 35 00:04:50,000 --> 00:04:54,000 Ahora, ¿qué ocurre con la diferencia entre objetos? 36 00:04:54,000 --> 00:05:04,000 Eso es peligroso, eso puede llevar a sufrimiento, 37 00:05:04,000 --> 00:05:19,000 porque tú tienes una clase donde tienes al alumno y tienes su lista de notas, 38 00:05:19,000 --> 00:05:22,000 que es una lista, es un objeto, 39 00:05:22,000 --> 00:05:25,000 ahora cuando yo hago este objeto es a su vez un objeto, 40 00:05:25,000 --> 00:05:33,000 ¿cómo lo guardo en mi desmaterialización de objeto? 41 00:05:33,000 --> 00:05:36,000 Cuando lo guardo en el pichero. 42 00:05:38,000 --> 00:05:42,000 Llamo a su vez un método que me escriba la lista en el pichero 43 00:05:42,000 --> 00:05:46,000 y luego después cuando tengo que crear antes la lista y luego referenciarla, 44 00:05:46,000 --> 00:05:50,000 porque tened en cuenta que la lista de objetos, la lista de notas, 45 00:05:50,000 --> 00:05:55,000 no está dentro del objeto alumno, 46 00:05:55,000 --> 00:06:01,000 el alumno tiene una referencia a un objeto que es una lista de notas. 47 00:06:04,000 --> 00:06:08,000 Cuidado con lo que se hace, puede llegar a ser cumplea. 48 00:06:09,000 --> 00:06:11,000 ¿Sí? 49 00:06:11,000 --> 00:06:15,000 Cerización Raw, que veremos a continuación, 50 00:06:15,000 --> 00:06:18,000 Cerización Textual, 51 00:06:18,000 --> 00:06:25,000 yo por ejemplo en vez de poner directamente texto, 52 00:06:25,000 --> 00:06:28,000 así como hemos hecho con dos puntos etc, 53 00:06:28,000 --> 00:06:31,000 lo que podría intentar hacer es crearme un xml, 54 00:06:31,000 --> 00:06:34,000 xml, vosotros sois campeones del xml, 55 00:06:35,000 --> 00:06:38,000 entonces la estructura de un pichero en vez de verla, 56 00:06:38,000 --> 00:06:41,000 pues la plasmo en un xml, 57 00:06:41,000 --> 00:06:44,000 y cuando después vuelvo a sacar la información, 58 00:06:44,000 --> 00:06:47,000 pues en vez de tener simplemente una línea separada por dos puntos, 59 00:06:47,000 --> 00:06:52,000 pues tengo un xml que me añade semántica a los datos que he puesto por allí. 60 00:06:52,000 --> 00:06:55,000 Está claro que esto se vuelve un programa, 61 00:06:55,000 --> 00:07:00,000 de tener que mirar el xml, parchearlo, utilizar sax, dom o cosa por el estilo 62 00:07:00,000 --> 00:07:03,000 para poder acceder a los componentes del xml, 63 00:07:03,000 --> 00:07:07,000 tener asociado un xml esquema para que el formato del xml que estoy leyendo 64 00:07:07,000 --> 00:07:13,000 sea correcto y para que yo pueda interpretar todas las posibles combinaciones 65 00:07:13,000 --> 00:07:17,000 de elementos xml que están... 66 00:07:17,000 --> 00:07:21,000 Se hace, se puede hacer. 67 00:07:21,000 --> 00:07:24,000 Y si no, utilizar un software ORM, 68 00:07:24,000 --> 00:07:28,000 más una base de datos, esto es hibernar, 69 00:07:28,000 --> 00:07:31,000 esto es lo que se ve. 70 00:07:31,000 --> 00:07:34,000 Por lo tanto no lo he dado. 71 00:07:34,000 --> 00:07:37,000 El año que viene. 72 00:07:37,000 --> 00:07:40,000 Hibernar es complejo. 73 00:07:40,000 --> 00:07:43,000 Admito mis limitaciones con hibernar. 74 00:07:43,000 --> 00:07:48,000 No lo he profundizado nunca lo suficiente para decir, os lo enseño rápidamente. 75 00:07:48,000 --> 00:07:51,000 Ya veremos qué hacemos con eso. 76 00:07:51,000 --> 00:07:57,000 Porque conlleva instalar un montón de otras cosas y paquetes y cosas por el estilo 77 00:07:58,000 --> 00:08:01,000 Tengo miedo de meterme en un berengenal. 78 00:08:01,000 --> 00:08:04,000 Pero con lápiz no está nada. 79 00:08:04,000 --> 00:08:06,000 Estará, estará. 80 00:08:06,000 --> 00:08:09,000 Algunas cosas de lápiz estarán seguramente. 81 00:08:09,000 --> 00:08:12,000 Estarán las clases cuando todo funcione. 82 00:08:12,000 --> 00:08:15,000 Objetos realizables. 83 00:08:15,000 --> 00:08:18,000 Y si no, tengo otra opción. 84 00:08:18,000 --> 00:08:23,000 Paso del rabo del cosa por el estilo y me meto en el mundo del serializable. 85 00:08:24,000 --> 00:08:27,000 Existe una interfaz. 86 00:08:27,000 --> 00:08:30,000 Que la interfaz es serializable. 87 00:08:30,000 --> 00:08:33,000 Que si tú dices que tu objeto es serializable. 88 00:08:33,000 --> 00:08:41,000 Quiere decir que tu objeto puede ser interpretado como una secuencia de bytes. 89 00:08:41,000 --> 00:08:43,000 En un cierto sentido. 90 00:08:43,000 --> 00:08:46,000 No tiene problema ser interpretado de otra forma. 91 00:08:46,000 --> 00:08:48,000 Si tú le das esta cosa. 92 00:08:49,000 --> 00:08:53,000 La interfaz es capaz de tomar tu objeto. 93 00:08:53,000 --> 00:08:56,000 Y de forma pseudo-automática. 94 00:08:56,000 --> 00:08:58,000 Mirarlo por algún lado. 95 00:09:00,000 --> 00:09:03,000 Hay problemas también por allí. 96 00:09:03,000 --> 00:09:06,000 En plan, si yo dentro de mi objeto aluno. 97 00:09:06,000 --> 00:09:08,000 Uso un objeto creado por otro. 98 00:09:08,000 --> 00:09:11,000 Y este objeto creado por otro no es serializable. 99 00:09:15,000 --> 00:09:17,000 Tengo un problema. 100 00:09:17,000 --> 00:09:19,000 Para que mi objeto sea serializable. 101 00:09:19,000 --> 00:09:22,000 Todo lo que está dentro de mi tiene que ser serializable. 102 00:09:22,000 --> 00:09:24,000 Si no, tengo un problema. 103 00:09:26,000 --> 00:09:28,000 Para esto existe un nivel. 104 00:09:28,000 --> 00:09:30,000 Un poquito más alto todavía. 105 00:09:30,000 --> 00:09:33,000 El nivel de abstracción de estos streams que tenemos. 106 00:09:33,000 --> 00:09:35,000 Que es el Object Output Stream. 107 00:09:35,000 --> 00:09:37,000 O el Object Input Stream. 108 00:09:38,000 --> 00:09:42,000 Son Output e Input Stream de objetos. 109 00:09:42,000 --> 00:09:44,000 Me permiten escribir objetos. 110 00:09:44,000 --> 00:09:47,000 Que me permiten Write Object o Read Object. 111 00:09:47,000 --> 00:09:51,000 En vez de Read que lee un Byte. 112 00:09:51,000 --> 00:09:53,000 O Readline que lee una línea. 113 00:09:53,000 --> 00:09:55,000 Pues lee un objeto. 114 00:09:56,000 --> 00:09:58,000 Está claro que lee un objeto. 115 00:09:58,000 --> 00:10:00,000 Que será de tipo. 116 00:10:02,000 --> 00:10:03,000 Objeto. 117 00:10:03,000 --> 00:10:05,000 Me gusta a mí. 118 00:10:05,000 --> 00:10:07,000 Castearlo correctamente. 119 00:10:07,000 --> 00:10:09,000 Él no puede decir. 120 00:10:10,000 --> 00:10:12,000 Lee un objeto y luego ya. 121 00:10:12,000 --> 00:10:14,000 El programador si ha hecho bien las cosas. 122 00:10:16,000 --> 00:10:17,000 Funcionaría. 123 00:10:17,000 --> 00:10:19,000 Para escribir objeto en disco. 124 00:10:19,000 --> 00:10:21,000 O sea, desmaterializar. 125 00:10:21,000 --> 00:10:23,000 Lo que hago es esta cosa aquí. 126 00:10:25,000 --> 00:10:28,000 Me creo un File Output Stream a un fichero. 127 00:10:29,000 --> 00:10:31,000 Esto aquí se lo paso como parámetro. 128 00:10:31,000 --> 00:10:34,000 A un Object Output Stream. 129 00:10:34,000 --> 00:10:36,000 Y este es el que uso. 130 00:10:36,000 --> 00:10:38,000 Object Output Stream. 131 00:10:39,000 --> 00:10:41,000 Object Output Stream punto Write Object. 132 00:10:41,000 --> 00:10:43,000 Escribo un objeto. 133 00:10:43,000 --> 00:10:45,000 Del objeto serializable. 134 00:10:45,000 --> 00:10:47,000 Y luego lo cierro. 135 00:10:49,000 --> 00:10:51,000 Fijaos que antes. 136 00:10:51,000 --> 00:10:52,000 En los ejemplos de antes. 137 00:10:52,000 --> 00:10:54,000 Esta operación de aquí la he hecho antes. 138 00:10:55,000 --> 00:10:58,000 He hecho File Output Stream X. 139 00:10:58,000 --> 00:11:02,000 Es igual a New File Output Stream de fichero. 140 00:11:03,000 --> 00:11:05,000 O de la ruta o lo que sea. 141 00:11:05,000 --> 00:11:09,000 Y luego aquí le he puesto New Output Stream de X. 142 00:11:10,000 --> 00:11:12,000 Pero si yo esto no lo voy a usar. 143 00:11:12,000 --> 00:11:15,000 Si este objeto File Output Stream no lo voy a usar. 144 00:11:15,000 --> 00:11:18,000 Porque siempre voy a utilizar los métodos de Object Output Stream. 145 00:11:18,000 --> 00:11:20,000 Lo puedo crear directamente así. 146 00:11:28,000 --> 00:11:30,000 La parte de materialización. 147 00:11:30,000 --> 00:11:32,000 Del Input vale. 148 00:11:32,000 --> 00:11:34,000 Tengo el Object Input Stream. 149 00:11:34,000 --> 00:11:37,000 Que pilla un File Input Stream. 150 00:11:37,000 --> 00:11:39,000 Porque estoy leyendo de fichero. 151 00:11:39,000 --> 00:11:43,000 Si leyera de otras fuentes. 152 00:11:43,000 --> 00:11:45,000 A lo mejor aquí podría poner otra cosa. 153 00:11:50,000 --> 00:11:52,000 Esto lee un objeto. 154 00:11:52,000 --> 00:11:54,000 Y el objeto que lee es un Object. 155 00:11:54,000 --> 00:11:56,000 Luego yo debería este O. 156 00:11:56,000 --> 00:11:59,000 A lo mejor castearlo a un alumno. 157 00:11:59,000 --> 00:12:01,000 Entonces he leído a un alumno. 158 00:12:02,000 --> 00:12:04,000 While O no es nul. 159 00:12:04,000 --> 00:12:08,000 Pues lo proceso y sigo adelante. 160 00:12:08,000 --> 00:12:11,000 Si leo nul es que no he podido leer un objeto. 161 00:12:11,000 --> 00:12:15,000 Y por lo tanto probablemente he llegado al final del fichero. 162 00:12:20,000 --> 00:12:22,000 Object Input Stream. 163 00:12:22,000 --> 00:12:24,000 También se suele utilizar la serialización. 164 00:12:24,000 --> 00:12:26,000 Para transmitir objetos por una red. 165 00:12:26,000 --> 00:12:27,000 Por ejemplo. 166 00:12:27,000 --> 00:12:29,000 En ambos casos. 167 00:12:29,000 --> 00:12:31,000 Yo estoy en el formato de los objetos. 168 00:12:31,000 --> 00:12:33,000 Y objetos serializados. 169 00:12:37,000 --> 00:12:40,000 En programación de servicios y procesos. 170 00:12:40,000 --> 00:12:42,000 De segunda edad. 171 00:12:42,000 --> 00:12:44,000 Se vuelve a leer. 172 00:12:44,000 --> 00:12:47,000 Porque allí es donde se hacen dos procesos. 173 00:12:47,000 --> 00:12:49,000 Que se intercambian. 174 00:12:49,000 --> 00:12:51,000 Que se mandan información. 175 00:12:51,000 --> 00:12:53,000 En programación en red. 176 00:12:57,000 --> 00:12:58,000 En DAO. 177 00:12:58,000 --> 00:12:59,000 No lo sé. 178 00:12:59,000 --> 00:13:01,000 Lo siento que en DAO se me pega. 179 00:13:01,000 --> 00:13:02,000 No da clase en DAO. 180 00:13:02,000 --> 00:13:03,000 Entonces. 181 00:13:03,000 --> 00:13:05,000 Siempre me quedo cortito. 182 00:13:05,000 --> 00:13:06,000 ¿Vale? 183 00:13:06,000 --> 00:13:09,000 ¿Qué inconveniente tiene la serialización? 184 00:13:09,000 --> 00:13:11,000 Los objetos Object Output Stream. 185 00:13:11,000 --> 00:13:13,000 No funciona bien del todo. 186 00:13:13,000 --> 00:13:14,000 ¿Cuándo? 187 00:13:14,000 --> 00:13:15,000 ¿Vale? 188 00:13:15,000 --> 00:13:16,000 Hay condiciones. 189 00:13:16,000 --> 00:13:18,000 En las que si uso esto de aquí. 190 00:13:18,000 --> 00:13:20,000 Podría explotar. 191 00:13:20,000 --> 00:13:21,000 Primero. 192 00:13:21,000 --> 00:13:23,000 Intentamos reutilizar una misma referencia. 193 00:13:23,000 --> 00:13:25,000 Para serializar objetos diferentes. 194 00:13:27,000 --> 00:13:28,000 Tengo la. 195 00:13:28,000 --> 00:13:29,000 Objeto X. 196 00:13:29,000 --> 00:13:31,000 Es igual a mi objeto. 197 00:13:31,000 --> 00:13:32,000 Lo mando. 198 00:13:32,000 --> 00:13:33,000 Y luego digo. 199 00:13:33,000 --> 00:13:35,000 X es igual a otro objeto. 200 00:13:35,000 --> 00:13:37,000 Y lo vuelvo a mandar. 201 00:13:38,000 --> 00:13:39,000 ¿Vale? 202 00:13:39,000 --> 00:13:41,000 Estoy utilizando la misma referencia. 203 00:13:41,000 --> 00:13:42,000 Para objetos distintos. 204 00:13:42,000 --> 00:13:43,000 O. 205 00:13:43,000 --> 00:13:44,000 Tengo un objeto. 206 00:13:44,000 --> 00:13:45,000 Lo mando. 207 00:13:45,000 --> 00:13:46,000 Ahora digo. 208 00:13:46,000 --> 00:13:47,000 Modifico este objeto. 209 00:13:47,000 --> 00:13:49,000 Lo vuelvo a mandar otra vez. 210 00:13:49,000 --> 00:13:50,000 ¿Vale? 211 00:13:50,000 --> 00:13:51,000 Utilizando la misma referencia. 212 00:13:51,000 --> 00:13:52,000 Para. 213 00:13:52,000 --> 00:13:53,000 Para. 214 00:13:53,000 --> 00:13:54,000 Se lia. 215 00:13:54,000 --> 00:13:55,000 ¿Vale? 216 00:13:55,000 --> 00:13:57,000 Porque lo que intenta hacer. 217 00:13:57,000 --> 00:13:58,000 Objeto. 218 00:13:59,000 --> 00:14:00,000 Autostream. 219 00:14:00,000 --> 00:14:01,000 Objeto. 220 00:14:01,000 --> 00:14:02,000 Input stream. 221 00:14:02,000 --> 00:14:03,000 Es. 222 00:14:03,000 --> 00:14:04,000 Optimizar. 223 00:14:04,000 --> 00:14:05,000 En un cierto sentido. 224 00:14:05,000 --> 00:14:06,000 Y evitar. 225 00:14:06,000 --> 00:14:08,000 Que si tú me estás mandando muchas veces. 226 00:14:08,000 --> 00:14:09,000 El mismo objeto. 227 00:14:09,000 --> 00:14:11,000 Y yo te lo lea otra vez. 228 00:14:11,000 --> 00:14:12,000 Entonces. 229 00:14:12,000 --> 00:14:13,000 Al leerlo. 230 00:14:13,000 --> 00:14:14,000 Como que creo. 231 00:14:14,000 --> 00:14:15,000 Un. 232 00:14:15,000 --> 00:14:16,000 Índice. 233 00:14:16,000 --> 00:14:17,000 De los. 234 00:14:17,000 --> 00:14:18,000 Objetos que he recibido. 235 00:14:18,000 --> 00:14:20,000 Y los tengo allí guardado. 236 00:14:20,000 --> 00:14:22,000 Si tú me vuelves a mandar. 237 00:14:22,000 --> 00:14:23,000 Un objeto. 238 00:14:23,000 --> 00:14:24,000 Que tiene el mismo índice. 239 00:14:24,000 --> 00:14:26,000 De lo que yo ya he recibido. 240 00:14:26,000 --> 00:14:28,000 O seguro que tenga la misma referencia. 241 00:14:28,000 --> 00:14:29,000 Por lo tanto yo digo. 242 00:14:29,000 --> 00:14:30,000 Ah. 243 00:14:30,000 --> 00:14:31,000 Esto ya me lo has mandado. 244 00:14:31,000 --> 00:14:32,000 No lo vuelvo a leer. 245 00:14:32,000 --> 00:14:33,000 Y luego te lo doy. 246 00:14:33,000 --> 00:14:35,000 Sino que directamente te doy. 247 00:14:35,000 --> 00:14:37,000 El que me he guardado aquí. 248 00:14:37,000 --> 00:14:39,000 Porque ya lo tengo. 249 00:14:39,000 --> 00:14:40,000 Que. 250 00:14:40,000 --> 00:14:41,000 En. 251 00:14:41,000 --> 00:14:42,000 En determinados casos. 252 00:14:42,000 --> 00:14:43,000 En que. 253 00:14:43,000 --> 00:14:44,000 No necesito. 254 00:14:44,000 --> 00:14:45,000 Esta actualización. 255 00:14:45,000 --> 00:14:46,000 Pues puede estar bien. 256 00:14:46,000 --> 00:14:47,000 ¿Vale? 257 00:14:47,000 --> 00:14:48,000 Es una optimización. 258 00:14:48,000 --> 00:14:49,000 No tengo que volver a leer todo. 259 00:14:49,000 --> 00:14:50,000 Porque ya lo tengo. 260 00:14:50,000 --> 00:14:51,000 Sin embargo. 261 00:14:51,000 --> 00:14:52,000 En algunos casos. 262 00:14:52,000 --> 00:14:53,000 Puede crear. 263 00:14:53,000 --> 00:14:54,000 Caos. 264 00:14:56,000 --> 00:14:57,000 Si uso setters. 265 00:14:57,000 --> 00:14:58,000 Para un mismo objeto. 266 00:14:58,000 --> 00:14:59,000 Y luego lo tengo a mandar otra vez. 267 00:14:59,000 --> 00:15:00,000 Puede tener problemas. 268 00:15:01,000 --> 00:15:02,000 La cabecera. 269 00:15:02,000 --> 00:15:03,000 El fichero serializado. 270 00:15:03,000 --> 00:15:04,000 Se corrompen. 271 00:15:04,000 --> 00:15:05,000 Cuando intentamos. 272 00:15:05,000 --> 00:15:06,000 Añadir nuevos objetos. 273 00:15:06,000 --> 00:15:07,000 A un mismo fichero. 274 00:15:08,000 --> 00:15:09,000 O sea. 275 00:15:09,000 --> 00:15:10,000 Puede haber problemas. 276 00:15:10,000 --> 00:15:11,000 Si. 277 00:15:11,000 --> 00:15:12,000 Yo pillo objetos. 278 00:15:12,000 --> 00:15:13,000 Digo. 279 00:15:13,000 --> 00:15:14,000 Vale. 280 00:15:14,000 --> 00:15:15,000 Tengo un fichero. 281 00:15:15,000 --> 00:15:16,000 Lo abro. 282 00:15:16,000 --> 00:15:17,000 Empiezo a poner objetos. 283 00:15:17,000 --> 00:15:18,000 Empiezo a poner objetos. 284 00:15:18,000 --> 00:15:19,000 Vale. 285 00:15:19,000 --> 00:15:20,000 Perfecto. 286 00:15:20,000 --> 00:15:21,000 Te lo he puesto allí. 287 00:15:21,000 --> 00:15:22,000 Cierro el fichero. 288 00:15:22,000 --> 00:15:23,000 Y no hay más cosas. 289 00:15:23,000 --> 00:15:24,000 ¿Vale? 290 00:15:24,000 --> 00:15:25,000 Esto puede dar problemas. 291 00:15:26,000 --> 00:15:27,000 Como en un cierto sentido. 292 00:15:27,000 --> 00:15:28,000 Que una vez que he usado el fichero. 293 00:15:28,000 --> 00:15:29,000 Lo debería dar. 294 00:15:30,000 --> 00:15:31,000 Si quisiera. 295 00:15:31,000 --> 00:15:32,000 Volver a hacerlo. 296 00:15:32,000 --> 00:15:33,000 Debería. 297 00:15:33,000 --> 00:15:34,000 Volver a recopiar todo. 298 00:15:35,000 --> 00:15:36,000 Y luego añadirlo. 299 00:15:36,000 --> 00:15:37,000 En un fichero nuevo. 300 00:15:41,000 --> 00:15:42,000 Entonces. 301 00:15:42,000 --> 00:15:43,000 Tiene sus limitaciones. 302 00:15:44,000 --> 00:15:45,000 Es la razón. 303 00:15:45,000 --> 00:15:46,000 De porque hoy en día. 304 00:15:46,000 --> 00:15:47,000 Estos mecanismos de aquí. 305 00:15:48,000 --> 00:15:49,000 Si no es un programa. 306 00:15:49,000 --> 00:15:50,000 Muy sencillo. 307 00:15:50,000 --> 00:15:51,000 Pues no se pueden utilizar. 308 00:15:51,000 --> 00:15:52,000 En programas complejos. 309 00:15:52,000 --> 00:15:53,000 Donde hay. 310 00:15:53,000 --> 00:15:54,000 Mucho manejo de objetos. 311 00:15:55,000 --> 00:15:56,000 Que tienen que guardarse. 312 00:15:56,000 --> 00:15:57,000 Persistir. 313 00:15:57,000 --> 00:15:58,000 Y cosas por el estilo. 314 00:15:58,000 --> 00:15:59,000 Se tiende a utilizar. 315 00:16:01,000 --> 00:16:02,000 ORM. 316 00:16:02,000 --> 00:16:03,000 Más a base de datos. 317 00:16:03,000 --> 00:16:04,000 Que serían. 318 00:16:04,000 --> 00:16:05,000 Constantemente. 319 00:16:05,000 --> 00:16:06,000 Por ejemplo. 320 00:16:06,000 --> 00:16:07,000 Hibernate. 321 00:16:07,000 --> 00:16:08,000 O cosas por el estilo. 322 00:16:08,000 --> 00:16:09,000 ¿ORM qué es? 323 00:16:09,000 --> 00:16:10,000 Object model. 324 00:16:13,000 --> 00:16:14,000 Orma. 325 00:16:14,000 --> 00:16:15,000 Orma. 326 00:16:15,000 --> 00:16:16,000 Es para que un lado está. 327 00:16:17,000 --> 00:16:18,000 Que se yo. 328 00:16:18,000 --> 00:16:19,000 Que es un ORM. 329 00:16:19,000 --> 00:16:20,000 No me juegues. 330 00:16:20,000 --> 00:16:21,000 ¿Vale? 331 00:16:25,000 --> 00:16:26,000 No me juegues. 332 00:16:28,000 --> 00:16:29,000 Lo que quiero decir. 333 00:16:29,000 --> 00:16:30,000 Es. 334 00:16:31,000 --> 00:16:32,000 Mientras que los programas. 335 00:16:32,000 --> 00:16:33,000 Son sencillos. 336 00:16:33,000 --> 00:16:34,000 Guardarse en ficheros. 337 00:16:34,000 --> 00:16:35,000 Es lo mismo que hace siempre. 338 00:16:36,000 --> 00:16:37,000 ¿Para qué sirve una base de datos? 339 00:16:40,000 --> 00:16:41,000 Tú usas una base de datos. 340 00:16:42,000 --> 00:16:43,000 Para guardar. 341 00:16:44,000 --> 00:16:45,000 Los tres cómics. 342 00:16:46,000 --> 00:16:47,000 Que tienes en tu estantería. 343 00:16:47,000 --> 00:16:48,000 Por montón. 344 00:16:48,000 --> 00:16:49,000 Una base de datos. 345 00:16:49,000 --> 00:16:50,000 Venga. 346 00:16:50,000 --> 00:16:51,000 Con. 347 00:16:52,000 --> 00:16:53,000 Álgebra relacional. 348 00:16:53,000 --> 00:16:54,000 Dame un. 349 00:16:54,000 --> 00:16:55,000 Que se yo. 350 00:16:55,000 --> 00:16:56,000 Forma normal. 351 00:16:56,000 --> 00:16:57,000 De boys code. 352 00:16:57,000 --> 00:16:58,000 Venga. 353 00:16:58,000 --> 00:16:59,000 Para que sea así. 354 00:16:59,000 --> 00:17:00,000 Ahora pongo tres. 355 00:17:00,000 --> 00:17:01,000 No. 356 00:17:01,000 --> 00:17:02,000 La usas cuando. 357 00:17:02,000 --> 00:17:03,000 La base de datos. 358 00:17:03,000 --> 00:17:04,000 Es grande. 359 00:17:04,000 --> 00:17:05,000 Y. 360 00:17:05,000 --> 00:17:06,000 Y es un programa. 361 00:17:06,000 --> 00:17:07,000 Serio. 362 00:17:07,000 --> 00:17:08,000 Entonces. 363 00:17:08,000 --> 00:17:09,000 Empiezas a utilizar. 364 00:17:09,000 --> 00:17:10,000 Base de datos. 365 00:17:10,000 --> 00:17:11,000 Para poder. 366 00:17:11,000 --> 00:17:12,000 Acceder. 367 00:17:12,000 --> 00:17:13,000 A esos datos. 368 00:17:13,000 --> 00:17:14,000 Mucho más rápidamente. 369 00:17:14,000 --> 00:17:15,000 Y de forma indexa. 370 00:17:15,000 --> 00:17:16,000 ¿Vale? 371 00:17:16,000 --> 00:17:17,000 Mientras que los datos sean. 372 00:17:17,000 --> 00:17:18,000 Muy pocos. 373 00:17:18,000 --> 00:17:19,000 Pues a lo mejor. 374 00:17:19,000 --> 00:17:20,000 Montarse una base de datos. 375 00:17:20,000 --> 00:17:21,000 Es casi. 376 00:17:21,000 --> 00:17:22,000 No conviene. 377 00:17:23,000 --> 00:17:24,000 Más gasto de recursos. 378 00:17:24,000 --> 00:17:25,000 Que otra cosa. 379 00:17:25,000 --> 00:17:26,000 Pues aquí es lo mismo. 380 00:17:26,000 --> 00:17:28,000 Estas cosas que estamos viendo ahora. 381 00:17:28,000 --> 00:17:29,000 Para lo que hacemos nosotros. 382 00:17:29,000 --> 00:17:30,000 Sobra. 383 00:17:30,000 --> 00:17:31,000 ¿Vale? 384 00:17:31,000 --> 00:17:32,000 Si yo me pusiera. 385 00:17:32,000 --> 00:17:33,000 En una. 386 00:17:33,000 --> 00:17:34,000 Sistema. 387 00:17:34,000 --> 00:17:35,000 De. 388 00:17:35,000 --> 00:17:36,000 De. 389 00:17:36,000 --> 00:17:37,000 Sistema serio. 390 00:17:37,000 --> 00:17:38,000 Pues entonces. 391 00:17:38,000 --> 00:17:39,000 Estas son las cosas. 392 00:17:39,000 --> 00:17:40,000 Pero las cosas. 393 00:17:40,000 --> 00:17:41,000 Se relacionan. 394 00:17:41,000 --> 00:17:42,000 En segundo. 395 00:17:42,000 --> 00:17:43,000 ¿Dudas? 396 00:17:44,000 --> 00:17:45,000 Ahora. 397 00:17:45,000 --> 00:17:46,000 Luego. 398 00:17:46,000 --> 00:17:47,000 Probamos estas cosas. 399 00:17:47,000 --> 00:17:48,000 ¿Vale? 400 00:17:48,000 --> 00:17:49,000 Por aquí. 401 00:17:49,000 --> 00:17:50,000 Ahora vienen. 402 00:17:50,000 --> 00:17:51,000 Al final de esta experiencia. 403 00:17:51,000 --> 00:17:52,000 Que es la pasarela. 404 00:17:52,000 --> 00:17:53,000 Esta. 405 00:17:53,000 --> 00:17:54,000 PowerPoint. 406 00:17:54,000 --> 00:17:55,000 Una serie de. 407 00:17:55,000 --> 00:17:56,000 Ejemplos. 408 00:17:56,000 --> 00:17:57,000 De. 409 00:17:57,000 --> 00:17:58,000 Cómo se hace. 410 00:17:58,000 --> 00:17:59,000 Una cosa. 411 00:17:59,000 --> 00:18:00,000 U otra. 412 00:18:00,000 --> 00:18:01,000 En base a varios parámetros. 413 00:18:01,000 --> 00:18:02,000 Por ejemplo. 414 00:18:02,000 --> 00:18:03,000 Cómo se escribe. 415 00:18:03,000 --> 00:18:04,000 En un fichero de texto. 416 00:18:04,000 --> 00:18:05,000 Así. 417 00:18:06,000 --> 00:18:07,000 Cómo se lee. 418 00:18:07,000 --> 00:18:08,000 En un fichero de texto. 419 00:18:08,000 --> 00:18:09,000 Así. 420 00:18:10,000 --> 00:18:11,000 Cómo se lee. 421 00:18:11,000 --> 00:18:12,000 Un fichero. 422 00:18:12,000 --> 00:18:13,000 Cómo se escribe. 423 00:18:13,000 --> 00:18:14,000 Un fichero binario. 424 00:18:14,000 --> 00:18:15,000 Que ya lo hemos visto. 425 00:18:15,000 --> 00:18:16,000 Pero. 426 00:18:16,000 --> 00:18:17,000 Cómo se lee. 427 00:18:17,000 --> 00:18:18,000 De un fichero binario. 428 00:18:18,000 --> 00:18:19,000 Cómo. 429 00:18:19,000 --> 00:18:20,000 Escribo. 430 00:18:20,000 --> 00:18:21,000 Un fichero binario. 431 00:18:21,000 --> 00:18:22,000 Pero. 432 00:18:22,000 --> 00:18:23,000 Utilizando. 433 00:18:23,000 --> 00:18:24,000 Object. 434 00:18:24,000 --> 00:18:25,000 Output. 435 00:18:25,000 --> 00:18:26,000 Stream. 436 00:18:26,000 --> 00:18:27,000 O sea. 437 00:18:27,000 --> 00:18:28,000 Substancialmente. 438 00:18:28,000 --> 00:18:29,000 Con la serialización. 439 00:18:29,000 --> 00:18:30,000 Cómo leo. 440 00:18:30,000 --> 00:18:31,000 Objetos. 441 00:18:31,000 --> 00:18:32,000 Desde un fichero. 442 00:18:32,000 --> 00:18:33,000 Y. 443 00:18:33,000 --> 00:18:34,000 Cómo. 444 00:18:34,000 --> 00:18:35,000 Utilizo. 445 00:18:35,000 --> 00:18:36,000 Una. 446 00:18:36,000 --> 00:18:37,000 Clase. 447 00:18:37,000 --> 00:18:38,000 Serializable. 448 00:18:38,000 --> 00:18:39,000 Por ejemplo. 449 00:18:39,000 --> 00:18:40,000 Si yo quiero. 450 00:18:40,000 --> 00:18:41,000 Que personas. 451 00:18:41,000 --> 00:18:42,000 Serializable. 452 00:18:42,000 --> 00:18:43,000 Y. 453 00:18:43,000 --> 00:18:44,000 Esto que implica. 454 00:18:44,000 --> 00:18:45,000 Nada. 455 00:18:45,000 --> 00:18:46,000 Ya está. 456 00:18:46,000 --> 00:18:47,000 Esto. 457 00:18:47,000 --> 00:18:48,000 Importará. 458 00:18:48,000 --> 00:18:49,000 Algunas cosas. 459 00:18:49,000 --> 00:18:50,000 Ya. 460 00:18:50,000 --> 00:18:51,000 Hecha por defecto. 461 00:18:51,000 --> 00:18:52,000 Y. 462 00:18:52,000 --> 00:18:53,000 Ya. 463 00:18:53,000 --> 00:18:54,000 Esta es. 464 00:18:54,000 --> 00:18:55,000 Serializable. 465 00:18:55,000 --> 00:18:56,000 Tened en cuenta. 466 00:18:56,000 --> 00:18:57,000 Que si yo utilizo. 467 00:18:57,000 --> 00:18:58,000 Que esta es. 468 00:18:58,000 --> 00:18:59,000 Serializable. 469 00:18:59,000 --> 00:19:00,000 Todo lo que he utilizado aquí. 470 00:19:00,000 --> 00:19:01,000 Esto. 471 00:19:01,000 --> 00:19:02,000 Tiene que ser. 472 00:19:02,000 --> 00:19:03,000 Serializable. 473 00:19:03,000 --> 00:19:04,000 Si aquí utilizo. 474 00:19:04,000 --> 00:19:05,000 Un objeto. 475 00:19:05,000 --> 00:19:06,000 Que he creado yo. 476 00:19:06,000 --> 00:19:07,000 Que no le he puesto. 477 00:19:07,000 --> 00:19:08,000 Que es. 478 00:19:08,000 --> 00:19:09,000 Serializable. 479 00:19:09,000 --> 00:19:10,000 Le voy a dar un error. 480 00:19:11,000 --> 00:19:12,000 Y. 481 00:19:12,000 --> 00:19:13,000 Luego. 482 00:19:13,000 --> 00:19:14,000 Serializable en escritura. 483 00:19:14,000 --> 00:19:15,000 Serializable en lectura. 484 00:19:17,000 --> 00:19:18,000 ¿Dudas? 485 00:19:22,000 --> 00:19:23,000 Pues. 486 00:19:23,000 --> 00:19:24,000 Esto. 487 00:19:24,000 --> 00:19:25,000 Os lo pongo aquí. 488 00:19:25,000 --> 00:19:26,000 Para que tengáis ejemplos. 489 00:19:26,000 --> 00:19:27,000 Para que con toda calma. 490 00:19:27,000 --> 00:19:28,000 El mundo. 491 00:19:28,000 --> 00:19:29,000 Y. 492 00:19:29,000 --> 00:19:30,000 Planteando sobre. 493 00:19:30,000 --> 00:19:31,000 Vale. 494 00:19:31,000 --> 00:19:32,000 He entendido la teoría. 495 00:19:32,000 --> 00:19:33,000 De que es el file. 496 00:19:33,000 --> 00:19:34,000 El escribir. 497 00:19:34,000 --> 00:19:35,000 El leer. 498 00:19:35,000 --> 00:19:36,000 Y. 499 00:19:36,000 --> 00:19:37,000 Vale. 500 00:19:37,000 --> 00:19:38,000 Cómo se hace. 501 00:19:38,000 --> 00:19:39,000 Y. 502 00:19:39,000 --> 00:19:40,000 ¿Vale? 503 00:19:40,000 --> 00:19:41,000 La idea. 504 00:19:41,000 --> 00:19:42,000 Es que también. 505 00:19:42,000 --> 00:19:43,000 Vosotros. 506 00:19:43,000 --> 00:19:44,000 Esto. 507 00:19:44,000 --> 00:19:45,000 Lo apliquéis. 508 00:19:45,000 --> 00:19:46,000 ¿A qué? 509 00:19:46,000 --> 00:19:47,000 A lo que queráis. 510 00:19:47,000 --> 00:19:48,000 Todos los ejercicios. 511 00:19:48,000 --> 00:19:49,000 Que hemos hecho hasta ahora. 512 00:19:49,000 --> 00:19:50,000 Que creen objetos. 513 00:19:50,000 --> 00:19:51,000 Podéis. 514 00:19:51,000 --> 00:19:52,000 Repillarlo. 515 00:19:52,000 --> 00:19:53,000 Y decir. 516 00:19:53,000 --> 00:19:54,000 Y ahora. 517 00:19:54,000 --> 00:19:55,000 Lo que hago. 518 00:19:55,000 --> 00:19:56,000 Lo pongo. 519 00:19:56,000 --> 00:19:57,000 En un fichero. 520 00:19:57,000 --> 00:19:58,000 Y que. 521 00:19:58,000 --> 00:19:59,000 Cuando arranco el programa. 522 00:19:59,000 --> 00:20:00,000 Leé. 523 00:20:00,000 --> 00:20:01,000 Lo que he hecho. 524 00:20:01,000 --> 00:20:02,000 La vez anterior. 525 00:20:02,000 --> 00:20:03,000 Lo leé. 526 00:20:03,000 --> 00:20:04,000 Y me leé. 527 00:20:04,000 --> 00:20:05,000 Y lo pongo. 528 00:20:05,000 --> 00:20:06,000 ¿Vale? 529 00:20:06,000 --> 00:20:07,000 Todos los. 530 00:20:07,000 --> 00:20:08,000 De. 531 00:20:09,000 --> 00:20:10,000 De crear una lista. 532 00:20:10,000 --> 00:20:11,000 Todos los. 533 00:20:11,000 --> 00:20:12,000 De listas. 534 00:20:12,000 --> 00:20:13,000 Pues al final. 535 00:20:13,000 --> 00:20:14,000 Cuando yo tengo mi lista bien hecha. 536 00:20:14,000 --> 00:20:15,000 Que he añadido todo lo que quiera. 537 00:20:15,000 --> 00:20:16,000 Cuando acabo. 538 00:20:16,000 --> 00:20:17,000 Cuando. 539 00:20:17,000 --> 00:20:18,000 Antes de apagar. 540 00:20:18,000 --> 00:20:19,000 Tengo un comandito. 541 00:20:19,000 --> 00:20:20,000 Que si lo mando. 542 00:20:20,000 --> 00:20:21,000 Me guarda. 543 00:20:21,000 --> 00:20:22,000 Lo que he creado. 544 00:20:22,000 --> 00:20:23,000 En una. 545 00:20:23,000 --> 00:20:24,000 En un fichero. 546 00:20:24,000 --> 00:20:25,000 Y que cuando. 547 00:20:25,000 --> 00:20:26,000 Rearranco el. 548 00:20:26,000 --> 00:20:27,000 Sistema. 549 00:20:27,000 --> 00:20:28,000 Que está limpio. 550 00:20:28,000 --> 00:20:29,000 Que no tiene nada. 551 00:20:29,000 --> 00:20:30,000 En la lista. 552 00:20:30,000 --> 00:20:31,000 Tengo un comandino. 553 00:20:31,000 --> 00:20:32,000 Lo ad. 554 00:20:32,000 --> 00:20:33,000 Que le paso un fichero. 555 00:20:33,000 --> 00:20:34,000 Y me va a ese fichero. 556 00:20:34,000 --> 00:20:35,000 Me carga todos los datos. 557 00:20:35,000 --> 00:20:36,000 Y empiezo exactamente. 558 00:20:36,000 --> 00:20:37,000 Desde donde había dejado. 559 00:20:37,000 --> 00:20:38,000 O que lo haga en automático. 560 00:20:38,000 --> 00:20:39,000 Siempre lo guarda. 561 00:20:39,000 --> 00:20:40,000 En el fichero. 562 00:20:42,000 --> 00:20:43,000 Inicialización. 563 00:20:43,000 --> 00:20:44,000 Texte. 564 00:20:44,000 --> 00:20:46,000 Y que cuando yo le digo al final. 565 00:20:46,000 --> 00:20:47,000 End. 566 00:20:47,000 --> 00:20:48,000 Para apagar. 567 00:20:48,000 --> 00:20:49,000 Apagar el programa. 568 00:20:49,000 --> 00:20:50,000 Copia todo lo que tiene. 569 00:20:50,000 --> 00:20:51,000 Dentro de ese fichero. 570 00:20:51,000 --> 00:20:52,000 Y cuando arranca. 571 00:20:52,000 --> 00:20:53,000 La primera cosa. 572 00:20:53,000 --> 00:20:54,000 Va a ver. 573 00:20:54,000 --> 00:20:55,000 Si existe ese fichero. 574 00:20:55,000 --> 00:20:56,000 Y si existe. 575 00:20:56,000 --> 00:20:57,000 Este fichero. 576 00:20:57,000 --> 00:20:58,000 Me copia todo. 577 00:20:58,000 --> 00:20:59,000 Tanto en modalidad. 578 00:20:59,000 --> 00:21:00,000 De row. 579 00:21:00,000 --> 00:21:01,000 Guardando. 580 00:21:01,000 --> 00:21:02,000 Fichero. 581 00:21:02,000 --> 00:21:03,000 Datos. 582 00:21:03,000 --> 00:21:04,000 Como. 583 00:21:04,000 --> 00:21:05,000 Guardando los objetos. 584 00:21:05,000 --> 00:21:06,000 Como. 585 00:21:07,000 --> 00:21:08,000 Esta es una herramienta. 586 00:21:08,000 --> 00:21:09,000 No es una cosa que. 587 00:21:09,000 --> 00:21:10,000 Si no me lo dicen. 588 00:21:10,000 --> 00:21:11,000 No lo hago. 589 00:21:11,000 --> 00:21:12,000 Tenéis ahora la posibilidad. 590 00:21:12,000 --> 00:21:13,000 De cualquiera de vuestros programas. 591 00:21:13,000 --> 00:21:14,000 Darle continuidad. 592 00:21:14,000 --> 00:21:15,000 Entre una evolución. 593 00:21:15,000 --> 00:21:16,000 Y otra. 594 00:21:18,000 --> 00:21:19,000 De los últimos. 595 00:21:19,000 --> 00:21:20,000 Que hemos hecho. 596 00:21:20,000 --> 00:21:21,000 Como esto. 597 00:21:21,000 --> 00:21:22,000 Del hotel. 598 00:21:22,000 --> 00:21:23,000 De la escuela. 599 00:21:23,000 --> 00:21:24,000 Y no se. 600 00:21:24,000 --> 00:21:25,000 Si le he dado otro. 601 00:21:25,000 --> 00:21:26,000 Hay un tercero. 602 00:21:26,000 --> 00:21:27,000 Que ahora. 603 00:21:27,000 --> 00:21:28,000 Os paso. 604 00:21:28,000 --> 00:21:29,000 Pues eso. 605 00:21:29,000 --> 00:21:30,000 Allí. 606 00:21:30,000 --> 00:21:31,000 Pueden venir. 607 00:21:31,000 --> 00:21:32,000 Así. 608 00:21:32,000 --> 00:21:33,000 A los 800. 609 00:21:33,000 --> 00:21:34,000 Líneas de código. 610 00:21:34,000 --> 00:21:35,000 Le añadimos. 611 00:21:35,000 --> 00:21:36,000 ¿Vale? 612 00:21:36,000 --> 00:21:37,000 Cosa por este. 613 00:21:39,000 --> 00:21:40,000 Con calma. 614 00:21:40,000 --> 00:21:41,000 Probable. 615 00:21:41,000 --> 00:21:42,000 Yo tengo también. 616 00:21:42,000 --> 00:21:43,000 Una banda de estos. 617 00:21:43,000 --> 00:21:44,000 De cartilla. 618 00:21:44,000 --> 00:21:45,000 Que ahora os pongo a disposición. 619 00:21:45,000 --> 00:21:46,000 Para que empecéis. 620 00:21:46,000 --> 00:21:47,000 A hacer cosas pequeñitas. 621 00:21:47,000 --> 00:21:48,000 Y luego os repito. 622 00:21:48,000 --> 00:21:49,000 Esto. 623 00:21:49,000 --> 00:21:50,000 Prácticamente. 624 00:21:50,000 --> 00:21:51,000 El final. 625 00:21:51,000 --> 00:21:52,000 De la. 626 00:21:52,000 --> 00:21:53,000 De las cosas. 627 00:21:53,000 --> 00:21:54,000 Grandes. 628 00:21:54,000 --> 00:21:55,000 Que vemos este año. 629 00:21:55,000 --> 00:21:56,000 ¿Vale? 630 00:21:56,000 --> 00:21:57,000 Veremos. 631 00:21:57,000 --> 00:21:58,000 Si ponemos algo. 632 00:21:58,000 --> 00:21:59,000 De base de datos. 633 00:21:59,000 --> 00:22:00,000 O no. 634 00:22:00,000 --> 00:22:01,000 Pero el concepto. 635 00:22:01,000 --> 00:22:02,000 Es que. 636 00:22:02,000 --> 00:22:03,000 Ya. 637 00:22:03,000 --> 00:22:04,000 Con todo. 638 00:22:04,000 --> 00:22:05,000 Lo que hemos visto hasta ahora. 639 00:22:05,000 --> 00:22:06,000 Podéis hacer. 640 00:22:06,000 --> 00:22:07,000 Muchas cosas. 641 00:22:07,000 --> 00:22:08,000 ¿Vale? 642 00:22:08,000 --> 00:22:09,000 Podéis hacer. 643 00:22:09,000 --> 00:22:10,000 Muchos programas. 644 00:22:10,000 --> 00:22:11,000 Complejos. 645 00:22:11,000 --> 00:22:12,000 Cuanto vosotros queráis.