Your SlideShare is downloading. ×
0
Groovy programadores Java - Codemotion 2012
Groovy programadores Java - Codemotion 2012
Groovy programadores Java - Codemotion 2012
Groovy programadores Java - Codemotion 2012
Groovy programadores Java - Codemotion 2012
Groovy programadores Java - Codemotion 2012
Groovy programadores Java - Codemotion 2012
Groovy programadores Java - Codemotion 2012
Groovy programadores Java - Codemotion 2012
Groovy programadores Java - Codemotion 2012
Groovy programadores Java - Codemotion 2012
Groovy programadores Java - Codemotion 2012
Groovy programadores Java - Codemotion 2012
Groovy programadores Java - Codemotion 2012
Groovy programadores Java - Codemotion 2012
Groovy programadores Java - Codemotion 2012
Groovy programadores Java - Codemotion 2012
Groovy programadores Java - Codemotion 2012
Groovy programadores Java - Codemotion 2012
Groovy programadores Java - Codemotion 2012
Groovy programadores Java - Codemotion 2012
Groovy programadores Java - Codemotion 2012
Groovy programadores Java - Codemotion 2012
Groovy programadores Java - Codemotion 2012
Groovy programadores Java - Codemotion 2012
Groovy programadores Java - Codemotion 2012
Groovy programadores Java - Codemotion 2012
Groovy programadores Java - Codemotion 2012
Groovy programadores Java - Codemotion 2012
Groovy programadores Java - Codemotion 2012
Groovy programadores Java - Codemotion 2012
Groovy programadores Java - Codemotion 2012
Groovy programadores Java - Codemotion 2012
Groovy programadores Java - Codemotion 2012
Groovy programadores Java - Codemotion 2012
Groovy programadores Java - Codemotion 2012
Groovy programadores Java - Codemotion 2012
Groovy programadores Java - Codemotion 2012
Groovy programadores Java - Codemotion 2012
Groovy programadores Java - Codemotion 2012
Groovy programadores Java - Codemotion 2012
Groovy programadores Java - Codemotion 2012
Groovy programadores Java - Codemotion 2012
Groovy programadores Java - Codemotion 2012
Groovy programadores Java - Codemotion 2012
Groovy programadores Java - Codemotion 2012
Groovy programadores Java - Codemotion 2012
Groovy programadores Java - Codemotion 2012
Groovy programadores Java - Codemotion 2012
Groovy programadores Java - Codemotion 2012
Groovy programadores Java - Codemotion 2012
Groovy programadores Java - Codemotion 2012
Groovy programadores Java - Codemotion 2012
Groovy programadores Java - Codemotion 2012
Groovy programadores Java - Codemotion 2012
Groovy programadores Java - Codemotion 2012
Groovy programadores Java - Codemotion 2012
Groovy programadores Java - Codemotion 2012
Groovy programadores Java - Codemotion 2012
Groovy programadores Java - Codemotion 2012
Groovy programadores Java - Codemotion 2012
Groovy programadores Java - Codemotion 2012
Groovy programadores Java - Codemotion 2012
Groovy programadores Java - Codemotion 2012
Groovy programadores Java - Codemotion 2012
Groovy programadores Java - Codemotion 2012
Groovy programadores Java - Codemotion 2012
Groovy programadores Java - Codemotion 2012
Groovy programadores Java - Codemotion 2012
Groovy programadores Java - Codemotion 2012
Groovy programadores Java - Codemotion 2012
Groovy programadores Java - Codemotion 2012
Groovy programadores Java - Codemotion 2012
Groovy programadores Java - Codemotion 2012
Groovy programadores Java - Codemotion 2012
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Groovy programadores Java - Codemotion 2012

1,573

Published on

Slides de la presentación realizada en el Codemotion Madrid, el 24 de Marzo de 2012

