SlideShare una empresa de Scribd logo
1 de 82
Scala
José Amadeo Martin Díaz Díaz
@joedayz
Sobre el ponente
Ing. Informático de la Pontificia Universidad Católica del Perú
Fundador de JoeDayz.pe
Miembro de PERU JUG desde el 2003.
Desarrollador Java desde el 2001
Desarrollador Scala desde el 2014
@joedayz
2
Agenda
1. ¿Qué es Scala?
2. Características Principales
3. Ecosistema Scala
4. Conclusiones
1. ¿Qué es Scala?
• Lenguaje de Programación multi-paradigma diseñado para expresar
patrones comunes de programación en forma concisa, elegante y con
tipos seguros.
• Integra sutilmente características de lenguajes funcionales y
orientados a objetos.
• La implementación actual corre en la maquina virtual de Java y es
compatible con las aplicaciones Java existentes.
Creado por Martin Odersky
Fundada el 2011
Github.info
TIOBE
2. Características Principales
• Herencia Múltiple (Similar a C++)
• Tipado estático
• Notación infija
• Funciones de Orden superior
• Multiparadigma:
• Funcional
• Orientado a Objetos
¿Qué es la programación funcional?
• Programación Imperativa:
• Se utilizan cambios de estado
• Efectos de lado
• Mutabilidad
• Programación Funcional:
• Se utilizan funciones aritméticas
• No hay efectos de lado
• Inmutabilidad
¿Por qué utilizar programación funcional?
• Ley de Moore
• Programación Concurrente
• Inmutabilidad -> El estado no cambia
• Facilidad para programar concurrentemente
• Se pueden pasar parámetros como parámetros a otras funciones
• Las Funciones además de valores (u objetos) pueden devolver otras
funciones como resultado.
¿Por qué utilizar programación funcional?
• Las funciones siempre devuelven el mismo resultado para cada
entrada
• No hay efectos de lado
• Facilidad para testear
• El primer lenguaje ampliamente utilizado para programación
funcional fue Lisp.
• En las universidades frecuentemente se usa Haskell para la enseñanza
¿Por qué utilizar programación funcional?
• Puedes empezar con JavaScript o Python.
• Scala es quien ha dado el empujón mas reciente
• Java 8 tiene características de programación funcional
¿Casos de uso comunes?
• Creación de DSLs (lenguajes específicos de dominio)
Apache Camel – Scala DSL
¿Casos de uso comunes?
• Aplicaciones en el Cloud  AKKA (Programación concurrente con
actores)
¿Casos de uso comunes?
• BigData  Spark soportado por Apache.
¿Dónde se usa Scala?
https://typesafe.com/resources/case-studies-and-stories
2. Características Principales
Tuplas
• Colección heterogénea de elementos
• 22 elementos como máximo
• Orden predeterminado
Clases (estilo Java)
Clases (estilo Scala)
Clases (valores por defecto)
Resultado:
Clases (valores por defecto)
Case Classes
• Clases enriquecidas
• Proporcionan:
• Método apply (constructor)
• Getters
• Método copy
• Método unapply (extractor)
• No permiten heredar de ellas
• No soportan más de 22 atributos (tuplas)
Case Classes
Pattern Matching
Pattern Matching
Pattern Matching usando Case Classes
Traits
• Similar a interfaces en Java
• Posibilidad de implementar métodos
• Herencia múltiple
Traits
Traits como Interfaces Ricas
Traits como Interfaces Ricas
Extender una clase con múltiples Traits
Traits - Composición
Traits - Composición
Traits - Composición
Traits – Problema del Diamante
Traits – Problema del Diamante
Implicitos
• Elementos de código que se ejecutan sin ser llamados explícitamente
• Potente pero peligroso
• No abusar de implícito
• Dificultad de seguir el hilo de ejecución
• Posibles usos:
• Conversores
• Inyección de dependencias
• Contextos de ejecución
Implicitos
• Conversión
Implicitos
• Conexión Implicita
Funciones de Orden Superior
• Funciones que devuelven funciones
• Funciones que toman otras funciones como parámetro
Recomiendo ver: http://scala.org.mx/news/2015/01/29/funciones-scala/
Trabajar con Colecciones
Trabajar con Colecciones
Más ejemplos en: https://twitter.github.io/scala_school/coll2.html
Trabajar con Colecciones
Trabajar con Colecciones
Combinar filter, sort, map
Combinar filter, sort, map
Uno mas …
For-comprehesion
Option
Tratamiento de Excepciones
Tratamiento de Excepciones
Tratamiento de Excepciones
Try (Success & Failure)
3. Ecosistema de Scala
Akka
• Construcción de aplicaciones mediante el modelo de actores
• Facilita construir aplicaciones distribuidas
• Asíncrono
• Escalabilidad
• Disponible también para Java
http://www.genbetadev.com/paradigmas-de-programacion/manejar-la-concurrencia-con-actores
Ejemplo Akka
Ejemplo Akka
Ejemplo Akka
Otros ejemplos de Akka
Otros ejemplos de Akka
Más utilidades de Akka
• Supervisión
• EventBus
• Clustering
• Akka-HTTP
• Akka-Persistence
• Framework para construir aplicaciones web
• Construido sobre Akka
• MVC
• Disponible también para java
http://playframework.org/
• Para creación de API’s REST
• Arquitectura basada en actores
• Futuro Akka-HTTP
• Permite peticiones asíncronas
• Incluye DSL para Testing
http://sysgears.com/articles/building-rest-service-with-scala/
• Herramienta orientada a BigData
• Distribución de datos
• Analytics
• Competencia de Hadoop
• Spark-streaming
https://spark.apache.org/examples.html
• Librería para acceder y realizar búsquedas en base de datos
• Trabajar con colecciones en Scala
• Opción de utilizar SQL Embebido
Conexión a base de datos
Definición de Tablas
Poblando la Base de Datos
Consultando
4. Conclusiones
• Multiparadigma
• Compatible con la JVM
• Puedes seguir utilizando tu arsenal de librerías Java
• Conciso y limpio
• Inferencia de tipos
DesVentajas
• Curva larga de aprendizaje
• Tiempos altos de compilación
• Lenguaje en evolución
• Poca documentación – libros, blogs
• Pocas comunidades
• TypeSafe cursos son carísimos
• Muchas formas de hacer lo mismo
¿Cómo aprenderlo?
• Curso de Coursera : Programación Funcional
• TypeSafe Activator
• Programming in Scala de Oreilly
Entornos de desarrollo
• Eclipse + Scala IDE
• Intellij IDEA
• Sbt y Editor Texto
• Scalac + editor de texto
Preguntas
@joedayz
Jose.diaz@joedayz.pe

