Greach 2013

[Taller] Desarrollo de aplicaciones Web con Grails 2

Fernando Redondo  · 

Presentación

Vídeo

Transcripción

Extracto de la transcripción automática del vídeo realizada por YouTube.

vamos a ir con los tes haciendo lo que necesitemos en ese sentido pues vamos a ir todo el código nosotros lo tenéis ahí en el fichero pasos txt no vamos a usar nada scaffold in por nuestra trata de tocar el código de tal no sé que apagarlo sino que si algo

tiene de bueno este taller aparte del horario pues es es que que vamos a ver todo lo que esté implicado en nuestra mini aplicación lo vamos a hacer nosotros mal y no vamos a tal mal entonces bueno ya está esto ya lo teníamos al llegar vale entonces imagino

que ya estáis todos en el gts esté metido y empezamos a hacer una aplicación vale esto ya fijaros como el primer paso vamos a ir paso tarea pasa tarea lo vamos a ir haciendo juntos lo que es dicho me hace el mandato el grande app pues un poco ritmo pero si

es un mandato de código y como estamos en el paso 2 todos en el paso 17 todo si alguien no lo ve no legó compilan o no sé qué pues tira su código y copiar del paso pertinente y ya está porque sí no no somos muchos pero si miro los errores de todos estamos

diez pasos si no miro los errores aunque si alguien es un error gravísimo me avisa vale pues si no miro los errores o no vamos mirando los errores y no vamos avanzando todos pues podemos cubrir la aplicación y obtener el objetivo de hacer la panorámica de

cubrir todo el proceso con grupo con grace he intentado hacer las cosas muy sencillas aunque imagino que en algunos momentos se me habrá ido la pinza pero bueno ya está esta ayer no es el momento para eso ye y es total o es total yo voy a intentar no sólo

copiar sino escribir el código sin hablar sino ir diciendo las cosas porque las he hecho de cada manera lo que no a lo mejor al final proponemos un debatido pero no corte y de preguntar debatir no porque si no no no no avanzamos vale venga después de esto

pues abrimos la herramienta de desarrollo cogemos un well space creamos una nueva aplicación y yo ya me siento aquí se oye ahora sí verdad bueno entonces qué vas a hacer un nuevo proyecto grace le llamamos parejas esto veis el tema de directo pues que dice

que no hay una jota de acá no sé si os ha pasado alguno también esto porque cambia de color space beige bueno no pasa nada en mi caso no se ha ejecutado el mandato y eso es esto no forma parte del taller esto forma parte de que nunca te puedes proteger de

todo en mi caso pues quito la jota resta no sé si os ha pasado a vosotros y es que grace hay que ejecutarlo con un jd acá vale entonces bueno si tenéis por ahí algún jdk esta parte es un poco fea a ver program files jd k ok bueno yo me estoy metiendo no sé

si alguno le está saliendo este problema también yo meto en el eclipse otro j&j de acá al jota rey le digo adiós y se supone que ya está idea de project parejas que es el mismo mandato que decir createapepper parejas vale ahora ya no hay problema bueno

la primera en la frente como no podía ser menos bueno estamos creando una aplicación bueno pues ya tampoco voy a ir haciendo cada cosa cuestionándolo con todo lo que se ha dicho en el taller no nosotros vamos a hacer una aplicación monolítica aplicaciones

modulares hay aplicación distintos tipos de aplicaciones nosotros la aplicación por defecto de drive vale está posiblemente sea una de las operaciones un poquito más costosas porque hay que crear toda la infraestructura del proyecto pero enseguida está con

esa no puedes hacer nada vale bueno ya tenemos toda la infraestructura del molde del proyecto y entonces bueno nosotros vamos a ir siguiendo un poco la arquitectura en capas no entonces una vez que queremos que hemos creado la infraestuctura del proyecto porque

vamos a crear una sola clase de dominio podríamos hacer relaciones no sé que no sé cuántos pero hay muchos tutoriales de gaulle nosotros queremos ver la panorámica entera entonces vamos a crear una clase de dominio vamos a llamar parejas personas esto simplemente