Slides de la presentación realizada en el Codemotion Madrid, el 24 de Marzo de 2012

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,573
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
49
Comments
0
Likes
3
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  1. Groovy para programadores JavaAlberto Vilches http://albertovilches.com Twitter: @albertovilches
  2. Sobre miResponsable desarrollo Java/Grails enFundador del eventoEvangelizador Groovy y Grailshttp://albertovilches.comTwitter: @albertovilches Alberto Vilches @albertovilches – Grupo de usuarios de Groovy de Madrid
  3. agendaAntes de empezarQué es GroovyGroovy ConsoleTesting con GroovyCompilandorConfig SlurperAlgunas cosas más Alberto Vilches @albertovilches – Grupo de usuarios de Groovy de Madrid
  4. Antes de empezarGROOVY != GRAILS Alberto Vilches @albertovilches – Grupo de usuarios de Groovy de Madrid
  5. ¿Qué diferencia hay?Groovy -> LenguajeGrails -> Plataforma desarrollo Web Alberto Vilches @albertovilches – Grupo de usuarios de Groovy de Madrid
  6. ¿Qué diferencia hay?Groovy -> Lenguaje Compilador y GDK groovy-1.8.x.jarGrails -> Plataforma desarrollo Web Groovy + Spring + Hibernate + Sitemesh + DBCP + Apache commons + Log4J + Junit + Ant + Alberto Vilches @albertovilches – Grupo de usuarios de Groovy de Madrid
  7. Antes de empezar Alberto Vilches @albertovilches – Grupo de usuarios de Groovy de Madrid
  8. Antes de empezar Java app JPA Alberto Vilches @albertovilches – Grupo de usuarios de Groovy de Madrid
  9. Antes de empezar Java app JPA Alberto Vilches @albertovilches – Grupo de usuarios de Groovy de Madrid
  10. Antes de empezar¡No necesito Grails para usar Groovydesde mi aplicación Java! Alberto Vilches @albertovilches – Grupo de usuarios de Groovy de Madrid
  11. ¿Qué es Groovy?Groovy es Java.DinámicoInspirado en Ruby, Python y SmalltalkOOP puroClosures, Gstrings, Builders, DSL Alberto Vilches @albertovilches – Grupo de usuarios de Groovy de Madrid
  12. ¿Qué es Groovy?Groovy es Java.DinámicoInspirado en Ruby, Python y SmalltalkOOP puroClosures, Gstrings, Builders, DSLNo compile type-checkingLigeramente más lento que Java Alberto Vilches @albertovilches – Grupo de usuarios de Groovy de Madrid
  13. Lenguaje groovyPunto y coma opcionalesClases y métodos public por defecto Alberto Vilches @albertovilches – Grupo de usuarios de Groovy de Madrid
  14. Lenguaje groovyPunto y coma opcionalesClases y métodos public por defectoGetters y setters automáticosTipado opcional: def Alberto Vilches @albertovilches – Grupo de usuarios de Groovy de Madrid
  15. Lenguaje groovyPunto y coma opcionalesClases y métodos public por defectoGetters y setters automáticosTipado opcional: defInterpolación de cadenas: “hola $foo”Sintaxis nativa para colecciones: [] y [:] list << valueSobrecarga de operadores if (saludo == “hola”) Alberto Vilches @albertovilches – Grupo de usuarios de Groovy de Madrid
  16. Sintaxis nativa Colecciones Alberto Vilches @albertovilches – Grupo de usuarios de Groovy de Madrid
  17. gdk Alberto Vilches @albertovilches – Grupo de usuarios de Groovy de Madrid
  18. gdk Alberto Vilches @albertovilches – Grupo de usuarios de Groovy de Madrid
  19. xmla Alberto Vilches @albertovilches – Grupo de usuarios de Groovy de Madrid
  20. Groovy Console Alberto Vilches @albertovilches – Grupo de usuarios de Groovy de Madrid
  21. Groovy consolehttp://groovyconsole.appspot.com groovyConsole App Alberto Vilches @albertovilches – Grupo de usuarios de Groovy de Madrid
  22. Testing Alberto Vilches @albertovilches – Grupo de usuarios de Groovy de Madrid
  23. Testing con groovyPower AssertsGroovyTestCaseMocking Closure as OnlyOneMethodInterface Map as Interface Expando MOP mockFor / stubFor Alberto Vilches @albertovilches – Grupo de usuarios de Groovy de Madrid
  24. GROOVY power asserts Alberto Vilches @albertovilches – Grupo de usuarios de Groovy de Madrid
  25. GROOVY power asserts Alberto Vilches @albertovilches – Grupo de usuarios de Groovy de Madrid
  26. GROOVY power asserts Alberto Vilches @albertovilches – Grupo de usuarios de Groovy de Madrid
  27. Groovy test caseAñade nuevos assert*Y algunos métodos como shouldFail o notImplementedYetNombres de métodos largos Alberto Vilches @albertovilches – Grupo de usuarios de Groovy de Madrid
  28. Groovy test caseAñade nuevos assert*Y algunos métodos como shouldFail o notImplementedYetNombres de métodos largos Alberto Vilches @albertovilches – Grupo de usuarios de Groovy de Madrid
  29. Mocking con groovyClosure as OnlyMethodInterface Alberto Vilches @albertovilches – Grupo de usuarios de Groovy de Madrid
  30. Mocking con groovyMap as Interface Alberto Vilches @albertovilches – Grupo de usuarios de Groovy de Madrid
  31. Mocking con groovyMOP: Meta Object Protocol Alberto Vilches @albertovilches – Grupo de usuarios de Groovy de Madrid
  32. Mocking con groovy Expando Alberto Vilches @albertovilches – Grupo de usuarios de Groovy de Madrid
  33. Mocking con groovya Alberto Vilches @albertovilches – Grupo de usuarios de Groovy de Madrid
  34. Mocking con groovya Alberto Vilches @albertovilches – Grupo de usuarios de Groovy de Madrid
  35. Mocking con groovya Alberto Vilches @albertovilches – Grupo de usuarios de Groovy de Madrid
  36. testing ¿Qué necesito para usar todo esto?groovy-1.8.jar en tu CLASSPATHTus tests deben ser clases GroovyHeredar de GroovyTestCase (opcional) Alberto Vilches @albertovilches – Grupo de usuarios de Groovy de Madrid
  37. Testing: spockhttp://code.google.com/p/spock/ Alberto Vilches @albertovilches – Grupo de usuarios de Groovy de Madrid
  38. Compilador Alberto Vilches @albertovilches – Grupo de usuarios de Groovy de Madrid
  39. compiladorLeer Compilar Cargar Alberto Vilches @albertovilches – Grupo de usuarios de Groovy de Madrid
  40. compilador Alberto Vilches @albertovilches – Grupo de usuarios de Groovy de Madrid
  41. Compilador: leer Alberto Vilches @albertovilches – Grupo de usuarios de Groovy de Madrid
  42. Compilador: compilar Alberto Vilches @albertovilches – Grupo de usuarios de Groovy de Madrid
  43. Compilador: cargar Alberto Vilches @albertovilches – Grupo de usuarios de Groovy de Madrid
  44. Compilador: cargar Alberto Vilches @albertovilches – Grupo de usuarios de Groovy de Madrid
  45. Compilador groovyGroovyShellScriptEval.me() Alberto Vilches @albertovilches – Grupo de usuarios de Groovy de Madrid
  46. Compilador: leer Alberto Vilches @albertovilches – Grupo de usuarios de Groovy de Madrid
  47. Compilador: leer Alberto Vilches @albertovilches – Grupo de usuarios de Groovy de Madrid
  48. Compilador: leer Alberto Vilches @albertovilches – Grupo de usuarios de Groovy de Madrid
  49. compilador¡Leer + compilar + cargar + ejecutar! Alberto Vilches @albertovilches – Grupo de usuarios de Groovy de Madrid
  50. compilador¡Leer + compilar + cargar + ejecutar! Alberto Vilches @albertovilches – Grupo de usuarios de Groovy de Madrid
  51. compilador¡Leer + compilar + cargar + ejecutar! SALIDA Alberto Vilches @albertovilches – Grupo de usuarios de Groovy de Madrid
  52. compilador¡Leer + compilar + cargar + ejecutar! ENTRADA baseImponible IRPF IVA codigo SALIDA String Alberto Vilches @albertovilches – Grupo de usuarios de Groovy de Madrid
  53. compilador¡Leer + compilar + cargar + ejecutar! ENTRADA baseImponible IRPF IVA codigo SALIDA String Alberto Vilches @albertovilches – Grupo de usuarios de Groovy de Madrid
  54. compilador¡Leer + compilar + cargar + ejecutar! ENTRADA baseImponible IRPF IVA codigo SALIDA String Alberto Vilches @albertovilches – Grupo de usuarios de Groovy de Madrid
  55. compilador ENTRADAGroovy Templates SALIDA Alberto Vilches @albertovilches – Grupo de usuarios de Groovy de Madrid
  56. Groovy templates Alberto Vilches @albertovilches – Grupo de usuarios de Groovy de Madrid
  57. Groovy templates Alberto Vilches @albertovilches – Grupo de usuarios de Groovy de Madrid
  58. Groovy templates Alberto Vilches @albertovilches – Grupo de usuarios de Groovy de Madrid
  59. ResumenScriptsPueden incluir definiciones de clases.Pueden recibir un Binding con variables.Puede retornar un objeto: String, Collection, Integer, etc. La instancia de una clase que se define en el propio Script. Un objeto class de este misma clase con el que luego trabajar.TemplatesPueden recibir un Map con variables.Siempre devuelve un String. Alberto Vilches @albertovilches – Grupo de usuarios de Groovy de Madrid
  60. Config Slurper Alberto Vilches @albertovilches – Grupo de usuarios de Groovy de Madrid
  61. Config slurperAlternativa a los ficheros PropertiesNo texto plano -> ¡código groovy!Valores nativos, no solo StringsAnidado opcional Alberto Vilches @albertovilches – Grupo de usuarios de Groovy de Madrid
  62. Config slurper Alberto Vilches @albertovilches – Grupo de usuarios de Groovy de Madrid
  63. Config slurper Alberto Vilches @albertovilches – Grupo de usuarios de Groovy de Madrid
  64. Config slurper Alberto Vilches @albertovilches – Grupo de usuarios de Groovy de Madrid
  65. Config slurperAgrupación por entornos Alberto Vilches @albertovilches – Grupo de usuarios de Groovy de Madrid
  66. Config slurperAgrupación por entornosserver.port = 8090 sobrescribe el valor 80, solo si el entorno es development Alberto Vilches @albertovilches – Grupo de usuarios de Groovy de Madrid
  67. Config slurperComo leer un fichero de configuración desdeJava: Alberto Vilches @albertovilches – Grupo de usuarios de Groovy de Madrid
  68. SCRIPTS Alberto Vilches @albertovilches – Grupo de usuarios de Groovy de Madrid
  69. Scripts#!/usr/bin/env groovy Alberto Vilches @albertovilches – Grupo de usuarios de Groovy de Madrid
  70. Scripts#!/usr/bin/env groovy Alberto Vilches @albertovilches – Grupo de usuarios de Groovy de Madrid
  71. SCRIPTS + SQL Alberto Vilches @albertovilches – Grupo de usuarios de Groovy de Madrid
  72. Scripts + sqla Alberto Vilches @albertovilches – Grupo de usuarios de Groovy de Madrid
  73. Scripts + sqla Alberto Vilches @albertovilches – Grupo de usuarios de Groovy de Madrid
  74. Scripts + sqla Alberto Vilches @albertovilches – Grupo de usuarios de Groovy de Madrid
  75. ¡GRACIAS! ¿Preguntas? Alberto Vilches @albertovilches – Grupo de usuarios de Groovy de Madrid

×