Más contenido relacionado

La actualidad más candente

Apache Spark - Basics of RDD | Big Data Hadoop Spark Tutorial | CloudxLab
Apache Spark - Basics of RDD | Big Data Hadoop Spark Tutorial | CloudxLabApache Spark - Basics of RDD | Big Data Hadoop Spark Tutorial | CloudxLab
Apache Spark - Basics of RDD | Big Data Hadoop Spark Tutorial | CloudxLabCloudxLab
 
Running Apache Spark on Kubernetes: Best Practices and Pitfalls
Running Apache Spark on Kubernetes: Best Practices and PitfallsRunning Apache Spark on Kubernetes: Best Practices and Pitfalls
Running Apache Spark on Kubernetes: Best Practices and PitfallsDatabricks
 
Apache Tez - A New Chapter in Hadoop Data Processing
Apache Tez - A New Chapter in Hadoop Data ProcessingApache Tez - A New Chapter in Hadoop Data Processing
Apache Tez - A New Chapter in Hadoop Data ProcessingDataWorks Summit
 
Sistemas distribuidos
Sistemas distribuidosSistemas distribuidos
Sistemas distribuidosTensor
 
Introduction to Scala
Introduction to ScalaIntroduction to Scala
Introduction to ScalaRahul Jain
 
Bd eq.#3 actividad 2 reporte instalacion microsoft sql server
Bd eq.#3 actividad 2 reporte instalacion microsoft sql server Bd eq.#3 actividad 2 reporte instalacion microsoft sql server
Bd eq.#3 actividad 2 reporte instalacion microsoft sql server KARY
 
Introduction to YARN and MapReduce 2
Introduction to YARN and MapReduce 2Introduction to YARN and MapReduce 2
Introduction to YARN and MapReduce 2Cloudera, Inc.
 