o usando el mandato yo para los que trabajen con un mandato pues también lo tengo aquí no o pendrives como broma no en el proyecto y me lo pongo donde no me moleste pues por aquí abajo vale y le digo pin quédate aquí clavado vale esto entonces el mandato que

teníamos ahí de crearte toma en clase se puede teclear ahí tenemos asistencia no con control barra espaciadora o si no directamente pues el gts nos ponemos sobre el paquete dominio y decir sobre sobre los componentes de dominio y creamos una doma en clase

es una tontería le ponemos parejas personas bella dejas personas le damos intro así que ajustaré un poquillo el tipo de letra no quiero cambiar la resolución que hace falta ajustamos un poco el tipo de letra y ya está fijaros que al crear creando un test unitario

implícitamente automáticamente luego trabajaremos con el vale esta es nuestra clase personas qué hago yo pues poner los números de línea por si tengo que decir algo esto podéis o no podés hacerlo y cambio el tipo de letra porque yo estoy por eso no tengo pareja

no estoy un poco de gato y no me gustaba ponerme gaza así lo ve bien quizás uno menos esperar un segundo bien no vale ese es el armazón de nuestra clase de dominio vale que hola buenos días qué vamos a hacer por meter las propiedades que necesitamos para este

ejemplo vamos a necesitar cinco propiedades vamos a meter también alguna alguna restricción para luego probar las validaciones vamos a meter una personalización de los mapeos esta parte como si no le metemos y vamos a meter dos dos constantes para para que

nos dé la clase así tan triste y tan sola y se acabó venga lo hacemos vosotros podéis copiar el código del paso 3 directamente en la clase de dominio vale entonces dicho y hecho ponemos estoy un hombre copiar y pegar está bien pero te pierdes cómo te ayuda

el editor cómo sacar las cosas que cuando te presenta un taller conoce tu y de no te dicen no me da igual que esté que el que sea conoce uno no vale integridad flor de altura hombre los servicios de búsqueda de pareja son mucho más complicados que estos nosotros

lo vamos a hacer totalmente biométrico no por edad por altura y por sexo y luego decidiremos si hacemos un servicio heterosexual u homosexual depende de quién lo contraté esto no pero bueno carácter sexo control barra espaciadora todo el rato no carácter sexo

y luego al final necesitamos este avatar para poner algo bonito y que parezca la aplicación web que hace algo pero el avatar hasta el último paso el penúltimo ni lo vamos a utilizar vale vamos a poner ya tenemos entonces las propiedades de la clase de dominio

vamos a hacer las restricciones veis nombre en este caso el plan falso lo había puesto bien que no puede ser blanco me da igual poner paréntesis que no ponerlos y la mínima longitud les 2 puntos le vamos a poner perdón es un 6 un rango de 2 a 18 caracteres

para el nombre 15 porque le pongáis vale la edad vale también le ponemos un rango por temas legales no vamos a dejar entrar ese es otro servicio no el de pederastia pero si no lo vamos a trabajar aquí y la altura pues le ponemos que un mínimo de 0 0 ya tenemos

nuestras restricciones fijaros bueno súper rápido ponemos no haría falta dejar él hacer nada más el principio esto es un agro billings aparte de todo y tiene el objeto en los 7 de estos 3 y muchas cosas más no es una clase de dominio no luego toda la parte

de gol con lo cual ya para hacer repetir siempre lo mismo lo hace el frame por nosotros entonces vamos a poner dos constantes para ver que no se nos puede quitar el miedo los turistas dirán que esto sería una enumeración yo también lo diría pero no quería

hacer más cosas carácter hombre simplemente por no estar llenando de números mágicos o de constantes mágicas en este sentido la aplicación esto es el hombre y esta es la mujer y si queréis la parte de los mapeos se acabó simplemente decimos mapping veis en

este caso líder nos ayuda un poquillo y redefinimos lo que serían los mapeo de bernat a nuestra medida que no nos gusta que la tabla se llame como la clase es persona pues le ponemos table candidatos porque nosotros lo que vamos a almacenar son todos los candidatos

