1 00:00:00,050 --> 00:00:14,779 grabación. Vale, entonces, buenas tardes. Hoy día 9 de mayo a las 16 y 23 estamos convocados 2 00:00:14,779 --> 00:00:20,620 a través de Jefatura del Departamento para la defensa del módulo profesional de proyecto 3 00:00:20,620 --> 00:00:25,980 de ciclo formativo de grado superior de TAU, de desarrollo de aplicaciones web. Te informo 4 00:00:25,980 --> 00:00:29,820 de que esta defensa está siendo grabada y que esta grabación se usará en el entorno 5 00:00:29,820 --> 00:00:33,899 cerrado de EducaMadrid con fines educativos y que solo estará a disposición de los profesores 6 00:00:33,899 --> 00:00:38,420 evaluadores en el aula virtual para llevar a cabo la evaluación y la calificación de 7 00:00:38,420 --> 00:00:43,520 la defensa del proyecto. En el aula virtual de proyectos habéis sido informados de los 8 00:00:43,520 --> 00:00:48,179 criterios y de la rúbrica de calificación y el orden de la presentación es el siguiente, 9 00:00:48,179 --> 00:00:54,399 15 minutos máximo para defender el proyecto y 15 minutos máximo para las preguntas por 10 00:00:54,399 --> 00:00:59,859 parte del tribunal. Dicho esto, tu tiempo de exposición comienza a partir de este momento. 11 00:01:00,399 --> 00:01:02,359 Que te salga muy bien y tengas mucha suerte. 12 00:01:02,359 --> 00:01:05,920 Nada pues 13 00:01:05,920 --> 00:01:08,500 quería presentar un poco lo que es 14 00:01:08,500 --> 00:01:10,400 la aplicación web que he hecho 15 00:01:10,400 --> 00:01:10,959 que es 16 00:01:10,959 --> 00:01:14,659 que es una aplicación online 17 00:01:14,659 --> 00:01:16,340 que es completamente 18 00:01:16,340 --> 00:01:18,079 pública, se puede acceder desde 19 00:01:18,079 --> 00:01:19,700 desde el mismo momento que 20 00:01:19,700 --> 00:01:22,200 presento estas diapositivas 21 00:01:22,200 --> 00:01:24,060 y bueno 22 00:01:24,060 --> 00:01:25,019 los puntos que voy a 23 00:01:25,019 --> 00:01:27,939 comentar son un poco 24 00:01:27,939 --> 00:01:29,099 la descripción del proyecto 25 00:01:29,099 --> 00:01:31,939 el uso del framework 26 00:01:31,939 --> 00:01:41,560 su implementación con NesJS, un poco el diseño que ha aplicado usando Framework Tailwind y luego 27 00:01:41,560 --> 00:01:48,359 en la parte final un poco el tema de test, he querido incluirlo también un poco y bueno 28 00:01:48,359 --> 00:01:57,250 conclusiones del desarrollo. La descripción del proyecto es bastante sencilla, yo quería hacer como 29 00:01:57,250 --> 00:02:06,530 una aplicación así para subir PDFs, donde cualquier persona a través de un formulario 30 00:02:06,530 --> 00:02:12,530 pudiera subir un documento, sobre todo un documento pequeño, y bueno, se podía subir 31 00:02:12,530 --> 00:02:19,830 de distintas temáticas, pueden ser asignaturas, tecnologías, lo he hecho sobre todo con tecnologías, 32 00:02:20,150 --> 00:02:26,610 es decir, puedes subir PDFs indicando que son de Javascript, de HTML, CSS, los puede 33 00:02:26,610 --> 00:02:30,069 a consultar a cualquier alumno. 34 00:02:30,069 --> 00:02:38,490 La idea es esa, que tú puedas tener como un tablón de documentos donde los usuarios 35 00:02:38,490 --> 00:02:44,069 suban los documentos que ellos consideren oportuno y que los puedan buscar mediante 36 00:02:44,069 --> 00:02:53,280 un pequeño buscador escribiendo un texto. 37 00:02:53,280 --> 00:03:07,780 Para hacerlo barrajeé distintas posibilidades y entre ellas vi que la que más se adecuaba era RIAD, que es una librería concretamente de Javascript. 38 00:03:09,000 --> 00:03:18,020 Me permitió un poco modularizar el desarrollo, hacer componentes, aunque en este proyecto no he hecho mucho, hice solamente el formulario. 39 00:03:18,020 --> 00:03:35,560 Y luego también me estuve pegando bastante con la gestión de estados, con hooks. Es decir, había componentes estáticos y otros dinámicos y en los dinámicos normalmente hay que usar estados para controlar cualquier variación que hay en el componente. 40 00:03:35,560 --> 00:03:46,439 ventajas de real sobre todo es que es bastante sencillo estuve trabajando con él unas semanas 41 00:03:46,439 --> 00:03:53,879 previas a empezar un proyecto es bastante popular y bueno puedes hacer componentes reutilizables 42 00:03:53,879 --> 00:04:09,139 no sé si voy a aprovechar y bueno comentar un poco la estructura de realidad he hecho algunos 43 00:04:09,139 --> 00:04:19,759 componentes, como es la formulario, la cabecera. Normalmente tengo también aquí las páginas. 44 00:04:22,199 --> 00:04:32,680 Bueno, si no, más adelante lo profundizaré un poco más en detalle. Pasamos luego a NesJS. 45 00:04:32,680 --> 00:04:38,180 Lógicamente, cuando haces la... Podría haber optado por hacer una página single page, 46 00:04:38,180 --> 00:04:46,620 que subiese todo directamente, pero quise probar con este framework que se adapta bastante bien a Riaz 47 00:04:46,620 --> 00:04:55,519 y me permite sobre todo desorrendarizar al lado del servidor, generar sitios estáticos o mejorar la velocidad de carga. 48 00:04:57,779 --> 00:05:04,620 Es como una capa por encima de Riaz que me permite trabajar eso con componentes tanto al lado del servidor como del cliente. 49 00:05:04,620 --> 00:05:33,079 Y bueno, tuve que investigar bastante, ver un poco las ventajas que tenía. Vi que, por ejemplo, usaba API, bueno, mejor lo digo en español, rutas API, que me permitían crear endpoints, por ejemplo, para subir, eliminar o visualizar todos los ficheros PDF, tenía que hacer declaraciones de rutas API. 50 00:05:33,079 --> 00:06:02,860 Sí, bueno, de todas formas, a ver, en SJS normalmente tiene una estructura basada en carpetas, es decir, había una estructura basada en SRC y otra en APP, es decir, las páginas normalmente tienen que tener una nomenclatura llamada page, 51 00:06:02,860 --> 00:06:20,860 Por ejemplo, la página de ver.plf también es una carpeta y su nombre es paste, es decir, en SJS tiene una serie de, una estructura de carpetas bien definida que si no la sigues a la jatabla, pues obviamente no funciona tu aplicación. 52 00:06:20,860 --> 00:06:42,100 De acuerdo, en tema de estilos tenía pensado usar Bootstrap, Bootstrap 5, pero al final para el tema de estilos decidí usar Tailwind. 53 00:06:42,100 --> 00:06:58,560 El Tailwind normalmente, la ventaja que tiene es que lo que hace es revisar los ficheros HTML, los componentes y en base a las clases que has definido, solo quedarte con esas clases. 54 00:06:58,560 --> 00:07:13,480 Es decir, si por ejemplo en el código, si entramos aquí en componentes y lo resueltamos en cabecera, todas estas clases vienen predefinidas por Tailwind. 55 00:07:13,480 --> 00:07:29,740 Y él lo que hace es, cuando generas la versión final de la aplicación, normalmente lo que hace es filtrar y quedarse exclusivamente con las que se necesita, sin tener que usar todo el CSS, como suele hacerse con Boost. 56 00:07:29,740 --> 00:07:36,899 Y bueno, es bastante más sencillo, te pegas menos porque las clases ya vienen predefinidas. 57 00:07:38,120 --> 00:07:43,740 Por ejemplo, aquí vienen la propiedad y el valor que aplican y es más organizado. 58 00:07:50,060 --> 00:07:58,660 Bueno, también puedes personalizarlo, hay bastantes temas con distintos colores, se puede hacer diseños más sencillos y más fáciles de escalar. 59 00:07:59,259 --> 00:08:01,939 Tiene bastantes opciones. 60 00:08:01,939 --> 00:08:34,519 Sí, el proyecto también es responsive, me pedió bastante para que fuera, se pudiera ver en distintos dispositivos, intenté hacer un diseño bastante sencillo, bastante simple, es verdad que a nivel visual no es muy, no tiene muchas cosas, pero bueno, es simplemente eso, es un tablón, todo blanco, un fondo negro, unos botones muy sencillos y nada, simplemente he hecho eso con Telweb. 61 00:08:34,659 --> 00:08:58,559 De acuerdo. El tema de test estuve empezando con Jest, luego vi que realmente se puede usar esta tecnología más actual que es VITES y bueno, lo que hice fue pequeños test unitarios. 62 00:08:58,559 --> 00:09:23,679 Es unitarios bastante sencillos. Al principio lo dejé bastante para el final, pero, por ejemplo, si los test unitarios en bits normalmente se declaran, hay un fichero con fracción donde lo que hace es buscar todos aquellos ficheros que terminen con esta nomenclatura, con un test, un stack, y los ejecuta. 63 00:09:23,679 --> 00:09:51,620 Por ejemplo, si venimos aquí a algún componente, por ejemplo, tengo, bueno, la carpeta de utilidades, tengo este, ¿no? Sí, tengo un test sencillo, por ejemplo, hizo un método para formatear fechas a través de un plugin del Visual Code, el ejecuto, y más o menos los valida al momento. 64 00:09:51,620 --> 00:09:57,000 Entonces, por ejemplo, esta que se encarga de comprobar que esta fecha se formatea bien. 65 00:09:57,700 --> 00:10:06,340 Si yo, por ejemplo, aquí cambio por un 8, lo vuelvo a lanzar, veremos que el test unitario es para allá. 66 00:10:07,919 --> 00:10:13,379 A ver, no he hecho muchas, pero he hecho básicas, es decir, algún método. 67 00:10:16,899 --> 00:10:22,779 Sí, ya está. Esto es un plugin que me permite ejecutarlas unas a otras. 68 00:10:23,059 --> 00:10:25,399 o prácticamente todas. 69 00:10:26,500 --> 00:10:30,639 Tengo agrupadas aquí, quiero recordar, por el método. 70 00:10:38,279 --> 00:10:42,200 El tema de las pruebas es importante porque te permite detectar errores 71 00:10:42,200 --> 00:10:46,360 que normalmente solo se ven cuando estás en producción. 72 00:10:47,419 --> 00:10:49,919 Me permite asegurar que todo funciona correctamente 73 00:10:49,919 --> 00:10:52,600 y me da un poco de valor al código a nivel de calidad. 74 00:10:59,159 --> 00:10:59,940 Implementación, bueno. 75 00:10:59,940 --> 00:11:04,080 he hecho, bueno, he validado 76 00:11:04,080 --> 00:11:06,480 componentes, es un poco 77 00:11:06,480 --> 00:11:07,779 lo mismo, es decir, he intentado 78 00:11:07,779 --> 00:11:09,419 prevenir errores 79 00:11:09,419 --> 00:11:12,179 intentar probar un poco 80 00:11:12,179 --> 00:11:14,120 bits como se pueden sacar 81 00:11:14,120 --> 00:11:14,700 partido de 82 00:11:14,700 --> 00:11:17,519 y bueno, eso es un poco 83 00:11:17,519 --> 00:11:19,899 el resumen 84 00:11:19,899 --> 00:11:22,259 vale, ahora 85 00:11:22,259 --> 00:11:23,679 un poco las conclusiones 86 00:11:23,679 --> 00:11:26,639 y ya un poco ya centrándome 87 00:11:26,639 --> 00:11:27,700 en lo que es 88 00:11:27,700 --> 00:11:31,940 un poco la aplicación 89 00:11:31,940 --> 00:11:33,700 lo que intento es eso, mejorar la calidad 90 00:11:33,700 --> 00:11:35,620 es decir, no intentar hacer un desarrollo 91 00:11:35,620 --> 00:11:36,779 muy desperdicado 92 00:11:36,779 --> 00:11:39,539 muy poco práctico 93 00:11:39,539 --> 00:11:41,019 que cualquier persona que lo pueda 94 00:11:41,019 --> 00:11:43,379 hacer un vistazo 95 00:11:43,379 --> 00:11:45,200 lo pueda 96 00:11:45,200 --> 00:11:47,879 usar o añadir 97 00:11:47,879 --> 00:11:48,820 nuevas funcionalidades 98 00:11:48,820 --> 00:11:51,720 intentar eso, hacer lo más óptimo posible 99 00:11:51,720 --> 00:11:53,360 y hacer una experiencia 100 00:11:53,360 --> 00:11:55,980 usuaria clara y que lo pueda 101 00:11:55,980 --> 00:12:03,740 entender con la mayor facilidad posible y bueno para ello voy a hacer una pequeña prueba 102 00:12:07,269 --> 00:12:13,009 esta es un poco la aplicación es decir tengo la página principal a última vez sí que es verdad 103 00:12:13,009 --> 00:12:21,110 que he puesto un login bueno esto es muy sencilla tú vienes a esta página a subir apuntes puedes 104 00:12:21,110 --> 00:12:29,669 Puedes poner un texto, a ver, lógicamente el usuario puede poner lo que sea, luego se 105 00:12:29,669 --> 00:12:34,470 podría ir a controlar, luego puedes elegir una temática de asignatura o tecnología 106 00:12:34,470 --> 00:12:45,710 y luego aquí puedes seleccionar un pdf, claro el tema es, le damos, se valida todos los 107 00:12:45,710 --> 00:12:49,090 campos, los tres campos y le damos a subir apunte. 108 00:12:49,090 --> 00:12:54,690 saldrá un mensaje de que se ha subido correctamente 109 00:12:54,690 --> 00:12:58,929 y cuando vayamos de nuevo a la pantalla principal 110 00:12:58,929 --> 00:13:03,590 le tendremos aquí para visualizar. 111 00:13:05,830 --> 00:13:07,190 Podemos descargarlo. 112 00:13:08,970 --> 00:13:11,129 Aquí sale una versión. 113 00:13:11,549 --> 00:13:15,190 Es verdad que es un poco raro porque estoy usando la URL 114 00:13:15,190 --> 00:13:19,250 que viene de la tecnología que estoy usando, Everfair Blow. 115 00:13:19,250 --> 00:13:27,169 pero también hay la opción de verlo directamente desde el sitio web 116 00:13:27,169 --> 00:13:28,990 que te abre directamente el PDF 117 00:13:28,990 --> 00:13:33,909 aquí lo que hago es pasarle la URL 118 00:13:33,909 --> 00:13:36,809 en esta página capturo esa URL 119 00:13:36,809 --> 00:13:40,230 y lo transformo a base 64 120 00:13:40,230 --> 00:13:41,629 que es la única forma 121 00:13:41,629 --> 00:13:45,710 con la que puede pintarlo 122 00:13:45,710 --> 00:13:56,710 Es decir, hay una librería llamada Riaz PDF que te permite, si haces la conversión a B64, de poder visualizarlo correctamente. 123 00:13:59,320 --> 00:14:03,860 Luego, otra cosa que hice a última hora era incluir un login. 124 00:14:03,860 --> 00:14:05,419 el login 125 00:14:05,419 --> 00:14:07,919 y funciona bien 126 00:14:07,919 --> 00:14:10,440 vale, ha funcionado 127 00:14:10,440 --> 00:14:11,039 bien porque 128 00:14:11,039 --> 00:14:15,860 puse una librería para 129 00:14:15,860 --> 00:14:18,139 loguearme 130 00:14:18,139 --> 00:14:20,240 usando la cuenta de GitHub 131 00:14:20,240 --> 00:14:22,139 yo, por ejemplo 132 00:14:22,139 --> 00:14:23,519 aquí tengo una cuenta de GitHub 133 00:14:23,519 --> 00:14:25,759 y como 134 00:14:25,759 --> 00:14:27,720 estoy logueado en la cuenta de GitHub 135 00:14:27,720 --> 00:14:29,080 directamente me ha 136 00:14:29,080 --> 00:14:30,720 logueado aquí 137 00:14:30,720 --> 00:14:32,440 y luego hay cosas 138 00:14:32,440 --> 00:14:35,659 que he querido meter ha sido un botón de eliminar 139 00:14:35,659 --> 00:14:38,200 si tienes permisos, es decir, si tú te logreas 140 00:14:38,200 --> 00:14:41,720 con GitHub, puedes eliminar algún contenido 141 00:14:41,720 --> 00:14:44,919 que no sea adecuado y darle a eliminar 142 00:14:44,919 --> 00:14:46,600 bueno, sale un pequeño 143 00:14:46,600 --> 00:14:50,120 warning que te advierte de que lo va a eliminar 144 00:14:50,120 --> 00:14:54,830 y te lo, a ver, lo he quitado 145 00:14:54,830 --> 00:14:57,289 sí, creo que ya no está 146 00:14:57,289 --> 00:14:59,909 el que usé de prueba ya no está 147 00:14:59,909 --> 00:15:01,730 sí, es un poco 148 00:15:01,730 --> 00:15:04,250 como un modo administrador 149 00:15:04,250 --> 00:15:07,210 le doy a cerrar sesión 150 00:15:07,210 --> 00:15:09,370 y directamente solo 151 00:15:09,370 --> 00:15:11,149 aparecen dos botones 152 00:15:11,149 --> 00:15:17,100 y no sé si luego aquí 153 00:15:17,100 --> 00:15:19,580 esto es un poco 154 00:15:19,580 --> 00:15:22,759 son las tricas, es decir, yo monté 155 00:15:23,679 --> 00:15:24,980 sitio web 156 00:15:24,980 --> 00:15:25,779 a través de Vercel 157 00:15:25,779 --> 00:15:28,460 que permite subir aplicaciones 158 00:15:28,460 --> 00:15:30,879 desarrolladas en SJS directamente 159 00:15:30,879 --> 00:15:43,000 que crea un dominio, un dominio según el despliegue, que muestra algunos datos así de acceso de la ciudad al sitio. 160 00:15:45,299 --> 00:15:56,340 Luego, varias cosas que son importantes es que aquí en la configuración del proyecto he tenido que declarar algunas variables. 161 00:15:56,340 --> 00:16:26,159 Por ejemplo, esta es la variable de entorno que me permite subir PDFs, luego tengo aquí credenciales para poder loguearme como usuario de GitHub y luego para los PDFs tuve que habilitar esta opción que viene dentro de Berserk que me permite subir archivos. 162 00:16:28,159 --> 00:16:38,820 También tuve que investigar bastante de cómo poder subir ficheros y bajarlos en su entorno. 163 00:16:39,720 --> 00:16:46,659 Y bueno, aquí tengo un histórico de cuándo se subieron, el tamaño y el tipo de fichero. 164 00:16:46,659 --> 00:16:56,860 Y luego, más o menos todo lo estuve trabajando en un repositorio de GitHub. 165 00:16:56,860 --> 00:17:00,639 estuve subiendo aquí los commits 166 00:17:00,639 --> 00:17:02,360 y cada vez que hace un commit 167 00:17:02,360 --> 00:17:04,920 normalmente te hace un despliegue 168 00:17:04,920 --> 00:17:06,960 aquí creo que 169 00:17:06,960 --> 00:17:09,380 aquí están todos los despliegues 170 00:17:09,380 --> 00:17:10,539 que el último creo que fue 171 00:17:10,539 --> 00:17:12,099 la semana pasada 172 00:17:12,099 --> 00:17:15,099 y bueno, también es cierto que si el código 173 00:17:15,099 --> 00:17:16,920 no está del todo bien, lógicamente 174 00:17:16,920 --> 00:17:17,599 no te deja 175 00:17:17,599 --> 00:17:19,920 no te deja subir 176 00:17:19,920 --> 00:17:25,980 bueno, eso es un poco 177 00:17:25,980 --> 00:17:26,460 la idea, ¿verdad? 178 00:17:26,460 --> 00:17:34,380 eso hacer un un poco un reto era no hacer una aplicación muy estática a ver cómo subir un 179 00:17:34,380 --> 00:17:43,279 fichero la gente lo utilizará y lo podrá consultar y bueno eso es un un poco todo no sé si 180 00:17:43,279 --> 00:17:45,119 más o menos 181 00:17:45,119 --> 00:17:47,759 Sí, me ha parecido que lo has cronometrado 182 00:17:47,759 --> 00:17:49,819 Claro, tengo la idea 183 00:17:49,819 --> 00:17:52,000 Muy bien 184 00:17:52,000 --> 00:17:53,480 Sí, sí, sí 185 00:17:53,480 --> 00:17:55,960 Vale, yo te quería 186 00:17:55,960 --> 00:17:58,019 hacer un par de preguntillas 187 00:17:58,019 --> 00:17:59,359 de cosas que has comentado 188 00:17:59,359 --> 00:18:01,740 el login este que has puesto 189 00:18:01,740 --> 00:18:03,619 que me parecía una, que te lo comenté 190 00:18:03,619 --> 00:18:05,759 porque me parecía una, si no llevaba mucho tiempo 191 00:18:05,759 --> 00:18:07,579 una posible mejora 192 00:18:07,579 --> 00:18:09,880 pero no he entendido muy bien lo que me has contado 193 00:18:09,880 --> 00:18:11,660 o sea, el login es como 194 00:18:11,660 --> 00:18:18,839 ¿O para logarse un administrador que pueda borrar o no es un logro de si yo quiero subir, tengo que logarme? 195 00:18:19,839 --> 00:18:30,259 Bueno, a ver cómo lo explico. Yo realmente lo único que... Yo lo que uso es esta librería en concreto y tiene varios proveedores. 196 00:18:30,259 --> 00:18:41,380 Es decir, ella por detrás, tú le indicas, por ejemplo, le tienes que indicar el proveedor que vas a usar. 197 00:18:41,380 --> 00:18:45,640 Tú puedes usar Google, GitHub, LinkedIn, hay un montón. 198 00:18:46,180 --> 00:18:55,019 Entonces, luego lo único que sí que te pide como requisito es que esos proveedores estén habilitados. 199 00:18:55,180 --> 00:19:00,299 Es decir, yo, por ejemplo, necesito una clave secreta y un identificador. 200 00:19:00,519 --> 00:19:06,019 Entonces, más que desarrollo, lo que tuve que investigar era un poco, a ver, 201 00:19:06,019 --> 00:19:11,099 tengo que investigar cómo habilitar 202 00:19:11,099 --> 00:19:13,339 la autenticación de esos proveedores 203 00:19:13,339 --> 00:19:14,880 por ejemplo en GitHub hay 204 00:19:14,880 --> 00:19:16,160 una URL 205 00:19:16,160 --> 00:19:18,539 de desarrolladores 206 00:19:18,539 --> 00:19:20,880 y bueno 207 00:19:20,880 --> 00:19:23,460 yo tengo, me creé dos aplicaciones 208 00:19:23,460 --> 00:19:25,000 una local y otra en producción 209 00:19:25,000 --> 00:19:27,140 y esto lo que hace 210 00:19:27,140 --> 00:19:29,279 es, por ejemplo 211 00:19:29,279 --> 00:19:30,559 a ver cómo lo explico 212 00:19:30,559 --> 00:19:32,700 vamos a entrar en la aplicación de producción 213 00:19:32,700 --> 00:19:34,779 y bueno 214 00:19:34,779 --> 00:20:01,720 Me genera, como he comentado antes, una idea y una clave secreta. Yo le digo que he hecho una aplicación y que esa aplicación tiene esta URL, es esta de aquí. Cuando yo pulso en el botón de Login, esta de aquí, no sé cómo explicarlo, no me he metido muy bien en las tipas. 215 00:20:01,720 --> 00:20:22,819 Hace una llamada, hace un callback, una llamada y me recupera, me da el visto bueno. Es decir, llama una API de autenticación y GitHub a través del IDE y la clave secreta le da el visto bueno y me devuelve la sesión con el usuario. 216 00:20:22,819 --> 00:20:28,740 Esa es un poco la... No sé si lo he explicado bien. 217 00:20:28,740 --> 00:20:36,859 Sí, sí, pero lo que me refería era, si yo ahora quiero subir un libro, yo no necesito logarme. Perdón, unos apuntes. Yo no necesito logarme. 218 00:20:36,859 --> 00:20:50,059 Sí, eso podría controlarlo, cierto. Podría controlar, por ejemplo, que este botón se visualizara en caso de que la sesión estuviese. Eso lo puedo cambiar, pero eso. 219 00:20:50,380 --> 00:20:52,460 No, no, no, no cambies nada. 220 00:20:52,460 --> 00:20:53,599 Ah, bueno, no. 221 00:20:54,200 --> 00:20:56,359 Está fenomenal, está fenomenal. 222 00:20:56,359 --> 00:21:07,059 ¿Qué te ha costado? Entiendo que has tenido que investigar muchas cosas porque la verdad es que has utilizado muchas tecnologías, entonces entiendo que tienes que investigar bastante. 223 00:21:07,059 --> 00:21:28,960 Claro, yo cuando empecé el curso en septiembre me dio por investigar un poco por mi cuenta y bueno, yo tampoco tenía claro cómo hacerlo y bueno, al principio no sabía cómo subirlo, tenía otras opciones además de esta. 224 00:21:28,960 --> 00:21:31,259 tenía pensado usar Amazon 225 00:21:31,259 --> 00:21:33,180 había Amazon Web Service, otras 226 00:21:33,180 --> 00:21:35,519 y lo que 227 00:21:35,519 --> 00:21:37,299 me ha dado es eso, el hecho de subir 228 00:21:37,299 --> 00:21:39,319 un simple ficherito 229 00:21:39,319 --> 00:21:41,079 y ahí 230 00:21:41,079 --> 00:21:43,079 perdona, ahí 231 00:21:43,079 --> 00:21:45,019 tienes un tope 232 00:21:45,019 --> 00:21:47,480 no he probado, cuando me lo 233 00:21:47,480 --> 00:21:49,359 mandaste lo podía haber probado pero se me ha ocurrido después 234 00:21:49,359 --> 00:21:51,319 y no lo he probado yo, ¿hay algún 235 00:21:51,319 --> 00:21:53,240 tope de tamaño? me refiero 236 00:21:53,240 --> 00:21:55,059 si yo intento subir un archivo 237 00:21:55,059 --> 00:21:57,299 que no es PDF, entiendo que me da error 238 00:21:57,299 --> 00:21:58,359 o que no me dejará, ¿no? 239 00:21:58,599 --> 00:21:59,460 ¿Eso lo controlas? 240 00:22:00,160 --> 00:22:01,460 Sí, me pasó una cosa. 241 00:22:02,059 --> 00:22:04,460 A ver, sí, creo que tengo... 242 00:22:04,460 --> 00:22:06,779 Sí, tengo una variable. 243 00:22:07,500 --> 00:22:08,579 Pero esta variable, 244 00:22:09,400 --> 00:22:10,500 bueno, esta constante que uso, 245 00:22:11,839 --> 00:22:14,400 lo controlo a través del propio formulario. 246 00:22:14,859 --> 00:22:15,599 Ah, vale, vale. 247 00:22:15,720 --> 00:22:16,740 O sea, lo tienes controlado, 248 00:22:16,799 --> 00:22:18,319 que si es más grande que X tamaño, 249 00:22:18,420 --> 00:22:19,059 no me deja subir. 250 00:22:19,319 --> 00:22:21,559 A ver, es que me pasó una cosa curiosa 251 00:22:21,559 --> 00:22:23,039 porque cuando empecé con ello, 252 00:22:23,339 --> 00:22:25,099 hay un límite, 253 00:22:25,099 --> 00:22:36,500 hay un límite establecido por la propia, bueno, me venía limitado a un mega. 254 00:22:38,500 --> 00:22:44,559 Cuando intenté aumentar el límite hay que hacerlo a través de esta propia, 255 00:22:45,779 --> 00:22:54,079 quería ponerla a 4 o 5 pero no pude, y bueno, también no pude, no lo subí mucho 256 00:22:54,079 --> 00:22:56,259 porque el problema 257 00:22:56,259 --> 00:22:58,220 de ver celeste es que 258 00:22:58,220 --> 00:22:59,599 tiene un tope 259 00:22:59,599 --> 00:23:02,220 entonces no sé por qué motivo lo capea 260 00:23:02,220 --> 00:23:04,140 un mega, si me pensaba 261 00:23:04,140 --> 00:23:05,700 de la cuota mensual que podía 262 00:23:05,700 --> 00:23:08,099 bueno, que es una tontería porque no creo que supere 263 00:23:08,099 --> 00:23:10,039 un giga 264 00:23:10,039 --> 00:23:11,259 de capacidad 265 00:23:11,259 --> 00:23:13,079 pero bueno, que en resumen 266 00:23:13,079 --> 00:23:15,740 que viene limitado a un mega 267 00:23:15,740 --> 00:23:17,579 pero que luego 268 00:23:17,579 --> 00:23:18,880 tú puedes subirlo 269 00:23:18,880 --> 00:23:21,900 Vale, pero tú tienes controlado 270 00:23:21,900 --> 00:23:23,160 eso me refiero, tienes controlado 271 00:23:23,160 --> 00:23:25,160 si yo intento subir algo que no sea 272 00:23:25,160 --> 00:23:26,920 un PDF porque te quiero meter un virus 273 00:23:26,920 --> 00:23:28,859 en tu plataforma 274 00:23:28,859 --> 00:23:30,259 tú eso lo controlas 275 00:23:30,259 --> 00:23:32,980 Sí, creo que también el campo 276 00:23:32,980 --> 00:23:34,960 de subida de ficheros está establecido 277 00:23:34,960 --> 00:23:36,579 para que eso sean PDFs 278 00:23:36,579 --> 00:23:38,019 Vale, vale, es que 279 00:23:38,019 --> 00:23:40,680 podría generar un problema gordo 280 00:23:40,680 --> 00:23:42,660 que tú permitas cualquier tipo de archivo 281 00:23:42,660 --> 00:23:45,140 porque te podrían meter ahí cualquier cosa 282 00:23:45,140 --> 00:23:46,779 Creo 283 00:23:46,779 --> 00:23:48,019 Claro, es que 284 00:23:48,019 --> 00:23:51,019 y luego además la visualización del PDF no funcionaría 285 00:23:51,019 --> 00:23:52,380 lógicamente, si tú subes 286 00:23:52,380 --> 00:23:55,240 otra cosa que no sea un PDF 287 00:23:55,240 --> 00:23:56,380 dejaría de funcionar 288 00:23:56,380 --> 00:23:59,400 no sé dónde lo tengo 289 00:23:59,400 --> 00:24:01,400 pero sé que 290 00:24:01,400 --> 00:24:02,200 tengo una regla 291 00:24:02,200 --> 00:24:06,720 a ver si no tardo mucho en encontrarlo 292 00:24:06,720 --> 00:24:09,400 sí, yo creo que 293 00:24:12,829 --> 00:24:15,730 si tenéis ahí puesto 294 00:24:15,730 --> 00:24:17,349 validar, no sé qué, el nombre PDF 295 00:24:17,349 --> 00:24:19,269 sí, validar fichero 296 00:24:19,269 --> 00:24:21,829 comprobo que el tipo es PDF 297 00:24:21,829 --> 00:24:23,970 que sea menos de 298 00:24:23,970 --> 00:24:26,730 húmeda, si no, no te dejas 299 00:24:26,730 --> 00:24:27,410 oírlo 300 00:24:27,410 --> 00:24:30,230 Vale, sí que le veo, la verdad es que 301 00:24:30,230 --> 00:24:32,529 aunque como tú dices es un entorno bastante 302 00:24:32,529 --> 00:24:34,650 sencillo, muchas veces las cosas 303 00:24:34,650 --> 00:24:36,569 sencillas son las más intuitivas 304 00:24:36,569 --> 00:24:38,609 porque cuando ponemos un mogollón de 305 00:24:38,609 --> 00:24:39,970 botones, de enlaces, no sé qué 306 00:24:39,970 --> 00:24:42,349 es como, espérate, ahora dónde tengo que dar 307 00:24:42,349 --> 00:24:44,670 o sea que tampoco me parece una mala 308 00:24:44,670 --> 00:24:46,289 idea que sea sencillo 309 00:24:46,289 --> 00:24:48,869 muchas veces menos o más 310 00:24:48,869 --> 00:24:50,750 me parece fenomenal 311 00:24:50,750 --> 00:24:52,529 también que hayas indagado 312 00:24:52,529 --> 00:24:54,289 y utilizado tantas, incluso 313 00:24:54,289 --> 00:24:56,509 como cuentas en la 314 00:24:56,509 --> 00:24:58,470 memoria que hayas comparado 315 00:24:58,470 --> 00:25:00,049 es bueno, voy a indagar por aquí 316 00:25:00,049 --> 00:25:02,069 si esto no me convence, voy a ver 317 00:25:02,069 --> 00:25:04,230 opciones, porque cuando explicas 318 00:25:04,230 --> 00:25:05,630 sí que explicas muy bien 319 00:25:05,630 --> 00:25:07,849 por qué has inventado una cosa y la otra 320 00:25:07,849 --> 00:25:09,609 Sí, yo 321 00:25:09,609 --> 00:25:11,609 lo que comentaba, yo 322 00:25:11,609 --> 00:25:14,549 parecía una cosa sencilla de subir ficheritos 323 00:25:14,549 --> 00:25:16,250 y vi con el tiempo que 324 00:25:16,250 --> 00:25:17,789 te empiezas a pegar 325 00:25:17,789 --> 00:25:20,809 y te empiezas a pegar 326 00:25:20,809 --> 00:25:22,190 y es una locura 327 00:25:22,190 --> 00:25:49,849 Claro, sí que es verdad que, aun siendo muy sencilla, por ejemplo, posibles mejoras que se me ocurrían, tipo lo del login, que parece igual una chorrada, dices, jolín, para añadir una tontería que es la funcionalidad del login, se me ocurrió también, y ya no te lo comenté porque digo, claro, es que si no me acuerdo, son comentarios de posibles mejoras de, pues, como cuando tú vas a algún sitio y valoras un restaurante que se pudiera valorar, a lo mejor que se pudieran poner estrellitas, 328 00:25:49,849 --> 00:25:56,390 que la gente dijera tutorial de javascript o éste tiene ocho estrellas y éste tiene dos sabes que 329 00:25:56,390 --> 00:26:02,210 queda está súper completo con el tiempo que tenéis la verdad es que está súper completo pero que lo 330 00:26:02,210 --> 00:26:08,170 que además es un proyecto que se puede que se pueden hacer muchas cosillas sobre él es como 331 00:26:08,170 --> 00:26:17,329 esto es un saco sin fondo todo lo que le quieras añadir muchas cosas me cuenta ayer bueno antes 332 00:26:17,329 --> 00:26:24,609 ayer que pudiera ver tengo un buscador por nombre pero también podía haber hecho tecnologías hacer 333 00:26:24,609 --> 00:26:34,390 como una búsqueda por categorías y algo así como categorías pero bueno está muy bien es que está 334 00:26:34,390 --> 00:26:41,750 bien eso significa decir cuando ves un proyecto y veis posibles mejoras lo que ves es un proyecto 335 00:26:41,750 --> 00:26:46,789 ampliable que no es lo mismo que ver fallos es que esto no funciona o es que esto así no puede ser 336 00:26:47,329 --> 00:26:49,730 Es diferente, con lo cual es fenomenal. 337 00:26:50,069 --> 00:26:59,250 Creo que no era cuestión de preguntarte cosas, sino un poco tu impresión de si, que entiendo que la respuesta es que sí, que si has aprendido mucho en el proyecto. 338 00:26:59,269 --> 00:27:02,029 Sí, la verdad es que yo te digo que sí, claro. 339 00:27:02,230 --> 00:27:06,390 Claro, es fenomenal, porque al final peleándote con las cosas es como aprendes. 340 00:27:06,390 --> 00:27:19,480 Y nada, las dudas que tenía era eso, si controlabas lo del tamaño y las posibles opciones, pero yo te digo que con el tiempo que tenéis para hacerlo me parece que está bastante bien. 341 00:27:19,660 --> 00:27:27,460 Así que por mi parte voy a finalizar la grabación un momentito y te comento.