Este documento describe cómo crear lenguajes específicos de dominio (DSLs) utilizando Groovy. Explica qué es un DSL, sus características y tipos. Luego se detalla cómo Groovy es ideal para crear DSLs internos debido a sus características como closures, métodos dinámicos y soporte para builders. Finalmente, ofrece ejemplos de cómo comenzar a crear un primer DSL simple en Groovy.
Angular 2 for dart mentiras y verdades (Google I/O extended Madrid)Rafael Bermúdez Míguez
A estas alturas todos sabemos que una aplicación Angular 2 se puede escribir en TypeScript o JavaScript. Sin embargo, no es tan conocido que viene con soporte oficial para Dart. Y lo cierto es que las únicas aplicaciones de Google en producción con Angular2 vienen de la mano de Dart. AdWords o GreenTea ya lo utilizan.
¿Tiene sentido utilizar Angular2 con Dart? ¿Ventajas e inconvenientes?
En esta charla veremos las diferencias entre Typescript y Dart, nos adentraremos en la creación de una aplicación Angular2 con Dart e intentaremos descubrir las verdades y mentiras que rodean este tema.
¿Que es PHP?
¿Que son los Servicios Web?
❏ ¿Que es SOAP?
❏ Librerias SOAP
❏ Crear un Servicio SOAP
❏ Crear un Cliente SOAP
❏ ¿Que es REST?
❏ Librerias SOAP
❏ Crear un Servicio REST
❏ Crear un Cliente REST
Conclusion
Bibliografia
Tutorial Web Services en PHP, REST, SOAPElwin Huaman
¿Que es PHP?
¿Que son los Servicios Web?
❏ ¿Que es SOAP?
❏ Librerias SOAP
❏ Crear un Servicio SOAP
❏ Crear un Cliente SOAP
❏ ¿Que es REST?
❏ Librerias SOAP
❏ Crear un Servicio REST
❏ Crear un Cliente REST
Conclusion
Bibliografia
Angular 2 for dart mentiras y verdades (Google I/O extended Madrid)Rafael Bermúdez Míguez
A estas alturas todos sabemos que una aplicación Angular 2 se puede escribir en TypeScript o JavaScript. Sin embargo, no es tan conocido que viene con soporte oficial para Dart. Y lo cierto es que las únicas aplicaciones de Google en producción con Angular2 vienen de la mano de Dart. AdWords o GreenTea ya lo utilizan.
¿Tiene sentido utilizar Angular2 con Dart? ¿Ventajas e inconvenientes?
En esta charla veremos las diferencias entre Typescript y Dart, nos adentraremos en la creación de una aplicación Angular2 con Dart e intentaremos descubrir las verdades y mentiras que rodean este tema.
¿Que es PHP?
¿Que son los Servicios Web?
❏ ¿Que es SOAP?
❏ Librerias SOAP
❏ Crear un Servicio SOAP
❏ Crear un Cliente SOAP
❏ ¿Que es REST?
❏ Librerias SOAP
❏ Crear un Servicio REST
❏ Crear un Cliente REST
Conclusion
Bibliografia
Tutorial Web Services en PHP, REST, SOAPElwin Huaman
¿Que es PHP?
¿Que son los Servicios Web?
❏ ¿Que es SOAP?
❏ Librerias SOAP
❏ Crear un Servicio SOAP
❏ Crear un Cliente SOAP
❏ ¿Que es REST?
❏ Librerias SOAP
❏ Crear un Servicio REST
❏ Crear un Cliente REST
Conclusion
Bibliografia
Rethinking Data Availability and Governance in a Mobile WorldHao Tran
The Briefing Room with Malcolm Chisholm and Druva
Live
The emergence of the mobile workforce has left an indelible mark on the enterprise; every employee is now mobile, and business data continues to be dispatched to the far reaches of the enterprise. While this has added enormous opportunity for increased productivity, it has also muddied the waters when it comes to controlling and protecting valuable data assets. As companies quickly evolve to address the new set of challenges posed by this shift in data usage, IT must ensure that all data, no matter where it’s generated or stored, is available and governed just as if it were still safely behind the corporate firewall.
Register for this episode of The Briefing Room to hear veteran Analyst Malcolm Chisholm as he explains the myriad challenges that mobile data introduces when addressing regulations and compliance needs, requiring new approaches to data governance. He’ll be briefed by Dave Packer of Druva, who will outline his company’s converged data protection strategy, which brings data center class capabilities to backup, availability and governance for the mobile workforce. He will share strategies to meet regional data residency, data recovery, legal hold and eDiscovery requirements and more.
perkembangan komputer yang sejauh ini tlah kian melesat canggih tak terlepas dari sejarah awal mula terbuatnya,begitu juga perkembangan ini membawa pengaruh yang luas baggi masyarakat
Esta conferencia fue dictada originalmente durante la 3ra Campus Party en Bogotá (2010). En ella se muestra cómo la JVM presenta al desarrollador con un abanico de lenguajes que van más allá de Java. Se hace una breve introducción a Jython, JRuby, Scala y Clojure, mostrando cómo el uso de estos lenguajes dinámicos puede simplificar la creación de programas, su utilidad como lenguajes de scripting o de “pegamento”, y la sencillez con la que se puede establecer una relación simbiótica con Java y sus librerías.
Consejos prácticos de programación, trucos y técnicas que se pueden utilizar ahora! Usted está invitado a unirse a los expertos de Embarcadero cada 15 días para tutoriales de 30 minutos sobre el desarrollo de software para Windows, Mac, Android y iOS.
Rethinking Data Availability and Governance in a Mobile WorldHao Tran
The Briefing Room with Malcolm Chisholm and Druva
Live
The emergence of the mobile workforce has left an indelible mark on the enterprise; every employee is now mobile, and business data continues to be dispatched to the far reaches of the enterprise. While this has added enormous opportunity for increased productivity, it has also muddied the waters when it comes to controlling and protecting valuable data assets. As companies quickly evolve to address the new set of challenges posed by this shift in data usage, IT must ensure that all data, no matter where it’s generated or stored, is available and governed just as if it were still safely behind the corporate firewall.
Register for this episode of The Briefing Room to hear veteran Analyst Malcolm Chisholm as he explains the myriad challenges that mobile data introduces when addressing regulations and compliance needs, requiring new approaches to data governance. He’ll be briefed by Dave Packer of Druva, who will outline his company’s converged data protection strategy, which brings data center class capabilities to backup, availability and governance for the mobile workforce. He will share strategies to meet regional data residency, data recovery, legal hold and eDiscovery requirements and more.
perkembangan komputer yang sejauh ini tlah kian melesat canggih tak terlepas dari sejarah awal mula terbuatnya,begitu juga perkembangan ini membawa pengaruh yang luas baggi masyarakat
Esta conferencia fue dictada originalmente durante la 3ra Campus Party en Bogotá (2010). En ella se muestra cómo la JVM presenta al desarrollador con un abanico de lenguajes que van más allá de Java. Se hace una breve introducción a Jython, JRuby, Scala y Clojure, mostrando cómo el uso de estos lenguajes dinámicos puede simplificar la creación de programas, su utilidad como lenguajes de scripting o de “pegamento”, y la sencillez con la que se puede establecer una relación simbiótica con Java y sus librerías.
Consejos prácticos de programación, trucos y técnicas que se pueden utilizar ahora! Usted está invitado a unirse a los expertos de Embarcadero cada 15 días para tutoriales de 30 minutos sobre el desarrollo de software para Windows, Mac, Android y iOS.
Comúnmente conocemos redis como un sistema de caché distribuido que podemos usar en modo PaaS gracias a la plataforma de azure. Pero redis se define como un sistema de base de datos NoSql de tipo clave valor, que funciona perfectamente como memoria caché, pero que además tiene muchas características adcionales. A lo largo de esta charla comentaremos las posibilidades de este servicio y cómo podemos explotarlas.
Taller evento TestingUY 2016 - Automatización de Pruebas con RubyTestingUy
Expositor: Rodrigo Gómez
Resumen:
Veremos desde las características generales del lenguaje Ruby, a su uso para realizar pruebas funcionales. Distintas funciones útiles disponibles en bibliotecas del lenguaje para manejo de servicios, navegación y monitoreo; con ejemplos sencillos en cada caso.
Go es un lenguaje de programación de código abierto lanzado por Google en 2009, creado con la motivación de manejar el nivel de programación que tiene Google en cuanto a número de líneas de código y la cantidad de ingenieros que trabajan en el código. Además, para facilitar la interconexión de programas dentro de sistemas distribuidos de miles de máquinas.
En este meetup revisamos este lenguaje, sus principales características, qué empresas lo usan, cómo dar los primeros pasos y una aplicación de ejemplo.
La arquitectura de microservicios persigue maximizar la adaptabilidad de las soluciones mediante la distribución de las responsabilidades del software en servicios con ciclo de vida independiente.
Lograr la independencia de los microservicios es clave para beneficiarse de las ventajas de la arquitectura. Esto exige un profundo entendimiento del dominio funcional, lo que se logra mediante DDD.
Por otro lado la arquitectura hexagonal nos permite estructurar el software de manera que la capa de código relacionada con el dominio funcional no se vea interferida por aspectos tecnológicos, es decir, que dicha capa sólo exprese el Ubiquitous Language, es decir el lenguaje del modelo en según lo llama DDD.
Dicha separación en capas y el invertir las dependencias permite además garantizar la máxima portabilidad del código.
¿Qué vamos a ver?
1. Beneficios
2. Domain Driven Design.
- Conceptos - Big Picture.
- Conceptos - Code architecture.
- Event Storming.
3. Clean Code Architecture.
- Hexagonal Architecture.
- Onion Architecture.
Bots 3.0: Dejando atrás los bots conversacionales con Dialogflow.Paradigma Digital
Atención personalizada y automatización de operativas con IA de forma sencilla con DialogFlow. Al terminar esta charla serás capaz de crear un bot con Dialogflow que solucione tareas sencillas.
En esta charla veremos:
- Cuales son las necesidades de negocio que satisface este tipo de soluciones
- Alternativas en el mercado
- Solución de la necesidad con DialogFlow
Ponente: Alex Asensio - Business Lead en Paradigma Digital
Pragmático y siempre enfocado a objetivos de negocio. Enamorado de la tecnología pero también con la forma en que entregamos software a nuestros clientes, basada en el "empirismo". Tech + Biz mano a mano es la fórmula de éxito que queremos compartir con ellos.
En esta nueva entrega sobre service-mesh veremos el que probablemente se convertirá en el producto de referencia: Istio.
Analizaremos las funcionalidades que aporta, su arquitectura interna, la integración con productos de terceros así como su repercusión
dentro de las arquitecturas actuales. Realizaremos algunos ejemplos para mostrar la funcionalidad y configuración
Ponente:
Abraham Rodríguez está especializado en soluciones cloud native con arquitecturas de microservicios, stack con el que ha trabajado en diversos proyectos. Apasionado defensor de todo lo relacionado con cloud, metodologías ágiles, software libre y devops.
En esta presentación hablamos de Linkerd, uno de los pioneros en el ámbito de las "arquitecturas Service Mesh". Haremos un repaso por la historia de este producto, conoceremos sus principales funcionalidades y tendremos una parte práctica en la que mostraremos su integración en arquitecturas distribuidas junto a Docker y Kubernetes.
¿Cómo hago que mis APIs sean usables?
A través de un ejemplo desarrollado en Spring veremos como realizar todo el proceso de diseño aplicando un conjunto de buenas prácticas que te ayuden en el proceso de toma de decisión a la hora de enfrentarte al diseño de APIs.
En este meetup vamos a analizar uno de los pilares básicos en el proceso de transformación digital de las empresas: API Management. Para ello, explicaremos en qué consiste esta estrategia, y los diferentes conceptos y componentes que intervienen en la misma.Además, para completar esta visión con un caso práctico, mostraremos un ejemplo de implementación mediante uno de los productos OpenSource de API Management más exitoso del mercado: WSO2.
https://www.meetup.com/Microservicios
¿Cómo se despliega y autoescala Couchbase en Cloud? ¡Aprende de manera práctica!Paradigma Digital
En el pasado Meetup, presentamos Couchbase de manera general, pero ha llegado el momento de ir ahondando en los detalles del producto para conocer todas sus capacidades. Esto nos permitirá estar en mejor disposición para adoptarlo en nuestros proyectos.
En esta ocasión, se hablará de la capa de operaciones y despliegue de Couchbase aunque no con un enfoque tradicional en máquinas físicas, sino siguiendo las buenas prácticas del mercado. Explicaremos y haremos el despliegue en Google Cloud con escalabilidad horizontal elástica y automática.
Para llevar a cabo esto haremos uso, entre otras, de las siguientes tecnologías: Google Cloud, Kubernetes, Python y, por supuesto, Couchbase.
Pondremos a prueba nuestra infraestructura con una pequeña aplicación, si queréis ver los resultados, no os lo podéis perder!
Google Analytics es una herramienta de analítica la que se conoce sólo una parte de su potencial. Además de medir audiencias y su comportamiento, Google Analytics permite priorizar las inversiones en marketing online, recoger comportamientos de Single Page Applications y visualizar datos offline, por ejemplo de CRM y combinarlos con los de visitas online. También es posible recoger datos en tiempo real de ventas, por ejemplo de ecommerce y de dispositivos físicos como bluetooth beacons. Las funcionalidades de Google Analytics, en combinación con Big Query y otros servicios de Google Cloud Platform, la convierte en una de las plataformas más interesantes de analítica para la transformación digital.
Si quieres ver el vídeo en el que fue usada esta presentación, pulsa aquí: https://www.youtube.com/watch?v=2mfIU-NXGXI
Para ver la convocatoria en nuestra web, clic aquí: https://www.paradigmadigital.com/eventos/usar-google-analytics/
La convocatoria a través del grupo de Meetup.com, clic aquí: https://www.meetup.com/es-ES/Front-end-Developers-Madrid/events/231793469/
¿Cómo definir el roadmap de transformación digital? En Paradigma llevamos más de 20 años ayudando a grandes compañías en su camino hacia la digitalización.
Esta presentación nos muestra qué es la programación reactiva, en qué consiste, qué nos permite hacer y por qué está tan de moda. Además, podemos ver el uso concreto de esta programación utilizando RxJava.
Autor: Juan Pablo González de Gracia.
En Paradigma creemos que los grandes dragones digitales han desbancado a las empresas tradicionales. La clave para combatir esos dragones es la transformación digital.
3. QUÉ ES Y PARA QUÉ SIRVE
• DSL = Domain Specific Language
• Resuelve un tipo particular de problema
• Definición
• Modelado
• Representación
• Comunmente llamados mini lenguajes
4. QUÉ NO ES
• Lo opuesto a un DSL es:
• General Purpose Language (como Java o Erlang)
• General Purpose Modeling Language (como UML)
• No se puede usar para
programar/modelar cualquier
cosa
• No necesariamente Turing
Completo
5. XML, EL ANTEPASADO DEL DSL
EN JAVA
• ejb-jar.xml
• Define la estructura para desplegar EJBs en SA
• struts-config.xml
• Mapea las acciones y forms del fw MVC Struts
• spring-config.xml
• Define cómo crear e inyectar objetos en LC
Spring
6. CARACTERÍSTICAS DE UN DSL
• Sintaxis específica
• Limitados en ámbito y
capacidad
• Pequeños y simples
7. PORQUÉ SON ÚTILES
• Contextuales
• Más expresivos = más claros
• Mejor usar varios DSL que un único
GPL
8. CUANDO USARLOS
• Lógica o reglas de negocio
cambian a menudo
• Solución separada del resto del
código de la aplicación
9. TIPOS DE DSL
• Externos
• Los usamos día a día desde hace tiempo
• Internos
• Viven entre nosotros
10. TIPOS DE DSL: EXTERNOS
Cómo definen su formato y sintaxis:
Aprovechan una sintaxis existente como XML…
…o poseen su propio compilador/interprete…
…o son diseñados con una herramienta
13. EJEMPLOS DE DSLS EXTERNOS
• Structured
Query
Language
• Expresiones regulares
Patrón para buscar emails
14. EJEMPLOS DE DSLS EXTERNOS
DSL Dominio Uso
SQL BBDD Consulta y
manipulación
Expresión
regular
Cadenas de texto Búsqueda por
patrones
CSS Estilo (fuentes,
colores, tamaños,
etc)
Cambiar la
presentación de un
HTML
Ant Recursos (clases y
otros ficheros)
Compilación y
generación de
artefactos JAR,WAR
15. TIPOS DE DSL: INTERNOS
• Se hospedan en un GPL para
describirlos
• Aprovechan el compilador/intérprete
• Reutilizan parte de la sintaxis
• Como anotaciones u otras ventajas (¡Groovy!)
• Heredan las limitaciones del lenguaje
anfitrión
21. QUÉ DEFINE UN DSL
• Contexto
• El dominio está implícito porque…
• … sistema, autor y lector saben de qué se está hablando
• Estructura, gramática, sintaxis es:
• Reducida fluida agrupada encadenada
45. CLOSURES
• Owner: instancia donde se crea el closure
• Delegate: contexto donde se ejecuta el closure
• Por defecto es la misma (delegate = owner)
50. ESTRUCTURAS PERSONALIZADAS
• En un método dado, si el último parámetro es un
closure, se puede dejar fuera del paréntesis que
engloba los parámetros de la llamada
61. BUILDER SUPPORT
• Los builders procesan DSLs mediante eventos
• La clase BuilderSupport nos permite crear nuestros
propios builders
• Admite cualquier nombre de método y
combinación de parámetros