Clase de Groovy para Seminario de ingeniería en informática. Cátedra de Pablo Cosso. Clase a cargo de Nicolás Bello Camilletti.
Mas información y código fuente: http://www.assembla.com/spaces/clase-groovy/
Las enfermedades moleculares se producen cuando las proteínas pierden su forma tridimensional funcional (plegamiento incorrecto), ya sea por cambios en su composición o por la agregación anormal de proteínas. Esto impide que las proteínas realicen sus funciones esenciales y puede provocar la muerte celular. Las enfermedades conformacionales incluyen trastornos causados por la agregación anormal de proteínas o su desestabilización, así como enfermedades priónicas en las que las proteínas patógenas convencen a las prote
1) El documento introduce Groovy, un lenguaje dinámico para la máquina virtual de Java que incluye características de otros lenguajes como Python y Ruby.
2) Explica cómo un programa "Hola Mundo" en Java se simplifica en Groovy al eliminar palabras reservadas y hacer otros cambios sintácticos.
3) Resalta características de Groovy como tipos dinámicos, interpolación de variables, y soporte para scripts.
Groovy nos entrega una nueva generación de lenguajes scripting que permite el desarrollo de aplicaciones en menos tiempo y de manera mucho mas legibles. Además la con la metaprogramacion de Groovy , permite extender las funcionalidades de la API de Java en Runtime.
El documento introduce Groovy, un lenguaje dinámico para la JVM que mejora Java eliminando código boilerplate y agregando características como tipado dinámico, closures, DSL y metaprogramación. Explica las ventajas de Groovy sobre Java y proporciona ejemplos que muestran cómo Groovy simplifica tareas comunes como iteración, cadenas y colecciones.
El documento presenta a Fátima Casaú Pérez, una experta en desarrollo ágil de aplicaciones web con 5 años de experiencia como instructora y desarrolladora de software. Ella se especializa en plataforma Java, Groovy & Grails y metodologías ágiles. El documento también incluye sus datos de contacto.
Este documento resume Groovy, un lenguaje de programación dinámico y orientado a objetos que se ejecuta en la máquina virtual Java. Groovy tiene una curva de aprendizaje casi nula, facilita la escritura de scripts, y soporta el desarrollo de lenguajes de dominio específico. Algunas características clave incluyen tipado dinámico, closures, operadores seguros de navegación y elvis, y soporte para lenguajes de marcado. Groovy es útil para la integración de componentes,
Groovy es un lenguaje de programación ágil y dinámico para la plataforma Java que ofrece una sintaxis más expresiva. Groovy mejora a Java agregando características como cierres, manejo de objetos y métodos dinámicos. Groovy se integra bien con frameworks populares como Spring y se usa comúnmente en proyectos como Grails.
Las enfermedades moleculares se producen cuando las proteínas pierden su forma tridimensional funcional (plegamiento incorrecto), ya sea por cambios en su composición o por la agregación anormal de proteínas. Esto impide que las proteínas realicen sus funciones esenciales y puede provocar la muerte celular. Las enfermedades conformacionales incluyen trastornos causados por la agregación anormal de proteínas o su desestabilización, así como enfermedades priónicas en las que las proteínas patógenas convencen a las prote
1) El documento introduce Groovy, un lenguaje dinámico para la máquina virtual de Java que incluye características de otros lenguajes como Python y Ruby.
2) Explica cómo un programa "Hola Mundo" en Java se simplifica en Groovy al eliminar palabras reservadas y hacer otros cambios sintácticos.
3) Resalta características de Groovy como tipos dinámicos, interpolación de variables, y soporte para scripts.
Groovy nos entrega una nueva generación de lenguajes scripting que permite el desarrollo de aplicaciones en menos tiempo y de manera mucho mas legibles. Además la con la metaprogramacion de Groovy , permite extender las funcionalidades de la API de Java en Runtime.
El documento introduce Groovy, un lenguaje dinámico para la JVM que mejora Java eliminando código boilerplate y agregando características como tipado dinámico, closures, DSL y metaprogramación. Explica las ventajas de Groovy sobre Java y proporciona ejemplos que muestran cómo Groovy simplifica tareas comunes como iteración, cadenas y colecciones.
El documento presenta a Fátima Casaú Pérez, una experta en desarrollo ágil de aplicaciones web con 5 años de experiencia como instructora y desarrolladora de software. Ella se especializa en plataforma Java, Groovy & Grails y metodologías ágiles. El documento también incluye sus datos de contacto.
Este documento resume Groovy, un lenguaje de programación dinámico y orientado a objetos que se ejecuta en la máquina virtual Java. Groovy tiene una curva de aprendizaje casi nula, facilita la escritura de scripts, y soporta el desarrollo de lenguajes de dominio específico. Algunas características clave incluyen tipado dinámico, closures, operadores seguros de navegación y elvis, y soporte para lenguajes de marcado. Groovy es útil para la integración de componentes,
Groovy es un lenguaje de programación ágil y dinámico para la plataforma Java que ofrece una sintaxis más expresiva. Groovy mejora a Java agregando características como cierres, manejo de objetos y métodos dinámicos. Groovy se integra bien con frameworks populares como Spring y se usa comúnmente en proyectos como Grails.
El documento introduce Grails, un framework para desarrollo web basado en Groovy y Spring. Explica que Grails usa convenciones sobre configuración para simplificar el desarrollo. También describe las características clave de Groovy como su sintaxis dinámica y closures. Finalmente, muestra un ejemplo de creación de una aplicación web para eventos usando Grails en cero iteraciones.
Este documento presenta una introducción al lenguaje de programación Ruby, incluyendo su historia, tipos de datos, colecciones, estructuras de control, expresiones regulares, gemas, orientación a objetos, metaprogramación, ORM y Ruby on Rails.
Este manual describe el lenguaje de programación JavaScript. Explica las introducciones al lenguaje, elementos como variables y objetos, operadores, gramática con condicionales y bucles, y diferentes objetos como Date, Math y String. También incluye ejemplos de aplicaciones de JavaScript en HTML.
Este manual introduce JavaScript y sus elementos básicos como variables, datos, objetos y funciones. Explica que JavaScript es un lenguaje interpretado usado para crear scripts en páginas web. El manual cubre temas como operadores, condicionales, bucles, y objetos como Array, Boolean, Function, Number, String y Date. También incluye ejemplos de aplicaciones JavaScript en HTML.
Este manual describe el lenguaje de programación JavaScript. Explica las introducciones al lenguaje, elementos como variables y objetos, operadores, gramática con condicionales y bucles, y diferentes objetos como Date, Math y String. También incluye ejemplos de aplicaciones de JavaScript en HTML.
Este manual cubre los fundamentos del lenguaje JavaScript, incluyendo sus elementos, operadores, gramática y objetos principales. Explica que JavaScript es un lenguaje interpretado usado para crear scripts en páginas web. Incluye ejemplos de aplicaciones comunes de JavaScript en HTML.
Este manual introduce JavaScript y sus principales características. Explica conceptos básicos como variables, datos, objetos y funciones. Luego describe elementos del lenguaje como operadores, condicionales y bucles. Finalmente, detalla los principales objetos de JavaScript como Array, Boolean, Function, Number, String y Date, así como ejemplos de su aplicación.
Este manual introduce JavaScript y sus elementos básicos como variables, datos, objetos y funciones. Explica que JavaScript es un lenguaje interpretado usado para crear scripts en páginas web. El manual cubre temas como operadores, condicionales, bucles, y varios objetos como Array, String, Date y Math. También incluye ejemplos de aplicaciones JavaScript en HTML.
Este manual presenta los conceptos básicos de JavaScript y sus aplicaciones en páginas web. Explica los temas fundamentales del lenguaje como variables, datos, objetos, funciones, operadores y gramática. También describe los principales objetos como Array, Boolean, Function, Number, String y Date. Por último, incluye ejemplos prácticos de aplicaciones de JavaScript en HTML.
Este manual presenta los conceptos básicos de JavaScript, incluyendo variables, datos, objetos, funciones y operadores. Explica la sintaxis del lenguaje a través de ejemplos de condicionales, bucles y selección múltiple. También describe los principales objetos de JavaScript como Array, Boolean, Function, Number, String y Date, así como sus métodos. Finalmente, muestra aplicaciones prácticas de JavaScript en páginas web.
El documento describe los diferentes tipos de análisis que realiza un compilador, incluyendo análisis léxico, sintáctico y semántico. Explica la necesidad del análisis semántico para detectar errores que no pueden ser detectados por el análisis sintáctico. También describe el uso de una tabla de símbolos para verificar que los identificadores están declarados y que los tipos son compatibles.
El documento introduce Ruby on Rails. Explica que Rails es un framework para desarrollo web que sigue el patrón MVC y provee componentes como Active Record. Cubre la historia de Rails, sus pilares como Ruby, convenciones, DRY y Active Record. También describe migraciones y herramientas de desarrollo. El objetivo es dar una introducción general a Rails.
Este documento presenta una introducción al lenguaje de programación Java. Explica conceptos básicos como variables, tipos de datos, operadores, estructuras de control de flujo y repetición. También describe la API básica de Java incluyendo métodos de la clase Math y presenta ejercicios para practicar los conceptos aprendidos.
Este documento presenta información sobre un curso de programación de sistemas. Incluye elementos del curso como el programa, datos del profesor, contenido y proyectos. Describe las unidades del curso que cubren introducción a la programación de sistemas, diseño de lenguajes de programación, análisis léxico y análisis de sintaxis. Explica conceptos como tokens, analizador léxico, tabla de símbolos, gramáticas libres de contexto y diagramas de sintaxis.
Mi presentación en el Encuentro Universitario Comunidad Java Dominicano 2018 #EncuentrosUniversitariosJava2018
@ UASD Recinto Santiago, Santiago de los caballeros. 15 consejos prácticos sobre características fundamentales que todo programador Java debe tener en cuenta.
Este documento presenta un temario para un curso de introducción a Java de 20 horas. El temario incluye introducción y sintaxis de Java, programación orientada a objetos, relaciones entre objetos, polimorfismo, abstracción e interfaces, excepciones y conceptos avanzados. El segundo tema se enfoca en la introducción al lenguaje Java, incluyendo su historia, características, entorno de programación, sintaxis, tipos de datos, variables, constantes, expresiones y sentencias.
Realizando Pruebas en la JVM con Velocidad y EficaciaAndres Almiray
Este documento describe cómo Groovy puede usarse para realizar pruebas en la JVM de forma rápida y efectiva. Groovy es un lenguaje dinámico para Java que simplifica el proceso de pruebas al permitir pruebas unitarias y mocks desde el inicio. El documento explica cómo Groovy es compatible con Java y proporciona características adicionales como closures, metaprogramación y sintaxis simplificada para mapas y listas. También cubre el uso de Groovy con frameworks de prueba como JUnit y la verificación de bases de datos con Db
Java fundamentos -15 consejos practicos open saturday 2018Eudris Cabrera
Mi presentación en el Open Saturday Santiago 2018 @ UAPA, Santiago de los caballeros. 15 consejos prácticos sobre características fundamentales que todo programador Java debe tener en cuenta.
TypeScript para Javeros. Por fin un lenguaje 'de verdad' en el browserMicael Gallego
Slides de la charla en el MadridJUG sobre TypeScript y su parecido con Java. Se presentan los parecidos entre estos dos lenguajes y sus diferencias más notables.
Desarrollo web en Nodejs con Pillars por Chelo Quilónbetabeers
Desarrollo web en Nodejs con Pillars por Chelo Quilón. En esta charla veremos inicialmente conceptos de Node.js y JavaScript, para después introducir las características diferenciadoras del desarrollo web en Node.js y se expondrá la metodología para crear una aplicación web mediante el framework Pillars.js.
Las prácticas de integración continua e implementación/entrega continua (CI/CD) y DevOps ya están establecidas, no solo como buenas costumbres en todas las empresas, sino también como un diferencial clave a la hora de marcar una diferencia con nuestra competencia. En esta charla, veremos una breve introducción y las novedades de estas prácticas con foco en las herramientas que nos brinda Google Cloud.
El documento introduce Grails, un framework para desarrollo web basado en Groovy y Spring. Explica que Grails usa convenciones sobre configuración para simplificar el desarrollo. También describe las características clave de Groovy como su sintaxis dinámica y closures. Finalmente, muestra un ejemplo de creación de una aplicación web para eventos usando Grails en cero iteraciones.
Este documento presenta una introducción al lenguaje de programación Ruby, incluyendo su historia, tipos de datos, colecciones, estructuras de control, expresiones regulares, gemas, orientación a objetos, metaprogramación, ORM y Ruby on Rails.
Este manual describe el lenguaje de programación JavaScript. Explica las introducciones al lenguaje, elementos como variables y objetos, operadores, gramática con condicionales y bucles, y diferentes objetos como Date, Math y String. También incluye ejemplos de aplicaciones de JavaScript en HTML.
Este manual introduce JavaScript y sus elementos básicos como variables, datos, objetos y funciones. Explica que JavaScript es un lenguaje interpretado usado para crear scripts en páginas web. El manual cubre temas como operadores, condicionales, bucles, y objetos como Array, Boolean, Function, Number, String y Date. También incluye ejemplos de aplicaciones JavaScript en HTML.
Este manual describe el lenguaje de programación JavaScript. Explica las introducciones al lenguaje, elementos como variables y objetos, operadores, gramática con condicionales y bucles, y diferentes objetos como Date, Math y String. También incluye ejemplos de aplicaciones de JavaScript en HTML.
Este manual cubre los fundamentos del lenguaje JavaScript, incluyendo sus elementos, operadores, gramática y objetos principales. Explica que JavaScript es un lenguaje interpretado usado para crear scripts en páginas web. Incluye ejemplos de aplicaciones comunes de JavaScript en HTML.
Este manual introduce JavaScript y sus principales características. Explica conceptos básicos como variables, datos, objetos y funciones. Luego describe elementos del lenguaje como operadores, condicionales y bucles. Finalmente, detalla los principales objetos de JavaScript como Array, Boolean, Function, Number, String y Date, así como ejemplos de su aplicación.
Este manual introduce JavaScript y sus elementos básicos como variables, datos, objetos y funciones. Explica que JavaScript es un lenguaje interpretado usado para crear scripts en páginas web. El manual cubre temas como operadores, condicionales, bucles, y varios objetos como Array, String, Date y Math. También incluye ejemplos de aplicaciones JavaScript en HTML.
Este manual presenta los conceptos básicos de JavaScript y sus aplicaciones en páginas web. Explica los temas fundamentales del lenguaje como variables, datos, objetos, funciones, operadores y gramática. También describe los principales objetos como Array, Boolean, Function, Number, String y Date. Por último, incluye ejemplos prácticos de aplicaciones de JavaScript en HTML.
Este manual presenta los conceptos básicos de JavaScript, incluyendo variables, datos, objetos, funciones y operadores. Explica la sintaxis del lenguaje a través de ejemplos de condicionales, bucles y selección múltiple. También describe los principales objetos de JavaScript como Array, Boolean, Function, Number, String y Date, así como sus métodos. Finalmente, muestra aplicaciones prácticas de JavaScript en páginas web.
El documento describe los diferentes tipos de análisis que realiza un compilador, incluyendo análisis léxico, sintáctico y semántico. Explica la necesidad del análisis semántico para detectar errores que no pueden ser detectados por el análisis sintáctico. También describe el uso de una tabla de símbolos para verificar que los identificadores están declarados y que los tipos son compatibles.
El documento introduce Ruby on Rails. Explica que Rails es un framework para desarrollo web que sigue el patrón MVC y provee componentes como Active Record. Cubre la historia de Rails, sus pilares como Ruby, convenciones, DRY y Active Record. También describe migraciones y herramientas de desarrollo. El objetivo es dar una introducción general a Rails.
Este documento presenta una introducción al lenguaje de programación Java. Explica conceptos básicos como variables, tipos de datos, operadores, estructuras de control de flujo y repetición. También describe la API básica de Java incluyendo métodos de la clase Math y presenta ejercicios para practicar los conceptos aprendidos.
Este documento presenta información sobre un curso de programación de sistemas. Incluye elementos del curso como el programa, datos del profesor, contenido y proyectos. Describe las unidades del curso que cubren introducción a la programación de sistemas, diseño de lenguajes de programación, análisis léxico y análisis de sintaxis. Explica conceptos como tokens, analizador léxico, tabla de símbolos, gramáticas libres de contexto y diagramas de sintaxis.
Mi presentación en el Encuentro Universitario Comunidad Java Dominicano 2018 #EncuentrosUniversitariosJava2018
@ UASD Recinto Santiago, Santiago de los caballeros. 15 consejos prácticos sobre características fundamentales que todo programador Java debe tener en cuenta.
Este documento presenta un temario para un curso de introducción a Java de 20 horas. El temario incluye introducción y sintaxis de Java, programación orientada a objetos, relaciones entre objetos, polimorfismo, abstracción e interfaces, excepciones y conceptos avanzados. El segundo tema se enfoca en la introducción al lenguaje Java, incluyendo su historia, características, entorno de programación, sintaxis, tipos de datos, variables, constantes, expresiones y sentencias.
Realizando Pruebas en la JVM con Velocidad y EficaciaAndres Almiray
Este documento describe cómo Groovy puede usarse para realizar pruebas en la JVM de forma rápida y efectiva. Groovy es un lenguaje dinámico para Java que simplifica el proceso de pruebas al permitir pruebas unitarias y mocks desde el inicio. El documento explica cómo Groovy es compatible con Java y proporciona características adicionales como closures, metaprogramación y sintaxis simplificada para mapas y listas. También cubre el uso de Groovy con frameworks de prueba como JUnit y la verificación de bases de datos con Db
Java fundamentos -15 consejos practicos open saturday 2018Eudris Cabrera
Mi presentación en el Open Saturday Santiago 2018 @ UAPA, Santiago de los caballeros. 15 consejos prácticos sobre características fundamentales que todo programador Java debe tener en cuenta.
TypeScript para Javeros. Por fin un lenguaje 'de verdad' en el browserMicael Gallego
Slides de la charla en el MadridJUG sobre TypeScript y su parecido con Java. Se presentan los parecidos entre estos dos lenguajes y sus diferencias más notables.
Desarrollo web en Nodejs con Pillars por Chelo Quilónbetabeers
Desarrollo web en Nodejs con Pillars por Chelo Quilón. En esta charla veremos inicialmente conceptos de Node.js y JavaScript, para después introducir las características diferenciadoras del desarrollo web en Node.js y se expondrá la metodología para crear una aplicación web mediante el framework Pillars.js.
Las prácticas de integración continua e implementación/entrega continua (CI/CD) y DevOps ya están establecidas, no solo como buenas costumbres en todas las empresas, sino también como un diferencial clave a la hora de marcar una diferencia con nuestra competencia. En esta charla, veremos una breve introducción y las novedades de estas prácticas con foco en las herramientas que nos brinda Google Cloud.
Personalizando experiencias de usuario con Reinforcement learning y AzureNicolás Bello Camilletti
Slides used on my talk at the .NET-Baires meetup. This slides are based on the ones from the "Tackling the challenge of personalizing user experiences with reinforcement learning" session (THR2169) that Tina Coll did on MS Ignite 2019
The document discusses progressive web apps (PWAs), including their benefits, key concepts like progressive enhancement and the service worker lifecycle, and how to implement features like push notifications, the app manifest, and make PWAs discoverable in app stores. Some key takeaways are that PWAs aim to provide an app-like experience to users regardless of context, use progressive enhancement to ensure functionality for all, and leverage features like the service worker to provide functionality even offline.
This document introduces .NET Core and Docker. It discusses how .NET Core allows for cross-platform development on Windows, Linux and macOS. It provides examples of running a simple "Hello World" application in .NET Core and Docker, and summarizes some common Docker commands. The document also compares .NET Core to the .NET Framework and discusses how Docker containers work and how to run them on Windows.
A short introduction to Progressive Web Apps shown in .NET Conf Co 2017. The idea was to understand what is a PWA, what is needed to implement one and show some examples.
A short introduction to Progressive Web Apps shown in .NET Conf UY 2017. The idea was to understand what is a PWA, what is needed to implement one and show some examples.
Una SPA (Single Page Application) es un sitio web que carga una sola página HTML y luego actualiza dinámicamente partes de la página a medida que el usuario interactúa con ella sin recargar la página completa. Las SPAs utilizan técnicas como routing, consumo de APIs y servicios de JavaScript para proporcionar una experiencia similar a una aplicación nativa al permitir navegar entre diferentes vistas sin recargar la página.
Una SPA (Single Page Application) es una aplicación web que carga una sola página HTML y luego actualiza dinámicamente partes de la página a medida que el usuario interactúa con ella sin recargar la página completa. Las SPAs utilizan técnicas como routing, consumo de APIs, servicios JavaScript y service workers para proporcionar una experiencia similar a una aplicación nativa.
En la charla de NetConfUY se mostró como configurar Angular 2 en un projecto de ASP.NET Core para crear una single page application. Como parte de la misma, aparte de mostrar como hookear Angular 2, se vió como manejar rooting y llamadas a una Web API. Luego, se mostró algunos conceptos de Progressive Web Apps
Una introducción a Docker, los principales conceptos e ideas y como se lo puede utilizar desde Microsoft Azure. Esta presentación fue parte del Global Azure Bootcamp 2016 en Buenos Aires, Argentina
Clase dictada el 13/06/2013 en Seminario de Ingeniería en Informática, cátedra de Pablo Cosso.
La idea fue crear una clase introductoria dado que en general los alumnos no tienen estos conceptos básicos.
This short document appears to be testing formatting and does not contain substantive information beyond repeating the word "Demo". It consists of blank lines and the word "Demo" with no other context provided.
Este documento proporciona una introducción al framework web Grails. Grails es un framework de alto rendimiento basado en Ruby on Rails que utiliza convenciones sobre configuración, reutiliza tecnologías probadas, y proporciona un entorno de desarrollo completo con soporte para plugins y scaffolding. El documento también resume brevemente la historia y arquitectura de Grails antes de concluir animando a los lectores a trabajar de manera inteligente en lugar de trabajar duro.
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador ValenciaAMADO SALVADOR
Descubre el catálogo general de la gama de productos de refrigeración del fabricante de electrodomésticos Miele, presentado por Amado Salvador distribuidor oficial Miele en Valencia. Como distribuidor oficial de electrodomésticos Miele, Amado Salvador ofrece una amplia selección de refrigeradores, congeladores y soluciones de refrigeración de alta calidad, resistencia y diseño superior de esta marca.
La gama de productos de Miele se caracteriza por su innovación tecnológica y eficiencia energética, garantizando que cada electrodoméstico no solo cumpla con las expectativas, sino que las supere. Los refrigeradores Miele están diseñados para ofrecer un rendimiento óptimo y una conservación perfecta de los alimentos, con características avanzadas como la tecnología de enfriamiento Dynamic Cooling, sistemas de almacenamiento flexible y acabados premium.
En este catálogo, encontrarás detalles sobre los distintos modelos de refrigeradores y congeladores Miele, incluyendo sus especificaciones técnicas, características destacadas y beneficios para el usuario. Amado Salvador, como distribuidor oficial de electrodomésticos Miele, garantiza que todos los productos cumplen con los más altos estándares de calidad y durabilidad.
Explora el catálogo completo y encuentra el refrigerador Miele perfecto para tu hogar con Amado Salvador, el distribuidor oficial de electrodomésticos Miele.
Catalogo general Ariston Amado Salvador distribuidor oficial ValenciaAMADO SALVADOR
Distribuidor Oficial Ariston en Valencia: Amado Salvador distribuidor autorizado de Ariston, una marca líder en soluciones de calefacción y agua caliente sanitaria. Amado Salvador pone a tu disposición el catálogo completo de Ariston, encontrarás una amplia gama de productos diseñados para satisfacer las necesidades de hogares y empresas.
Calderas de condensación: Ofrecemos calderas de alta eficiencia energética que aprovechan al máximo el calor residual. Estas calderas Ariston son ideales para reducir el consumo de gas y minimizar las emisiones de CO2.
Bombas de calor: Las bombas de calor Ariston son una opción sostenible para la producción de agua caliente. Utilizan energía renovable del aire o el suelo para calentar el agua, lo que las convierte en una alternativa ecológica.
Termos eléctricos: Los termos eléctricos, como el modelo VELIS TECH DRY (sustito de los modelos Duo de Fleck), ofrecen diseño moderno y conectividad WIFI. Son ideales para hogares donde se necesita agua caliente de forma rápida y eficiente.
Aerotermia: Si buscas una solución aún más sostenible, considera la aerotermia. Esta tecnología extrae energía del aire exterior para calentar tu hogar y agua. Además, puede ser elegible para subvenciones locales.
Amado Salvador es el distribuidor oficial de Ariston en Valencia. Explora el catálogo y descubre cómo mejorar la comodidad y la eficiencia en tu hogar o negocio.
Manual Web soporte y mantenimiento de equipo de computo
Groovy
1. Seminario de Ing. en Informática
Cátedra: Pablo Cosso
Colaborador: Nicolás Bello Camilletti
2do cuatrimestre 2011
2. ¿Que es Groovy?
Lenguaje ágil y dinámico para la JVM
Basado en Python, Ruby, Perl y Smalltalk
Curva de aprendizaje casi nula
Facilita la escritura de scripts
Soporta Domain Specific Languages (DSL)
Integración con Java
3.
4. Historia
29/08/2003: post de James Strachan Nace Groovy.
16/03/2004: Propuesta JSR 241
29/03/2004: Se aprueba la JSR 241
02/01/2007: se lanza la versión 1.0
07/12/2007: versión 1.1 se renombra a 1.5
Actualmente -> 1.8.#
13. Groovy Truth
Boolean
Cosas que son false
Colecciones vacías(listas, maps)
Iteradores y enumeradores sin mas elementos
Strings vacios
Matchers de regex que no coinciden (=~)
Cero
null
26. GroovyBeans (2)
Con access modifier
Field
Sin access modifier
Field privado
Mas getter y setter públicos (una property). Se pueden sobreescribir
Property final
Field privado como final
Solo getter
36. Usar Groovy en:
Integración de componentes
Modelos de negocio muy dinámicos
Pruebas de concepto
Proyectos rápidos y chicos
Scripting
37. No usar Groovy en:
Algoritmos complejos
Cálculos intensivos
Manejo de grandes cantidades de datos
Problema con creación de objetos por ser dinámico
Sistemas con
Requerimientos bien definidos
Pocas posibilidades de evolución
Proyectos muy grandes
Notas del editor
FilosofíaLenguaje ágil y dinámico para la Java Virtual MachinePuntos fuertes de Java pero con características adicionales inspiradas en lenguajes como Python, Ruby y SmalltalkCurva de aprendizaje casi nula para desarrolladores JavaCódigo fácil de leer y mantener.Facilita la escritura de scripts Reducción de código estructural en aplicaciones web, GUI, de bases de datos o de consolaSimplifica el testeoSe integra sin problemas a objetos Java y librerías existentes.Compila directamente a bytecode de la JVM.Groovy is licensed under the Apache 2 license:http://www.apache.org/licenses/LICENSE-2.0.html
29/08/2003: James Strachan hace un post en su blog dándole nacimiento a Groovy.16/03/2004: se propone al JCP, bajo la JSR 241 la especificación de Groovy dentro de la JVMJava Specification Request241: The Groovy Programming Language29/03/2004: se aprueba de forma unánime por todo el comité. La especificación se larga con una licencia estilo BSD / Apache02/01/2007: se lanza la versión 1.0 y durante este año Groovy gana el premio JAX al proyecto más innovador y creativo del año.
// Ahora vemos que cambiando la variable cambiamos el closure
An Expando is different from a map in that you can provide synthetic methods that you can call on the object.The player.greeting assignment passes in a closure to execute when greeting() is called on the Expando. Notice that the closure has access to the properties assigned to the Expando, even though these values may change over time, using Groovy's GString "$variableOrProperty" notation.
Builders are based on the builder pattern from the GOF design pattern book. It provides a way to build your own DSL and represents a powerful concept in Groovy