Hadoop YARN | Hadoop YARN Architecture | Hadoop YARN Tutorial | Hadoop Tutori...
Hadoop YARN | Hadoop YARN Architecture | Hadoop YARN Tutorial | Hadoop Tutori...Hadoop YARN | Hadoop YARN Architecture | Hadoop YARN Tutorial | Hadoop Tutori...
Hadoop YARN | Hadoop YARN Architecture | Hadoop YARN Tutorial | Hadoop Tutori...Simplilearn
 
PostgreSQL High Availability in a Containerized World
PostgreSQL High Availability in a Containerized WorldPostgreSQL High Availability in a Containerized World
PostgreSQL High Availability in a Containerized WorldJignesh Shah
 
Comparativa sgbd comercial vs libre
Comparativa sgbd comercial vs libreComparativa sgbd comercial vs libre
Comparativa sgbd comercial vs libreFportavella
 
Ceph - A distributed storage system
Ceph - A distributed storage systemCeph - A distributed storage system
Ceph - A distributed storage systemItalo Santos
 
Deep Dive into GPU Support in Apache Spark 3.x
Deep Dive into GPU Support in Apache Spark 3.xDeep Dive into GPU Support in Apache Spark 3.x
Deep Dive into GPU Support in Apache Spark 3.xDatabricks
 
Handling Redis failover with ZooKeeper
Handling Redis failover with ZooKeeperHandling Redis failover with ZooKeeper
Handling Redis failover with ZooKeeperryanlecompte
 
Basics of reflection in java
Basics of reflection in javaBasics of reflection in java
Basics of reflection in javakim.mens
 
What Is Apache Spark? | Introduction To Apache Spark | Apache Spark Tutorial ...
What Is Apache Spark? | Introduction To Apache Spark | Apache Spark Tutorial ...What Is Apache Spark? | Introduction To Apache Spark | Apache Spark Tutorial ...
What Is Apache Spark? | Introduction To Apache Spark | Apache Spark Tutorial ...Simplilearn
 
Meet Spilo, Zalando’s HIGH-AVAILABLE POSTGRESQL CLUSTER - Feike Steenbergen
Meet Spilo, Zalando’s HIGH-AVAILABLE POSTGRESQL CLUSTER - Feike SteenbergenMeet Spilo, Zalando’s HIGH-AVAILABLE POSTGRESQL CLUSTER - Feike Steenbergen
Meet Spilo, Zalando’s HIGH-AVAILABLE POSTGRESQL CLUSTER - Feike Steenbergendistributed matters
 

La actualidad más candente (20)

Apache spark
Apache sparkApache spark
Apache spark
 
Spark SQL
Spark SQLSpark SQL
Spark SQL
 
Apache Spark - Basics of RDD | Big Data Hadoop Spark Tutorial | CloudxLab
Apache Spark - Basics of RDD | Big Data Hadoop Spark Tutorial | CloudxLabApache Spark - Basics of RDD | Big Data Hadoop Spark Tutorial | CloudxLab
Apache Spark - Basics of RDD | Big Data Hadoop Spark Tutorial | CloudxLab
 
Running Apache Spark on Kubernetes: Best Practices and Pitfalls
Running Apache Spark on Kubernetes: Best Practices and PitfallsRunning Apache Spark on Kubernetes: Best Practices and Pitfalls
Running Apache Spark on Kubernetes: Best Practices and Pitfalls
 
Apache Tez - A New Chapter in Hadoop Data Processing
Apache Tez - A New Chapter in Hadoop Data ProcessingApache Tez - A New Chapter in Hadoop Data Processing
Apache Tez - A New Chapter in Hadoop Data Processing
 
Sistemas distribuidos
Sistemas distribuidosSistemas distribuidos
Sistemas distribuidos
 
Introduction to Scala
Introduction to ScalaIntroduction to Scala
Introduction to Scala
 
Bd eq.#3 actividad 2 reporte instalacion microsoft sql server
Bd eq.#3 actividad 2 reporte instalacion microsoft sql server Bd eq.#3 actividad 2 reporte instalacion microsoft sql server
Bd eq.#3 actividad 2 reporte instalacion microsoft sql server
 
Introduction to YARN and MapReduce 2
Introduction to YARN and MapReduce 2Introduction to YARN and MapReduce 2
Introduction to YARN and MapReduce 2
 