que tenemos para vender nuestro negocio casi la trata de hombres y mujeres de datos los puntos hay de candidatos bueno se acabó hemos hecho la clase los que le han copiado pues han podido disfrutar de todo el camino y los que no van haciendo ejercicios con

los dedos para artritis por temas veis ya tenemos ahí nuestra clase de dominio y el siguiente paso bueno yo por manías como voy haciendo test y de unitarios de integración podía refactorización aunque en la carpeta ya está si no a uno de los dos los tendría

que cambiar el nombre pero bueno yo los pongo luego para los resultados como salen en la página web pues ref actor hizo con efe 2 o cambió el nombre del test unitario y si no por no pasa nada vale con lo cual voy a ver voy a hacer dos cosas cambio primero

de todo el nombre de la clase persona test que me ha generado automáticamente grace lo pongo persona yunís test y luego codificó ese test que seguramente un test pues mínimamente unitario que solamente estamos probando la parte de validaciones ya sabéis que

cuando se hace un test unitario no se carga toda la infraestructura del framework grace para probar gol para probar ciertas cosas pues hay que ya hacer un test de integración luego lo vamos a hacer entonces bueno vamos a estamos en el paso 4 vale nosotros

venimos aquí en nuestro test unitario súper importante lo que hacíamos antes de poner para poner paquetes a las cosas de ese punto ya una conferencia como éste ni se nombra personas de un factor izamos a veces chilla pues que chileno también es otra opción

sexual no si hubiéramos hecho vale y bueno pues tenemos ahí que este es un test unitario para persona y vale pues nada vamos a jugar un poco con las validaciones y validaciones que se pueden probar a nivel de dominio vale no hace falta y decir oye que tenemos

que dar la persona tenemos que es porque lo hace por nosotros automáticamente no es nuestro nuevo grados y bueno si necesitáramos más colaboradores y yo tendríamos que moverlos eso vendrá luego ya que ahora de momento un test unitario solamente vamos a probar

pues lo que pone ahí a las validaciones de la instancia no de la clase persona nueva persona se nos ha creado un constructor que recibe los parámetros pues en un mapa no el burro delante que no se espante por fernando el que pongáis ahí los nombres da igual

yo si fuera a hacer esto de verdad ya ganarme la vida montando un servicio de búsqueda parejas que orientaría a la tercera edad que dónde está el futuro en los próximos los próximos años donde los grandes oportunidades de negocio va a ser el sector servicios

de la tercera edad pues ahí es donde donde me enfocaría vale me da igual vamos a poner el 79 creo que algún dato puede estar mal pero bueno pongo mi edad son 79 años casi 40 más casi 40 a la altura dos puntos 1.79 efe el sexo dos puntos personas punto hombre

ahí está esta es nuestra nuestra persona y entonces queremos ver si es válida o no es válida pues simplemente validar la sre persona punto válida te veis este método no lo hemos hecho nosotros no lo está haciendo el framework para nuestra comunidad justo calidad

que se llama antes de guardar cuando hagamos pruebas de integración se llama una persona tiene que cumplir todas sus restricciones no entonces nosotros ahora mismo no podemos guardar porque estamos haciendo un test unitarios no tenemos el componente de la

base de datos pero sí podemos validar si esto se guardarían el paso previo vale si tuviéramos otra instancia o hacer copy-paste copypaste otra persona y la ponemos pues todo mal si tenía que tener tres caracteres le pongo uno si la edad tenía que ser mayor

que 18 y le pongo la altura negativa pues evidentemente lo que espero es que esta persona no esté en estado válido previo a guardarse la base a torno otra persona punto realidad porque esto sea falso no como espero que sea falso del aserto lo tengo que invertir

la lógica vale y además espero que me dé tres errores de validación no otra persona punto perros pero con bueno en grey's 2 los asertos típicos de j you need a veces funcionan a veces dan alguna sorpresa pero bueno esperamos que sean tres campos no y por

[ ... ]

Nota: se han omitido las otras 6.048 palabras de la transcripción completa para cumplir con las normas de «uso razonable» de YouTube.