Hadoop YARN | Hadoop YARN Architecture | Hadoop YARN Tutorial | Hadoop Tutori...
Hadoop YARN | Hadoop YARN Architecture | Hadoop YARN Tutorial | Hadoop Tutori...Hadoop YARN | Hadoop YARN Architecture | Hadoop YARN Tutorial | Hadoop Tutori...
Hadoop YARN | Hadoop YARN Architecture | Hadoop YARN Tutorial | Hadoop Tutori...
 
PostgreSQL High Availability in a Containerized World
PostgreSQL High Availability in a Containerized WorldPostgreSQL High Availability in a Containerized World
PostgreSQL High Availability in a Containerized World
 
Spark architecture
Spark architectureSpark architecture
Spark architecture
 
Comparativa sgbd comercial vs libre
Comparativa sgbd comercial vs libreComparativa sgbd comercial vs libre
Comparativa sgbd comercial vs libre
 
Ceph - A distributed storage system
Ceph - A distributed storage systemCeph - A distributed storage system
Ceph - A distributed storage system
 
Deep Dive into GPU Support in Apache Spark 3.x
Deep Dive into GPU Support in Apache Spark 3.xDeep Dive into GPU Support in Apache Spark 3.x
Deep Dive into GPU Support in Apache Spark 3.x
 
Handling Redis failover with ZooKeeper
Handling Redis failover with ZooKeeperHandling Redis failover with ZooKeeper
Handling Redis failover with ZooKeeper
 
Basics of reflection in java
Basics of reflection in javaBasics of reflection in java
Basics of reflection in java
 
What Is Apache Spark? | Introduction To Apache Spark | Apache Spark Tutorial ...
What Is Apache Spark? | Introduction To Apache Spark | Apache Spark Tutorial ...What Is Apache Spark? | Introduction To Apache Spark | Apache Spark Tutorial ...
What Is Apache Spark? | Introduction To Apache Spark | Apache Spark Tutorial ...
 
Spark core
Spark coreSpark core
Spark core
 
Meet Spilo, Zalando’s HIGH-AVAILABLE POSTGRESQL CLUSTER - Feike Steenbergen
Meet Spilo, Zalando’s HIGH-AVAILABLE POSTGRESQL CLUSTER - Feike SteenbergenMeet Spilo, Zalando’s HIGH-AVAILABLE POSTGRESQL CLUSTER - Feike Steenbergen
Meet Spilo, Zalando’s HIGH-AVAILABLE POSTGRESQL CLUSTER - Feike Steenbergen
 

Similar a Introducción a Scala

Iniciando microservicios reales con JakartaEE/MicroProfile y arquetipos de Maven
Iniciando microservicios reales con JakartaEE/MicroProfile y arquetipos de MavenIniciando microservicios reales con JakartaEE/MicroProfile y arquetipos de Maven
Iniciando microservicios reales con JakartaEE/MicroProfile y arquetipos de MavenVíctor Leonel Orozco López
 
Frameworks de Desarrollo Web Grails
Frameworks de Desarrollo Web GrailsFrameworks de Desarrollo Web Grails
Frameworks de Desarrollo Web GrailsEsteban Saavedra
 
Mi Lenguaje de Programacion de Preferencia
Mi Lenguaje de Programacion de PreferenciaMi Lenguaje de Programacion de Preferencia
Mi Lenguaje de Programacion de PreferenciaNelson Rivera
 
Mi lenguaje de programacion de preferencia
Mi lenguaje de programacion de preferenciaMi lenguaje de programacion de preferencia
Mi lenguaje de programacion de preferenciaNelson Rivera
 
¿Por que cambiar de Apache Hadoop a Apache Spark?
¿Por que cambiar de Apache Hadoop a Apache Spark?¿Por que cambiar de Apache Hadoop a Apache Spark?
¿Por que cambiar de Apache Hadoop a Apache Spark?Socialmetrix
 
1 fundamentos java
1 fundamentos java1 fundamentos java
1 fundamentos javaayreonmx
 
Conociendo las tecnologías de TypeSafe (Primer meetup Scala Perú Nov 2015)
Conociendo las tecnologías de TypeSafe (Primer meetup Scala Perú Nov 2015)Conociendo las tecnologías de TypeSafe (Primer meetup Scala Perú Nov 2015)
Conociendo las tecnologías de TypeSafe (Primer meetup Scala Perú Nov 2015)Marco Antonio Ordoñez Valverde
 
Lenguajes Dinámicos en la Java Virtual Machine
Lenguajes Dinámicos en la Java Virtual MachineLenguajes Dinámicos en la Java Virtual Machine
Lenguajes Dinámicos en la Java Virtual MachineÓscar Andrés López
 
Mi lenguaje de programación de preferencia
Mi lenguaje de programación de preferenciaMi lenguaje de programación de preferencia
Mi lenguaje de programación de preferenciaglfloresgilberto
 
Why Apache Flink is better than Spark by Rubén Casado
Why Apache Flink is better than Spark by Rubén CasadoWhy Apache Flink is better than Spark by Rubén Casado
Why Apache Flink is better than Spark by Rubén CasadoBig Data Spain
 

Similar a Introducción a Scala (20)

Scala desde c# y JavaScript
Scala desde c# y JavaScriptScala desde c# y JavaScript
Scala desde c# y JavaScript
 
S01.s1 - Lenguaje Java-1.pdf
S01.s1 - Lenguaje Java-1.pdfS01.s1 - Lenguaje Java-1.pdf
S01.s1 - Lenguaje Java-1.pdf
 
Iniciando microservicios reales con JakartaEE/MicroProfile y arquetipos de Maven
Iniciando microservicios reales con JakartaEE/MicroProfile y arquetipos de MavenIniciando microservicios reales con JakartaEE/MicroProfile y arquetipos de Maven
Iniciando microservicios reales con JakartaEE/MicroProfile y arquetipos de Maven
 
Scala
ScalaScala
Scala
 
Introduccion Java.ppt
Introduccion Java.pptIntroduccion Java.ppt
Introduccion Java.ppt
 
JAVA.pptx
JAVA.pptxJAVA.pptx
JAVA.pptx
 
Frameworks de Desarrollo Web Grails
Frameworks de Desarrollo Web GrailsFrameworks de Desarrollo Web Grails
Frameworks de Desarrollo Web Grails
 
Frameworks JAVA EE 5 de marzo de 2.012
Frameworks JAVA EE 5 de marzo de 2.012Frameworks JAVA EE 5 de marzo de 2.012
Frameworks JAVA EE 5 de marzo de 2.012
 
Mi Lenguaje de Programacion de Preferencia
Mi Lenguaje de Programacion de PreferenciaMi Lenguaje de Programacion de Preferencia
Mi Lenguaje de Programacion de Preferencia
 
Mi lenguaje de programacion de preferencia
Mi lenguaje de programacion de preferenciaMi lenguaje de programacion de preferencia
Mi lenguaje de programacion de preferencia
 
¿Por que cambiar de Apache Hadoop a Apache Spark?
¿Por que cambiar de Apache Hadoop a Apache Spark?¿Por que cambiar de Apache Hadoop a Apache Spark?
¿Por que cambiar de Apache Hadoop a Apache Spark?
 
C1 java introduccion
C1 java introduccionC1 java introduccion
C1 java introduccion
 
C1 java introduccion
C1 java introduccionC1 java introduccion
C1 java introduccion
 
1 fundamentos java
1 fundamentos java1 fundamentos java
1 fundamentos java
 
Conociendo las tecnologías de TypeSafe (Primer meetup Scala Perú Nov 2015)
Conociendo las tecnologías de TypeSafe (Primer meetup Scala Perú Nov 2015)Conociendo las tecnologías de TypeSafe (Primer meetup Scala Perú Nov 2015)
Conociendo las tecnologías de TypeSafe (Primer meetup Scala Perú Nov 2015)
 
Dynamic jvm
Dynamic jvmDynamic jvm
Dynamic jvm
 
Lenguajes Dinámicos en la Java Virtual Machine
Lenguajes Dinámicos en la Java Virtual MachineLenguajes Dinámicos en la Java Virtual Machine
Lenguajes Dinámicos en la Java Virtual Machine
 
Weka
WekaWeka
Weka
 
Mi lenguaje de programación de preferencia
Mi lenguaje de programación de preferenciaMi lenguaje de programación de preferencia
Mi lenguaje de programación de preferencia
 
Why Apache Flink is better than Spark by Rubén Casado
Why Apache Flink is better than Spark by Rubén CasadoWhy Apache Flink is better than Spark by Rubén Casado
Why Apache Flink is better than Spark by Rubén Casado
 

Último

Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxFederico Castellari
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIhmpuellon
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativanicho110
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxJorgeParada26
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosJhonJairoRodriguezCe
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 

Último (10)

Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos Basicos
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 

Introducción a Scala