50 talks
🎤
Bienvenida a Opensouthcode 2019
Speakers:
👤
David Sedeño
📅 Fri, 24 May 2019 at 09:45
show details
Bienvenida a Opensouthcode 2019
Bienvenida a Opensouthcode 2019
🎤
Enganchado a React Hooks
Speakers:
👤
Braulio
📅 Fri, 24 May 2019 at 10:00
show details
El equipo de React la ha vuelto a liar :-) han sacado en una release menor, una nueva aproximación para programar componentes funcionales con estado, ¿Te apuntas a ver que han hecho estos chicos y como va a afectar a la forma que vas a desarrollar en los próximos años?
El equipo de React la ha vuelto a liar :-) han sacado en una release menor, una nueva aproximación para programar componentes funcionales con estado, ¿Te apuntas a ver que han hecho estos chicos y como va a afectar a la forma que vas a desarrollar en los próximos años?
🎤
Docket con Docker: springfox con swagger 3 para microservicios
Speakers:
👤
Pedro
📅 Fri, 24 May 2019 at 10:00
show details
Veremos cómo documentar nuestras APIs REST usando Dockers con con Spring (con su módulo SpringBoot para exponer las APIs) y SpringFox, una librería que ofrece tanto el documento de especificación Swagger como una interfaz web para entender (incluso probar) nuestras APIs REST.
Veremos cómo documentar nuestras APIs REST usando Dockers con con Spring (con su módulo SpringBoot para exponer las APIs) y SpringFox, una librería que ofrece tanto el documento de especificación Swagger como una interfaz web para entender (incluso probar) nuestras APIs REST.
🎤
IaC: Gestiona tu infrastructura como código con Terraform
Speakers:
👤
Gonzalo
📅 Fri, 24 May 2019 at 10:00
show details
IaC (Infrastructure as code) es el proceso de gestión de una infraestructura (cloud o bare metal) mediante ficheros de configuración en lugar de configuraciones manuales. De este modo intentamos automatizar la creación, o incluso replicación, de nuestro entornos evitando fallos humanos, compartiendo el conocimiento (que antes sólo tendrían los administradores de sistemas que desplegaran dicho entorno) y gestionándolo con un sw de control de versiones. Terraform es una herramienta de IaC desarrollada en Go por HashiCorp y compatible con la gran mayoría de proveedores de nube. Es una herramienta que nos provee un enfoque declarativo y tiene la capacidad de modificar la infraestructura existente para amoldarla a la que el usuario haya requerido utilizando un lenguaje de alto nivel HCL (Hashicorp Configuration Language).
IaC (Infrastructure as code) es el proceso de gestión de una infraestructura (cloud o bare metal) mediante ficheros de configuración en lugar de configuraciones manuales. De este modo intentamos automatizar la creación, o incluso replicación, de nuestro entornos evitando fallos humanos, compartiendo el conocimiento (que antes sólo tendrían los administradores de sistemas que desplegaran dicho entorno) y gestionándolo con un sw de control de versiones. Terraform es una herramienta de IaC desarrollada en Go por HashiCorp y compatible con la gran mayoría de proveedores de nube. Es una herramienta que nos provee un enfoque declarativo y tiene la capacidad de modificar la infraestructura existente para amoldarla a la que el usuario haya requerido utilizando un lenguaje de alto nivel HCL (Hashicorp Configuration Language).
🎤
QA en SEO
Speakers:
👤
Beatriz
👤
Carlos Bonilla
📅 Fri, 24 May 2019 at 11:00
show details
Si nadie encuentra en Google un proyecto web en el que se ha trabajado durante meses, ¿de qué sirve todo ese esfuerzo? Carlos Bonilla (QA) y Bea González (SEO) te cuentan cómo hacer QA al SEO. QA y SEO son los grandes olvidades en los proyectos tecnológicos pero juntos, contribuyen a que sean un éxito. A través de una charla interactiva con ejemplos prácticos, Carlos y Bea te darán una buena contextualización sobre cómo hacerle QA al SEO. ¿Te lo vas a perder?
Si nadie encuentra en Google un proyecto web en el que se ha trabajado durante meses, ¿de qué sirve todo ese esfuerzo? Carlos Bonilla (QA) y Bea González (SEO) te cuentan cómo hacer QA al SEO. QA y SEO son los grandes olvidades en los proyectos tecnológicos pero juntos, contribuyen a que sean un éxito. A través de una charla interactiva con ejemplos prácticos, Carlos y Bea te darán una buena contextualización sobre cómo hacerle QA al SEO. ¿Te lo vas a perder?
🎤
Añadiendo seguridad a React Apps con Auth0
Speakers:
👤
Daily Miranda Pardo
📅 Fri, 24 May 2019 at 11:00
show details
En esta charla podrás ver contenidos que te permitirán saber cómo manejar la **autorización y autenticación** en tu aplicación **React**. Implementar el inicio de sesión, registro y las llamadas seguras a la API utilizando los protocolos de seguridad modernos, incluidos **OAuth** 2.0, **OpenID** Connect y **JWT** tokens. Conocerás los scopes, roles y reglas de OAuth. Podrás ver como hacer el almacenamiento de tokens en localStorage y tokens en memoria. Finalmente sabrás lo que es autenticación silenciosa, renovación de tokens y las opciones de personalización de **Auth0**.
En esta charla podrás ver contenidos que te permitirán saber cómo manejar la **autorización y autenticación** en tu aplicación **React**. Implementar el inicio de sesión, registro y las llamadas seguras a la API utilizando los protocolos de seguridad modernos, incluidos **OAuth** 2.0, **OpenID** Connect y **JWT** tokens. Conocerás los scopes, roles y reglas de OAuth. Podrás ver como hacer el almacenamiento de tokens en localStorage y tokens en memoria. Finalmente sabrás lo que es autenticación silenciosa, renovación de tokens y las opciones de personalización de **Auth0**.
🎤
Creando aplicaciones multi-tenant
Speakers:
👤
Nacho Fanjul
📅 Fri, 24 May 2019 at 11:00
show details
La mayoría de las veces, cuando hablamos de desarrollar aplicaciones para cloud, podemos cometer el error de no tener en cuenta una serie de factores que influyen a la hora de plantear la arquitectura de nuestras soluciones. Uno de los factores más comunes es como gestionar los datos de cada cliente. Venimos de una vida donde la infraestructura es on-premise, en la que cada cliente tiene una instalación independiente. En cloud, esto pierde el sentido, ya que perderíamos toda la potencia y flexibilidad que nos ofrece. En esta sesión veremos cómo pasar nuestra aplicación on-premise a cloud, como orientar la arquitectura y las ventajas e inconvenientes que nos ofrece.
La mayoría de las veces, cuando hablamos de desarrollar aplicaciones para cloud, podemos cometer el error de no tener en cuenta una serie de factores que influyen a la hora de plantear la arquitectura de nuestras soluciones. Uno de los factores más comunes es como gestionar los datos de cada cliente. Venimos de una vida donde la infraestructura es on-premise, en la que cada cliente tiene una instalación independiente. En cloud, esto pierde el sentido, ya que perderíamos toda la potencia y flexibilidad que nos ofrece. En esta sesión veremos cómo pasar nuestra aplicación on-premise a cloud, como orientar la arquitectura y las ventajas e inconvenientes que nos ofrece.
🎤
Manteniendo el estado a raya con Vuex y Typescript
Speakers:
👤
lissette.ibnz
📅 Fri, 24 May 2019 at 12:00
show details
¿Estás cansado de que tus datos cambien sin saber por qué y que los componentes trasteen con ellos a su antojo? ¡Átalos en corto con Vuex! **Vuex** es una librería que te permite _mantener un store centralizado_ para todos los componentes de tu aplicación realizada con Vue. Está inspirada en el patrón de Flux por lo que se basa en el concepto de **one-way data flow**. En esta charla veremos cómo implementar Vuex de forma dinámica mediante módulos, apoyándonos en TypeScript.
¿Estás cansado de que tus datos cambien sin saber por qué y que los componentes trasteen con ellos a su antojo? ¡Átalos en corto con Vuex! **Vuex** es una librería que te permite _mantener un store centralizado_ para todos los componentes de tu aplicación realizada con Vue. Está inspirada en el patrón de Flux por lo que se basa en el concepto de **one-way data flow**. En esta charla veremos cómo implementar Vuex de forma dinámica mediante módulos, apoyándonos en TypeScript.
🎤
Transforma tu Monolito con HMVC
Speakers:
👤
Luis Majano
📅 Fri, 24 May 2019 at 12:00
show details
En esta presentacion exploraremos el problema mas grande de nuestra industria: **Las Aplicaciones Legacy**. Estas no discriminan el lenguaje o plataforma de uso. Exploraremos el problema y nos devolveremos a la escuela de arquitectura para ver como podemos transformar estos monolitos a plataformas de grande escala ocupando HMVC (MVC Jerarquico) y Microservicios. No tengas miedo que juntos batallaremos estos dinosaurios!
En esta presentacion exploraremos el problema mas grande de nuestra industria: **Las Aplicaciones Legacy**. Estas no discriminan el lenguaje o plataforma de uso. Exploraremos el problema y nos devolveremos a la escuela de arquitectura para ver como podemos transformar estos monolitos a plataformas de grande escala ocupando HMVC (MVC Jerarquico) y Microservicios. No tengas miedo que juntos batallaremos estos dinosaurios!
🎤
Programación de videojuegos 2D con Phaser
Speakers:
👤
Sergio Banderas Moreno
📅 Fri, 24 May 2019 at 12:00
show details
Sergio Banderas es profesor de Informática en la FP del IES Campanillas en el PTA (Málaga) twitter: [@sergiflags](https://twitter.com/sergiflags) En los últimos cursos ha empleando la programación de videojuegos para ampliar el ecosistemas de tecnologías usadas en programación web (NodeJS, webpack, babel, socket.io, ES6, autenticación, diseño, despliegue, etc) http://iescampanillas.com/2018/12/10/programacion_juegos2d/ El framework utilizado para los videojuegos es Phaser (open source) , se programa en javascript, con soporte ES6 y Typescript. http://phaser.io/ Durante 2019 ha realizado formación con talleres de programación de VideoJuegos 2D con Phaser al profesorado de FP de Informática de Sevilla, Córdoba y Málaga , usando solo herramientas libres (Visual Studio Code, NodeJS, Tiled, Piskel, Audicity, Beppbox etc) Actualmente participa en un proyecto de creación de un videojuego entre estudiantes de la escuela rural CEIP Miguel Hernández (Almogía) y de FP Informática del IES Campanillas. [PRIVET GAMEDEV PROJECT](https://twitter.com/gamedev_innicia) ![enter image description here](http://iescampanillas.com/erasmus/CmapPhasermin.png "enter image title here")
Sergio Banderas es profesor de Informática en la FP del IES Campanillas en el PTA (Málaga) twitter: [@sergiflags](https://twitter.com/sergiflags) En los últimos cursos ha empleando la programación de videojuegos para ampliar el ecosistemas de tecnologías usadas en programación web (NodeJS, webpack, babel, socket.io, ES6, autenticación, diseño, despliegue, etc) http://iescampanillas.com/2018/12/10/programacion_juegos2d/ El framework utilizado para los videojuegos es Phaser (open source) , se programa en javascript, con soporte ES6 y Typescript. http://phaser.io/ Durante 2019 ha realizado formación con talleres de programación de VideoJuegos 2D con Phaser al profesorado de FP de Informática de Sevilla, Córdoba y Málaga , usando solo herramientas libres (Visual Studio Code, NodeJS, Tiled, Piskel, Audicity, Beppbox etc) Actualmente participa en un proyecto de creación de un videojuego entre estudiantes de la escuela rural CEIP Miguel Hernández (Almogía) y de FP Informática del IES Campanillas. [PRIVET GAMEDEV PROJECT](https://twitter.com/gamedev_innicia) ![enter image description here](http://iescampanillas.com/erasmus/CmapPhasermin.png "enter image title here")
🎤
Pipelines de entrega continua multilenguaje con Jenkins y Docker
Speakers:
👤
Jorge Hidalgo
📅 Fri, 24 May 2019 at 12:00
show details
En el taller mostraremos cómo desatar el poder de Jenkins y Docker para hacer pipelines de entrega continua para Java (Maven, Boot), JavaScript (Node, Webpack) y Python (pip, Flask). Empezaremos desde la base, montando Jenkins sobre Docker. Introduciremos los conceptos principales de pipelines-como-código con Jenkinsfile, y construiremos los pipelines paso a paso desde lo más sencillo a lo más complejo todo el camino hasta "producción".
En el taller mostraremos cómo desatar el poder de Jenkins y Docker para hacer pipelines de entrega continua para Java (Maven, Boot), JavaScript (Node, Webpack) y Python (pip, Flask). Empezaremos desde la base, montando Jenkins sobre Docker. Introduciremos los conceptos principales de pipelines-como-código con Jenkinsfile, y construiremos los pipelines paso a paso desde lo más sencillo a lo más complejo todo el camino hasta "producción".
🎤
Contentful, Netlify y el gran Gatsby
Speakers:
👤
Daniel Sánchez Muñoz
📅 Fri, 24 May 2019 at 13:00
show details
En esta charla veremos el set perfecto de herramientas para crear web sites de manera simple y con las últimas tecnologías.
En esta charla veremos el set perfecto de herramientas para crear web sites de manera simple y con las últimas tecnologías.
🎤
Strimzi: Where Kafka meets OpenShift
Speakers:
👤
Roman Martin Gil
📅 Fri, 24 May 2019 at 13:00
show details
[Apache Kafka](https://kafka.apache.org/) is the most used data streaming broker by companies. It could manage millions of messages easily and it is the base of many architectures based in events, micro-services, orchestration, ... and now cloud environments. [OpenShift](https://www.openshift.com/) is the most extended Platform as a Service (Paas). It is based in Kubernetes and it helps the companies to deploy easily any kind of workload in a cloud environment. Thanks many of its features it is the base for many architectures based in stateless applications to build new Cloud Native Applications. [Strimzi](https://strimzi.io/) is an open source community that implements a set of Kubernetes Operators to help you to manage and deploy Apache Kafka brokers in OpenShift environments. This session will show you the most important features of Strimzi and how to deploy and manage an Apache Kafka Cluster in an OpenShift Platform.
[Apache Kafka](https://kafka.apache.org/) is the most used data streaming broker by companies. It could manage millions of messages easily and it is the base of many architectures based in events, micro-services, orchestration, ... and now cloud environments. [OpenShift](https://www.openshift.com/) is the most extended Platform as a Service (Paas). It is based in Kubernetes and it helps the companies to deploy easily any kind of workload in a cloud environment. Thanks many of its features it is the base for many architectures based in stateless applications to build new Cloud Native Applications. [Strimzi](https://strimzi.io/) is an open source community that implements a set of Kubernetes Operators to help you to manage and deploy Apache Kafka brokers in OpenShift environments. This session will show you the most important features of Strimzi and how to deploy and manage an Apache Kafka Cluster in an OpenShift Platform.
🎤
WP-CLI - Automatiza tus tareas y tómate un café
Speakers:
👤
fcjurado
📅 Fri, 24 May 2019 at 15:30
show details
En esta charla aprenderemos a usar la herramienta WP CLI, la herramienta de línea de comandos para gestionar nuestros sitios WordPress. Veremos como WP CLI permite: - Instalar WordPress - Actualizar WordPress: plugins, temas, traducciones y core - Importar y exportar contenido de uno o varios sites - Importación masiva de imágenes - Regenerar miniaturas - Realizar copias de seguridad de la base de datos - Buscar y reemplazar en la base de datos - Crear usuarios - Eliminar todos los posts - Y lo que me de tiempo ;) Imparte: Francisco Calderón Jurado - @fcjurado
En esta charla aprenderemos a usar la herramienta WP CLI, la herramienta de línea de comandos para gestionar nuestros sitios WordPress. Veremos como WP CLI permite: - Instalar WordPress - Actualizar WordPress: plugins, temas, traducciones y core - Importar y exportar contenido de uno o varios sites - Importación masiva de imágenes - Regenerar miniaturas - Realizar copias de seguridad de la base de datos - Buscar y reemplazar en la base de datos - Crear usuarios - Eliminar todos los posts - Y lo que me de tiempo ;) Imparte: Francisco Calderón Jurado - @fcjurado
🎤
From data gathering to visualization: How to measure software development?
Speakers:
👤
Valerio
📅 Fri, 24 May 2019 at 15:30
show details
With more and more digitized companies and software being a crucial asset to gain competitive advantage, some firms choose to beat competition adopting Open Source to boost innovation. However, this journey requires a clear Software Data Strategy to succeed. This data-driven approach creates new ways to gather and visualize data to better find meaningful insights among software development activity, performance and community, for future reporting and decision making. GrimoireLab (https://chaoss.github.io/grimoirelab) produces integrated, open source software for analyzing software and visualizing metrics for measuring community, activity, contributions, performance and project health. Is one of the founding software projects of CHAOSS (Community Health Analytics Open Source Software) project, from The Linux Foundation (https://chaoss.community). Join us during this Journey from data extraction, gathering, visualization and finally,data interpretation to learn how to measure software development within your Open Source projects with GrimoireLab.
With more and more digitized companies and software being a crucial asset to gain competitive advantage, some firms choose to beat competition adopting Open Source to boost innovation. However, this journey requires a clear Software Data Strategy to succeed. This data-driven approach creates new ways to gather and visualize data to better find meaningful insights among software development activity, performance and community, for future reporting and decision making. GrimoireLab (https://chaoss.github.io/grimoirelab) produces integrated, open source software for analyzing software and visualizing metrics for measuring community, activity, contributions, performance and project health. Is one of the founding software projects of CHAOSS (Community Health Analytics Open Source Software) project, from The Linux Foundation (https://chaoss.community). Join us during this Journey from data extraction, gathering, visualization and finally,data interpretation to learn how to measure software development within your Open Source projects with GrimoireLab.
🎤
Kubevirt 101
Speakers:
👤
Juan Manuel Parrilla
👤
Sergi
📅 Fri, 24 May 2019 at 15:30
show details
# Kubevirt 101 In this session we will talk about what is KubeVirt and how it works under the hood on a Kubernetes platform. KubeVirt is a project that allows users to create and manage virtual machines within a Kubernetes cluster. Attendees will walk away with the following: - Understanding of KubeVirt installation. - Understanding of the basic KubeVirt objects and components. - Understanding on how to deploy/manage virtual machines. - Understanding on KubeVirt storage. - Understanding on KubeVirt networking. - Understanding on how KubeVirt integrates with Prometheus. ## Benefits to the ecosystem Kubernetes is a well established container platform, but migrating applications/services to containers is not always easy or possible at all. KubeVirt gives a chance to those in such situation allowing them to migrate virtual machine based workloads to the same platform where they already run containers with the same workflow in mind and using Kubernetes facilities, such as the scheduler, storage integrations, networking, ... helping them to converged their IT infrastructure into one single platform, Kubernetes. ## Topics related with - Kubernetes - Openshift - Virtualization - Kubevirt
# Kubevirt 101 In this session we will talk about what is KubeVirt and how it works under the hood on a Kubernetes platform. KubeVirt is a project that allows users to create and manage virtual machines within a Kubernetes cluster. Attendees will walk away with the following: - Understanding of KubeVirt installation. - Understanding of the basic KubeVirt objects and components. - Understanding on how to deploy/manage virtual machines. - Understanding on KubeVirt storage. - Understanding on KubeVirt networking. - Understanding on how KubeVirt integrates with Prometheus. ## Benefits to the ecosystem Kubernetes is a well established container platform, but migrating applications/services to containers is not always easy or possible at all. KubeVirt gives a chance to those in such situation allowing them to migrate virtual machine based workloads to the same platform where they already run containers with the same workflow in mind and using Kubernetes facilities, such as the scheduler, storage integrations, networking, ... helping them to converged their IT infrastructure into one single platform, Kubernetes. ## Topics related with - Kubernetes - Openshift - Virtualization - Kubevirt
🎤
Desarrollo web basado en Microservicios
Speakers:
👤
Francisco Sánchez
📅 Fri, 24 May 2019 at 15:30
show details
Empezaremos con una breve introducción de lo que significa desarrollar una app web con la mente puesta en microservicios, ventajas e inconvenientes, mencionando famosos casos de éxito por el uso de microservicios como Netflix, Spotify o Amazon. A continuación daremos un repaso a las principales herramientas open source que nos pueden ayudar a crear y desplegar aplicaciones web basadas en microservicios, escalables y fácilmente mantenibles. También mostraremos un ejemplo práctico en el que se usan algunas de estas herramientas trabajando juntas, ofreciendo una visión devOps pero desde la perspectiva de un desarrollador Ruby on Rails. Algunas de las herramientas que usaremos en el ejemplo práctico son Ruby Gems, GitLab, Docker, Jenkins, Terraform, Swagger o PostgreSQL... Por último mencionaremos brevemente y explicaremos pare qué sirven, sin entrar en mucho detalle, herramientas como Ansible, Chef, OpenShift, Puppet, Kubernetes, o LetsEncrypt...
Empezaremos con una breve introducción de lo que significa desarrollar una app web con la mente puesta en microservicios, ventajas e inconvenientes, mencionando famosos casos de éxito por el uso de microservicios como Netflix, Spotify o Amazon. A continuación daremos un repaso a las principales herramientas open source que nos pueden ayudar a crear y desplegar aplicaciones web basadas en microservicios, escalables y fácilmente mantenibles. También mostraremos un ejemplo práctico en el que se usan algunas de estas herramientas trabajando juntas, ofreciendo una visión devOps pero desde la perspectiva de un desarrollador Ruby on Rails. Algunas de las herramientas que usaremos en el ejemplo práctico son Ruby Gems, GitLab, Docker, Jenkins, Terraform, Swagger o PostgreSQL... Por último mencionaremos brevemente y explicaremos pare qué sirven, sin entrar en mucho detalle, herramientas como Ansible, Chef, OpenShift, Puppet, Kubernetes, o LetsEncrypt...
🎤
Trabajando con Genesis Hooks
Speakers:
👤
Luis
📅 Fri, 24 May 2019 at 16:30
show details
Los hooks ofrecen una manera de escribir código personalizado, alterando el comportamiento de WordPress y Genesis. En esta charla, veremos cómo trabajar con los hooks de Genesis y la manera de encontrar el hook más adecuado para tus funciones personalizadas.
Los hooks ofrecen una manera de escribir código personalizado, alterando el comportamiento de WordPress y Genesis. En esta charla, veremos cómo trabajar con los hooks de Genesis y la manera de encontrar el hook más adecuado para tus funciones personalizadas.
🎤
Node + TypeScript
Speakers:
👤
Jaime
📅 Fri, 24 May 2019 at 16:30
show details
En esta ponencia haremos una retrospectiva del uso de Node junto con TypeScript, configuración, debugging, y goodies del typing estático.
En esta ponencia haremos una retrospectiva del uso de Node junto con TypeScript, configuración, debugging, y goodies del typing estático.
🎤
Across the tidyverse - Análisis y visualización de datos con R
Speakers:
👤
Joaquín Morís
📅 Fri, 24 May 2019 at 16:30
show details
[R](https://www.r-project.org/) es un lenguaje de programación destinado al análisis de datos y a día de hoy es una de las alternativas más populares y potentes para este tipo de tareas. Además de ser software libre, tiene una amplia comunidad que continúa extendiendo el lenguaje y mejorando su funcionalidad. [Tidyverse](https://www.tidyverse.org/) es una colección de librerías de R diseñadas para el trabajo en ciencia de datos. Estas librerías proporcionan una manera sencilla de manipular, limpiar, analizar y visualizar datos, simplificando la sintaxis base de R. En esta charla llevaremos a cabo cada uno de estos pasos demostrando las principales funciones del tidyverse y como en 40 minutos podemos pasar de nuestras bases de datos originales a responder las preguntas que nos interesan y tener gráficos de alta calidad listos para su publicación.
[R](https://www.r-project.org/) es un lenguaje de programación destinado al análisis de datos y a día de hoy es una de las alternativas más populares y potentes para este tipo de tareas. Además de ser software libre, tiene una amplia comunidad que continúa extendiendo el lenguaje y mejorando su funcionalidad. [Tidyverse](https://www.tidyverse.org/) es una colección de librerías de R diseñadas para el trabajo en ciencia de datos. Estas librerías proporcionan una manera sencilla de manipular, limpiar, analizar y visualizar datos, simplificando la sintaxis base de R. En esta charla llevaremos a cabo cada uno de estos pasos demostrando las principales funciones del tidyverse y como en 40 minutos podemos pasar de nuestras bases de datos originales a responder las preguntas que nos interesan y tener gráficos de alta calidad listos para su publicación.
🎤
Arquitectura Angular S.O.L.I.D. Cómo diseñar una aplicación web mantenible y extensible
Speakers:
👤
José Antonio Suárez Guerrero
📅 Fri, 24 May 2019 at 17:30
show details
Analizaremos cómo diseñar una aplicación web usando **Angular 7**, mantenible y extensible, presentando una arquitectura de referencia basada en los 5 principios fundamentales de **OOP** o _Desarrollo Orientado a Objetos_ **S.O.L.I.D:** 1. **S**ingle Responsibility. 1. **O**pen/Closed. 1. **L**iskov Substitution. 1. **I**nterface Segregation. 1. **D**ependency Inversion. Presentaremos una arquitectura **Top-Down** de una aplicación Angular típica donde, mediante **SonarQube**, comprobaremos los distintos resultados aplicando y no aplicando dichos principios, analizando principalmente el impacto en la _complejidad cognitiva_.
Analizaremos cómo diseñar una aplicación web usando **Angular 7**, mantenible y extensible, presentando una arquitectura de referencia basada en los 5 principios fundamentales de **OOP** o _Desarrollo Orientado a Objetos_ **S.O.L.I.D:** 1. **S**ingle Responsibility. 1. **O**pen/Closed. 1. **L**iskov Substitution. 1. **I**nterface Segregation. 1. **D**ependency Inversion. Presentaremos una arquitectura **Top-Down** de una aplicación Angular típica donde, mediante **SonarQube**, comprobaremos los distintos resultados aplicando y no aplicando dichos principios, analizando principalmente el impacto en la _complejidad cognitiva_.
🎤
OpenStack: tu cloud privada. Lo bueno, lo feo y lo malo.
Speakers:
👤
Pablo Martínez Schroder
📅 Fri, 24 May 2019 at 17:30
show details
Una introducción de OpenStack, que te permitirá disfrutar de una cloud privada o pública con tecnologías Open Source. Una introducción y demo sobre el producto.
Una introducción de OpenStack, que te permitirá disfrutar de una cloud privada o pública con tecnologías Open Source. Una introducción y demo sobre el producto.
🎤
Desarrollo de bloques de WordPress Gutenberg con React
Speakers:
👤
Franken Pérez
📅 Fri, 24 May 2019 at 17:30
show details
**Gutenberg**, el nuevo editor de **WordPress** basado en bloques, está cambiando el modo de trabajar y desarrollar con este gestor de contenidos. Una de sus novedades es el cambio en el stack de tecnologías, que han convertido a JavaScript en la principal herramienta de desarrollo para este editor. Las posibilidades que nos ofrece Gutenberg se hacen casi infinitas cuando podemos crear nuestros propios bloques de contenido personalizados. Partiendo de un ejemplo sencillo, desarrollaremos nuevos bloques de contenido mediante JavaScript, sirviéndonos de la propia capa de abstracción que Gutenberg ha implementado sobre **React**. ![Desarrollo de bloques de WordPress Gutenberg con React](https://lh6.googleusercontent.com/j8DM6gB0wi1UYitoR4nR8cN3DF7g7Qkc0Wyh5x85EHMF2q_HkSK-Yfi0e6eETS4VaIjvwlHSMzeduOfi7Xwh=w1920-h842 "Desarrollo de bloques de WordPress Gutenberg con React")
**Gutenberg**, el nuevo editor de **WordPress** basado en bloques, está cambiando el modo de trabajar y desarrollar con este gestor de contenidos. Una de sus novedades es el cambio en el stack de tecnologías, que han convertido a JavaScript en la principal herramienta de desarrollo para este editor. Las posibilidades que nos ofrece Gutenberg se hacen casi infinitas cuando podemos crear nuestros propios bloques de contenido personalizados. Partiendo de un ejemplo sencillo, desarrollaremos nuevos bloques de contenido mediante JavaScript, sirviéndonos de la propia capa de abstracción que Gutenberg ha implementado sobre **React**. ![Desarrollo de bloques de WordPress Gutenberg con React](https://lh6.googleusercontent.com/j8DM6gB0wi1UYitoR4nR8cN3DF7g7Qkc0Wyh5x85EHMF2q_HkSK-Yfi0e6eETS4VaIjvwlHSMzeduOfi7Xwh=w1920-h842 "Desarrollo de bloques de WordPress Gutenberg con React")
🎤
Taller de Lenguaje R: Aprendiendo a realizar análisis de datos usando R: "Inserción-movilidad de nuestros titulados"
Speakers:
👤
ANGEL MORA
📅 Fri, 24 May 2019 at 17:30
show details
#Taller de Lenguaje R Aprendiendo a realizar análisis de datos usando R: "Inserción-movilidad de nuestros titulados". El **lenguaje R** se ha destacado entre los más interesantes como herramienta para el análisis de datos en las áreas de ciencia de datos, big data. Nació como un lenguaje de estadística y para estadísticos y está alcanzando una madurez que ha hecho que las grandes empresas como Google, Facebook, etc. lo consideren como su lenguaje analítico. Gran parte del éxito viene dado por sus *más de 13.000 paquetes* que permiten al usuario afrontar todo tipo de tareas. Estas librerías o paquetes son desarrolladas y mantenidas por el pilar más importante: los usuarios y grupos de usuarios del lenguaje R. Este taller va a ser impartido por los Organizadores del [Grupo de Usuarios de R de Málaga] (https://malagarusers.netlify.com/about/who-are-we/). Nuestro grupo [https://malagarusers.netlify.com](https://malagarusers.netlify.com) está bajo el paraguas de *R Consortium* que promueve el desarrollo y utilización del lenguaje y apoya a los grupos locales. *Inscríbete si estás interesado*. Durante el taller enseñaremos a los asistentes: - Los fundamentos necesarios del lenguaje R para analizar y extraer interesante conocimiento de un dataset público: "Titulados universitarios según país o región en el que trabajaban por sexo y titulación. Encuesta de Inserción Laboral de Graduados Universitarios" (www.datos.gob.es). - ¿Hay diferencia de inserción laboral por sexo entre titulaciones? - ¿Movilidad hacia otros países? - ¿Qué titulaciones son las que tienen mayor-menor porcentaje de "exiliados"? Programa del taller - temas a recorrer: - Importar dataset de [datos.gob.es](https://datos.gob.es) - Pre-procesamiento de datasets - Análisis de datos - Visualización de datos - Extracción de conocimiento - Paquetes para analizar datasets - Presentación de resultados con RMarkdown **NOTA**: Para agilizar el comienzo del taller, será necesario que los asistentes tengan una cuenta en **Rstudio Cloud**. Podrás con esta cuenta usar Rstudio a través de tu navegador. Pasaremos al principio de la clase un enlace para abrir con Rstudio Cloud con el material necesario para seguir el taller.
#Taller de Lenguaje R Aprendiendo a realizar análisis de datos usando R: "Inserción-movilidad de nuestros titulados". El **lenguaje R** se ha destacado entre los más interesantes como herramienta para el análisis de datos en las áreas de ciencia de datos, big data. Nació como un lenguaje de estadística y para estadísticos y está alcanzando una madurez que ha hecho que las grandes empresas como Google, Facebook, etc. lo consideren como su lenguaje analítico. Gran parte del éxito viene dado por sus *más de 13.000 paquetes* que permiten al usuario afrontar todo tipo de tareas. Estas librerías o paquetes son desarrolladas y mantenidas por el pilar más importante: los usuarios y grupos de usuarios del lenguaje R. Este taller va a ser impartido por los Organizadores del [Grupo de Usuarios de R de Málaga] (https://malagarusers.netlify.com/about/who-are-we/). Nuestro grupo [https://malagarusers.netlify.com](https://malagarusers.netlify.com) está bajo el paraguas de *R Consortium* que promueve el desarrollo y utilización del lenguaje y apoya a los grupos locales. *Inscríbete si estás interesado*. Durante el taller enseñaremos a los asistentes: - Los fundamentos necesarios del lenguaje R para analizar y extraer interesante conocimiento de un dataset público: "Titulados universitarios según país o región en el que trabajaban por sexo y titulación. Encuesta de Inserción Laboral de Graduados Universitarios" (www.datos.gob.es). - ¿Hay diferencia de inserción laboral por sexo entre titulaciones? - ¿Movilidad hacia otros países? - ¿Qué titulaciones son las que tienen mayor-menor porcentaje de "exiliados"? Programa del taller - temas a recorrer: - Importar dataset de [datos.gob.es](https://datos.gob.es) - Pre-procesamiento de datasets - Análisis de datos - Visualización de datos - Extracción de conocimiento - Paquetes para analizar datasets - Presentación de resultados con RMarkdown **NOTA**: Para agilizar el comienzo del taller, será necesario que los asistentes tengan una cuenta en **Rstudio Cloud**. Podrás con esta cuenta usar Rstudio a través de tu navegador. Pasaremos al principio de la clase un enlace para abrir con Rstudio Cloud con el material necesario para seguir el taller.
🎤
Wikimedia Commons, cuando una imagen vale más que mil artículos
Speakers:
👤
Pedro Pacheco
👤
JuanCamacho
📅 Fri, 24 May 2019 at 18:30
show details
Introducción al Repositorio Multimedia de contenido libre, Wikimedia Commons y su relación con los demás proyectos Wikimedia.
Introducción al Repositorio Multimedia de contenido libre, Wikimedia Commons y su relación con los demás proyectos Wikimedia.
🎤
microVM Containers: Lo mejor de ambos mundos
Speakers:
👤
Alejandro Escanero Blanco
📅 Sat, 25 May 2019 at 09:30
show details
Las soluciones basadas en contenedores disponen de alta densidad y tiempos rápidos de despliegue pero carecen de las características de seguridad aislamiento y control del que disponen las máquinas virtuales. En está charla se hablará de aquellas soluciones que están buscando rellenar el hueco dejado entre ambos paradigmas y como cada proveedor orienta su solución a un cometido concreto. Los siguientes puntos se tratarán en la charla orientada a la solución técnica y las posibilidades de negocio que se han planteado a partir de las mismas. - Contenedores: Que son, como funcionan y porque existen problemas de seguridad y aislamiento. - Máquinas virtuales: Que son, como funcionan y porque son lentas - Reduciendo el GAP entre ambas metodologías - MicroVM: Mínima expresión para una máquina virtual - CRI (Container Runtime Interface): Sustituyendo el Container Runtime por hipervisores - Analizando soluciones OpenSource: - VIC de VMware: Orientado a clientes de VMware con un nivel de entrada al mundo de los contenedores - Kata Containers: Una solución integrable con OpenStack - Firecracker: La solución de Amazon para soluciones ServerLess Pequeña demostración de ejemplo con Kubernetes, Kata Containers y Firecracker Por último acabamos resolviendo las dudas que hayan aparecido en la charla.
Las soluciones basadas en contenedores disponen de alta densidad y tiempos rápidos de despliegue pero carecen de las características de seguridad aislamiento y control del que disponen las máquinas virtuales. En está charla se hablará de aquellas soluciones que están buscando rellenar el hueco dejado entre ambos paradigmas y como cada proveedor orienta su solución a un cometido concreto. Los siguientes puntos se tratarán en la charla orientada a la solución técnica y las posibilidades de negocio que se han planteado a partir de las mismas. - Contenedores: Que son, como funcionan y porque existen problemas de seguridad y aislamiento. - Máquinas virtuales: Que son, como funcionan y porque son lentas - Reduciendo el GAP entre ambas metodologías - MicroVM: Mínima expresión para una máquina virtual - CRI (Container Runtime Interface): Sustituyendo el Container Runtime por hipervisores - Analizando soluciones OpenSource: - VIC de VMware: Orientado a clientes de VMware con un nivel de entrada al mundo de los contenedores - Kata Containers: Una solución integrable con OpenStack - Firecracker: La solución de Amazon para soluciones ServerLess Pequeña demostración de ejemplo con Kubernetes, Kata Containers y Firecracker Por último acabamos resolviendo las dudas que hayan aparecido en la charla.
🎤
JSON con Circe y otras librerías de Typelevel
Speakers:
👤
Jose Miguel Martinez
📅 Sat, 25 May 2019 at 09:30
show details
JSON, ese formato omnipresente en el mundo de las APIs, y aunque seguro que ya tienes una librería favorita para trabajar con él, déjame que con esta charla te ahorre horas de frustración y sepas transformar de JSON a scala y viceversa como un pro, y cómo puedes utilizar otras librerías del stack Typelevel para contruir tus APIs.
JSON, ese formato omnipresente en el mundo de las APIs, y aunque seguro que ya tienes una librería favorita para trabajar con él, déjame que con esta charla te ahorre horas de frustración y sepas transformar de JSON a scala y viceversa como un pro, y cómo puedes utilizar otras librerías del stack Typelevel para contruir tus APIs.
🎤
Cómo hacer test automáticos en aplicaciones iOS con Appium.
Speakers:
👤
Estefanía Fernández Muñoz
📅 Sat, 25 May 2019 at 09:30
show details
Cuando comienzas con la automatización de pruebas móviles, la primera herramienta que se te viene a la cabeza es Appium, y todo es maravilloso, sobre todo en Android ya que el 90% de los tutoriales que encuentras por internet son de Appium+Android+un Emulador, pero...¿Qué pasa con iOS?, ¿Es que las cosas de la manzanita no se prueban?, ¿Por qué?. Mi experiencia como Head de QA en una empresa de movilidad con desarrollo nativo iOS/Android me ha hecho aprender bastante sobre el tema de las pruebas automáticas en iOS y creo que es un tema interesante del que no hay demasiada información. El workshop será de 1h y tendrá un ejemplo práctico de hacer un test con Appium con una aplicación realizada por mí y que está disponible en Github (https://github.com/estefafdez/iOSTestApp) para que cualquiera pueda probarlo. Para el ejemplo es necesario: 1. Portátil Mac. 2. Appium + Java + Maven. (lo instalaremos durante el workshop) 3. Xcode 9.4 (9F1027a) instalado 4. Descargar simuladores con la versión de iOS 11.3 en Xcode. (por favor tráelo descargado, suele tardar mucho). 5. Eclipse instalado. 6. Carthage y WebDriverAgent. (lo instalaremos durante el workshop) 7. Una cuenta de Apple (no necesitas ser de desarrollador, nos vale con una cuenta de iCloud) 8. Mucha paciencia.
Cuando comienzas con la automatización de pruebas móviles, la primera herramienta que se te viene a la cabeza es Appium, y todo es maravilloso, sobre todo en Android ya que el 90% de los tutoriales que encuentras por internet son de Appium+Android+un Emulador, pero...¿Qué pasa con iOS?, ¿Es que las cosas de la manzanita no se prueban?, ¿Por qué?. Mi experiencia como Head de QA en una empresa de movilidad con desarrollo nativo iOS/Android me ha hecho aprender bastante sobre el tema de las pruebas automáticas en iOS y creo que es un tema interesante del que no hay demasiada información. El workshop será de 1h y tendrá un ejemplo práctico de hacer un test con Appium con una aplicación realizada por mí y que está disponible en Github (https://github.com/estefafdez/iOSTestApp) para que cualquiera pueda probarlo. Para el ejemplo es necesario: 1. Portátil Mac. 2. Appium + Java + Maven. (lo instalaremos durante el workshop) 3. Xcode 9.4 (9F1027a) instalado 4. Descargar simuladores con la versión de iOS 11.3 en Xcode. (por favor tráelo descargado, suele tardar mucho). 5. Eclipse instalado. 6. Carthage y WebDriverAgent. (lo instalaremos durante el workshop) 7. Una cuenta de Apple (no necesitas ser de desarrollador, nos vale con una cuenta de iCloud) 8. Mucha paciencia.
🎤
Build an API with HMVC and BDD
Speakers:
👤
Luis Majano
📅 Sat, 25 May 2019 at 10:00
show details
In this workshop we will model and build an API using a Hierarchical MVC (HMVC) framework ([ColdBox](https://www.coldbox.org/)) and apply Behavior Driven Development (BDD) to the development process. We will begin with a short introduction to our tools and stack of choice, then continue to model and write the features stories of our API. From there we will use our tools to scaffold, write and test our API. For extra credit, we will wrap our API in a Docker container and deploy it onto a local swarm. **Requirements:** - Have _CommandBox CLI_ installed ([https://www.ortussolutions.com/products/commandbox](https://www.ortussolutions.com/products/commandbox)) - Have _git_ installed ([https://git-scm.com/](https://git-scm.com/)) - Have Docker Installed: [https://www.docker.com/products/docker-desktop](https://www.docker.com/products/docker-desktop) and have the following images pulled: `docker pull ortussolutions/commandbox` and `docker pull mysql:5.7`. ### Por favor asegurarse que los requisitos esten instalados, sino no podran hacer el taller.
In this workshop we will model and build an API using a Hierarchical MVC (HMVC) framework ([ColdBox](https://www.coldbox.org/)) and apply Behavior Driven Development (BDD) to the development process. We will begin with a short introduction to our tools and stack of choice, then continue to model and write the features stories of our API. From there we will use our tools to scaffold, write and test our API. For extra credit, we will wrap our API in a Docker container and deploy it onto a local swarm. **Requirements:** - Have _CommandBox CLI_ installed ([https://www.ortussolutions.com/products/commandbox](https://www.ortussolutions.com/products/commandbox)) - Have _git_ installed ([https://git-scm.com/](https://git-scm.com/)) - Have Docker Installed: [https://www.docker.com/products/docker-desktop](https://www.docker.com/products/docker-desktop) and have the following images pulled: `docker pull ortussolutions/commandbox` and `docker pull mysql:5.7`. ### Por favor asegurarse que los requisitos esten instalados, sino no podran hacer el taller.
🎤
Talleres de creación de videojuegos en Scratch
Speakers:
👤
Ezequiel Antúnez
👤
Jose Ortiz
📅 Sat, 25 May 2019 at 10:00
show details
### Talleres de creación de videojuegos en Scratch dirigido principalmente a publico infantil donde celebraremos el SCRATCH DAY 2019. En esta actividad los niños y niñas se dedican a crear juegos, principalmente basados en las competencias STREAM. * Science - Ciencia * Technology - Tecnología * Read and writing - Lectoescritura * Engineering - Ingeniería * Art - Arte * Mathematics - Matemáticas Se divide en 3 talleres donde se darán contenidos adaptados a cada edad y tendrán una duración de 2h cada uno. * Para niños de 1º a 3º de primaria: Historia interactiva en ScratchJr. * Para niños de 4º a 6º de primaria: Pong en Scratch 3.0 (el juego tenis de la Atari) * Para secundaria y superior: Un juego de plataformas en Scratch 3.0 **Requisitos técnicos** * Para el taller de 1º a 3º de primaria es necesario que los asistentes traigan una tablet con la aplicación gratuita ScratchJr. Disponible para todas las plataformas en https://www.scratchjr.org/ * Para los talleres de 4º a 6º de primaria y secundaria o superior es necesario que los asistentes traigan una ordenador portatil con navegador Chrome, Firefox o Safari actualizado. https://day.scratch.mit.edu/events/7910/
### Talleres de creación de videojuegos en Scratch dirigido principalmente a publico infantil donde celebraremos el SCRATCH DAY 2019. En esta actividad los niños y niñas se dedican a crear juegos, principalmente basados en las competencias STREAM. * Science - Ciencia * Technology - Tecnología * Read and writing - Lectoescritura * Engineering - Ingeniería * Art - Arte * Mathematics - Matemáticas Se divide en 3 talleres donde se darán contenidos adaptados a cada edad y tendrán una duración de 2h cada uno. * Para niños de 1º a 3º de primaria: Historia interactiva en ScratchJr. * Para niños de 4º a 6º de primaria: Pong en Scratch 3.0 (el juego tenis de la Atari) * Para secundaria y superior: Un juego de plataformas en Scratch 3.0 **Requisitos técnicos** * Para el taller de 1º a 3º de primaria es necesario que los asistentes traigan una tablet con la aplicación gratuita ScratchJr. Disponible para todas las plataformas en https://www.scratchjr.org/ * Para los talleres de 4º a 6º de primaria y secundaria o superior es necesario que los asistentes traigan una ordenador portatil con navegador Chrome, Firefox o Safari actualizado. https://day.scratch.mit.edu/events/7910/
🎤
Cómo Krita puede ayudarnos en nuestros procesos creativos
Speakers:
👤
Ramón Miranda
📅 Sat, 25 May 2019 at 10:30
show details
Mi nombre es Ramón Miranda www.ramonmiranda.com y uso Krita para ilustrar y enseñar pintura digital. He colaborado con Krita desde hace años y he colaborado con el equipo de Gimp e Inkscape. El tema que sería interesante tratar es enseñar cómo colaborando con proyectos de software libre pueden surgir oportunidades laborales, como pasó con Digital Atelier ( https://krita.org/en/item/introducing-digital-atelier-a-painterly-brush-preset-pack-by-ramon-miranda-with-tutorial-videos/) el proyecto que realicé para Krita después de toda la actualización que hubo en Krita 4.0. Temas a tratar en lineas generales: - Roadmap y consecución de objetivos con un plan organizado. Cómo no volverse loco en un proyecto grande - Cómo comunicarse con entornos de trabajo internacionales y mejora de habilidades sociales. - Investigación o cómo superar barreras tecnológicas con nuestra creatividad.
Mi nombre es Ramón Miranda www.ramonmiranda.com y uso Krita para ilustrar y enseñar pintura digital. He colaborado con Krita desde hace años y he colaborado con el equipo de Gimp e Inkscape. El tema que sería interesante tratar es enseñar cómo colaborando con proyectos de software libre pueden surgir oportunidades laborales, como pasó con Digital Atelier ( https://krita.org/en/item/introducing-digital-atelier-a-painterly-brush-preset-pack-by-ramon-miranda-with-tutorial-videos/) el proyecto que realicé para Krita después de toda la actualización que hubo en Krita 4.0. Temas a tratar en lineas generales: - Roadmap y consecución de objetivos con un plan organizado. Cómo no volverse loco en un proyecto grande - Cómo comunicarse con entornos de trabajo internacionales y mejora de habilidades sociales. - Investigación o cómo superar barreras tecnológicas con nuestra creatividad.
🎤
OOP to FP mindshift
Speakers:
👤
Dawid Furman
📅 Sat, 25 May 2019 at 10:30
show details
Functional programming seems super cool but ... A good understanding of different paradigms is not an easy issue - it is like changing the culture chip and even more about some kind of mind-shift. Once we got it, your programming toolbox in terms of abstraction will be much richer than ever before. Let's see how we can slightly move into the functional paradigm world: - how we can express all well-known abstractions from OOP - classes and their relations and communication, polymorphism and some important design patterns as well Let's compare and combine the best things from these two paradigms. Let's do it together and become better programmers!
Functional programming seems super cool but ... A good understanding of different paradigms is not an easy issue - it is like changing the culture chip and even more about some kind of mind-shift. Once we got it, your programming toolbox in terms of abstraction will be much richer than ever before. Let's see how we can slightly move into the functional paradigm world: - how we can express all well-known abstractions from OOP - classes and their relations and communication, polymorphism and some important design patterns as well Let's compare and combine the best things from these two paradigms. Let's do it together and become better programmers!
🎤
Aplicación de patrones CI/CD modernos a Monorepositorios Multiaplicación Legacy - Del 1:1 al 1:N.
Speakers:
👤
José María Gutiérrez Ramírez
👤
Juan Manuel Cintas Peña
👤
Rafa Molina
📅 Sat, 25 May 2019 at 10:30
show details
En esta charla vamos a presentar una implementación que permite aplicar el modelo de Integración Continua/Despliegue Continuo (_CI/CD_) a repositorios, que pueden o no ser _legacy_, basándonos en un enfoque moderno a través de pipelines de Jenkins implementados con jenkinsfiles. La estrategia propuesta pretende solventar los retos que se plantean al trabajar con monorepositorios de código que albergan múltiples aplicaciones, aportando a la vez un alto grado de flexibilidad y adaptabilidad gracias al modelo de implementación de ese entorno de integración continua que vamos a describir. ¿Por qué nos planteamos hacer esto? La razón para abordar esta implementación parte de reforzar la idea de que no hay una única estrategia válida de gestión de la configuración en la que deba existir una relación 1:1 entre repositorio y aplicación. En el día a día no siempre nos encontramos con proyectos que cuentan con un repositorio de código o conjunto de repositorios de código con la que, a veces, se tiende a considerar, una estructura estándar de gestión de la configuración en la que cada aplicación tiene su repositorio específico (modelo 1:1) organizado en las ramas y etiquetas que se estimen necesarias. Es habitual encontrar el caso en el que la totalidad del código de las aplicaciones del cliente/proyecto se encuentra albergado en un único repositorio de código (monorepositorio en el modelo 1:N) estructurado de tal forma que todas las aplicaciones están distribuidas en diferentes carpetas organizadas siguiendo diversos criterios, habitualmente propios y específicos de ese cliente/proyecto. Tanto el modelo repo-app 1:1 como el modelo 1:N presentan pros y cons y existe una motivación detrás de cada una de estas opciones: una gestión del ciclo de vida de CI/CD en el que los pipelines deben respetar las interdependencias existentes entre las diferentes aplicaciones del monorepositorio en cuestión es una razón de peso para considerar dicho modelo como el adecuado. Y todo esto nos plantea retos en cuanto a la generación de una definición de integración continua que se adapte a esta casuística descrita en la que múltiples aplicaciones comparten un único repositorio y cuyo ciclo de vida debe orquestarse atendiendo a la interdependencia entre ellas.
En esta charla vamos a presentar una implementación que permite aplicar el modelo de Integración Continua/Despliegue Continuo (_CI/CD_) a repositorios, que pueden o no ser _legacy_, basándonos en un enfoque moderno a través de pipelines de Jenkins implementados con jenkinsfiles. La estrategia propuesta pretende solventar los retos que se plantean al trabajar con monorepositorios de código que albergan múltiples aplicaciones, aportando a la vez un alto grado de flexibilidad y adaptabilidad gracias al modelo de implementación de ese entorno de integración continua que vamos a describir. ¿Por qué nos planteamos hacer esto? La razón para abordar esta implementación parte de reforzar la idea de que no hay una única estrategia válida de gestión de la configuración en la que deba existir una relación 1:1 entre repositorio y aplicación. En el día a día no siempre nos encontramos con proyectos que cuentan con un repositorio de código o conjunto de repositorios de código con la que, a veces, se tiende a considerar, una estructura estándar de gestión de la configuración en la que cada aplicación tiene su repositorio específico (modelo 1:1) organizado en las ramas y etiquetas que se estimen necesarias. Es habitual encontrar el caso en el que la totalidad del código de las aplicaciones del cliente/proyecto se encuentra albergado en un único repositorio de código (monorepositorio en el modelo 1:N) estructurado de tal forma que todas las aplicaciones están distribuidas en diferentes carpetas organizadas siguiendo diversos criterios, habitualmente propios y específicos de ese cliente/proyecto. Tanto el modelo repo-app 1:1 como el modelo 1:N presentan pros y cons y existe una motivación detrás de cada una de estas opciones: una gestión del ciclo de vida de CI/CD en el que los pipelines deben respetar las interdependencias existentes entre las diferentes aplicaciones del monorepositorio en cuestión es una razón de peso para considerar dicho modelo como el adecuado. Y todo esto nos plantea retos en cuanto a la generación de una definición de integración continua que se adapte a esta casuística descrita en la que múltiples aplicaciones comparten un único repositorio y cuyo ciclo de vida debe orquestarse atendiendo a la interdependencia entre ellas.
🎤
Introducción a GraalVM
Speakers:
👤
Jerónimo López
📅 Sat, 25 May 2019 at 11:30
show details
GraalVM es una nueva tecnología creada por Oracle para la JVM que la convierte en una máquina virtual "universal", pudiendo ejecutar código de JS, Python, Ruby, C, C++ o R. La charla consistirá en una introducción a GraalVM, explicando sus cuatro grandes novedades: - como reemplazo del compilador JIT de Java - para generar ejecutables ultrarápidos de Java sin necesitar la JRE - para ejecutar otros lenguajes sobre la JVM, con sus bondades y sus actuales limitaciones. - interoperar entre diferentes lenguajes
GraalVM es una nueva tecnología creada por Oracle para la JVM que la convierte en una máquina virtual "universal", pudiendo ejecutar código de JS, Python, Ruby, C, C++ o R. La charla consistirá en una introducción a GraalVM, explicando sus cuatro grandes novedades: - como reemplazo del compilador JIT de Java - para generar ejecutables ultrarápidos de Java sin necesitar la JRE - para ejecutar otros lenguajes sobre la JVM, con sus bondades y sus actuales limitaciones. - interoperar entre diferentes lenguajes
🎤
El truco era el software libre
Speakers:
👤
Alberto Molina Coballes
👤
José Domingo Muñoz Rodríguez
📅 Sat, 25 May 2019 at 11:30
show details
El uso de software libre en la enseñanza y en particular en la formación de futuros administradores de sistemas ha sido la característica principal de nuestro quehacer diario como profesores en el IES Gonzalo Nazareno los últimos 15 años. Con esta charla queremos compartir nuestra experiencia y mostrar por qué el software libre deb ser la herramienta principal de aprendizaje de las TIC y la diferencia significativa que aporta: * Disponibilidad y uso de software sin limitaciones * Innovación y uso de las últimas tecnologías: git, ansible, openstack , docker, kubernetes * Aprendizaje significativo que "obliga" a comprender el funcionamiento de lo que usamos * El mejor complemento en el aprendizaje: Colaborar en un proyecto de software libre Por último hablaremos sobre las colaboración con empresas locales (y no tan locales) y el cambio significativo observado en las mismas respecto a la demanda de profesionales formados en tecnologías libres.
El uso de software libre en la enseñanza y en particular en la formación de futuros administradores de sistemas ha sido la característica principal de nuestro quehacer diario como profesores en el IES Gonzalo Nazareno los últimos 15 años. Con esta charla queremos compartir nuestra experiencia y mostrar por qué el software libre deb ser la herramienta principal de aprendizaje de las TIC y la diferencia significativa que aporta: * Disponibilidad y uso de software sin limitaciones * Innovación y uso de las últimas tecnologías: git, ansible, openstack , docker, kubernetes * Aprendizaje significativo que "obliga" a comprender el funcionamiento de lo que usamos * El mejor complemento en el aprendizaje: Colaborar en un proyecto de software libre Por último hablaremos sobre las colaboración con empresas locales (y no tan locales) y el cambio significativo observado en las mismas respecto a la demanda de profesionales formados en tecnologías libres.
🎤
Ruby on Rails una visión general desde la instalación al despliegue en Heroku
Speakers:
👤
Esteban Rivas
📅 Sat, 25 May 2019 at 11:30
show details
Tanto si quieres empezar con Ruby on Rails o eres de otro Stack pero sientes curiosidad, se bienvenido. En solo 45 minutos vamos a recorrer el flujo de trabajo sencillo con Ruby on Rails y haremos un despliegue sobre Heroku. Y sí tenemos tiempo acabaremos la charla haciendo spoilers de Rails 6 ;-)
Tanto si quieres empezar con Ruby on Rails o eres de otro Stack pero sientes curiosidad, se bienvenido. En solo 45 minutos vamos a recorrer el flujo de trabajo sencillo con Ruby on Rails y haremos un despliegue sobre Heroku. Y sí tenemos tiempo acabaremos la charla haciendo spoilers de Rails 6 ;-)
🎤
Opensouthkids
Speakers:
👤
pablonete
📅 Sat, 25 May 2019 at 12:00
show details
Se realizarán actividades de introducción a la programación, creación de video, demostraciones de impresoras 3D, todo ello enfocado a niños y niñas.
Se realizarán actividades de introducción a la programación, creación de video, demostraciones de impresoras 3D, todo ello enfocado a niños y niñas.
🎤
Desarrollo de un cloud privado como soporte para docencia en Informática
Speakers:
👤
Manuel Torres
📅 Sat, 25 May 2019 at 12:30
show details
Las plataformas de Cloud computing proporcionan recursos ajustables a las necesidades y son altamente escalables. La incorporación de estas plataformas al curriculum de asignaturas de informática favorece su contextualización con tendencias y necesidades actuales. Sin embargo, las peculiaridades de la gestión económica de las universidades dificulta su uso continuado en el modo de pago por uso en clouds públicos (p.e. dificultad de mantener financiación para la suscripción). En este sentido, un modelo de cloud privado o híbrido es una alternativa a tener en cuenta. En este trabajo se presenta un proyecto en curso sobre la creación de un cloud privado basado en OpenStack (software open source para la creación de clouds) en el Departamento de Informática de la Universidad de Almería. Actualmente, se ofrecen una amplia gama de servicios que dan soporte a docencia e investigación. Los servicios van desde los más básicos (infraestructura virtual, como máquinas virtuales, almacenamiento, networking, ...), hasta los más sofisticados como OpenShift o Kubernetes. Además, se han configurado una serie de servidores virtuales que dan soporte de Gestión de proyectos, Control de versiones, Automatización de tareas para la asistencia en la corrección mediante la ejecución de pruebas unitarias. En este trabajo se describen los pasos seguidos, servicios disponibles, ventajas obtenidas y desafíos a los que nos estamos enfrentando.
Las plataformas de Cloud computing proporcionan recursos ajustables a las necesidades y son altamente escalables. La incorporación de estas plataformas al curriculum de asignaturas de informática favorece su contextualización con tendencias y necesidades actuales. Sin embargo, las peculiaridades de la gestión económica de las universidades dificulta su uso continuado en el modo de pago por uso en clouds públicos (p.e. dificultad de mantener financiación para la suscripción). En este sentido, un modelo de cloud privado o híbrido es una alternativa a tener en cuenta. En este trabajo se presenta un proyecto en curso sobre la creación de un cloud privado basado en OpenStack (software open source para la creación de clouds) en el Departamento de Informática de la Universidad de Almería. Actualmente, se ofrecen una amplia gama de servicios que dan soporte a docencia e investigación. Los servicios van desde los más básicos (infraestructura virtual, como máquinas virtuales, almacenamiento, networking, ...), hasta los más sofisticados como OpenShift o Kubernetes. Además, se han configurado una serie de servidores virtuales que dan soporte de Gestión de proyectos, Control de versiones, Automatización de tareas para la asistencia en la corrección mediante la ejecución de pruebas unitarias. En este trabajo se describen los pasos seguidos, servicios disponibles, ventajas obtenidas y desafíos a los que nos estamos enfrentando.
🎤
Python, boto3 y AWS. ¿Qué podría pasar?
Speakers:
👤
Jose Antonio Dominguez Gonzalez
👤
elianaferiolinunez
📅 Sat, 25 May 2019 at 12:30
show details
En esta charla presentaremos una pequeña introducción a la librería Boto3, el SDK para python de AWS. Mostraremos distintas funciones para intetactuar con los distintos elementos que nos ofrece AWS: ec2, rds, vpcs, security groups, etc... El objetivo de esta charla es mostrar las posibilidades de interactuar con las infraestructuras de AWS a través de la librería de código boto3 Como ejemplo levantaremos una pequeña infraestructura funcional en AWS y la modificaremos una vez levantada.
En esta charla presentaremos una pequeña introducción a la librería Boto3, el SDK para python de AWS. Mostraremos distintas funciones para intetactuar con los distintos elementos que nos ofrece AWS: ec2, rds, vpcs, security groups, etc... El objetivo de esta charla es mostrar las posibilidades de interactuar con las infraestructuras de AWS a través de la librería de código boto3 Como ejemplo levantaremos una pequeña infraestructura funcional en AWS y la modificaremos una vez levantada.
🎤
Déjame que te hable de Perl 6
Speakers:
👤
JJ Merelo
📅 Sat, 25 May 2019 at 12:30
show details
Perl 6 es un lenguaje diseñado para los próximos 100 años. Más allá de un simple cambio incremental sobre Perl (ahora llamado Perl 5), Perl 6 es un lenguaje multiparadigma, concurrente, con soporte pleno para Unicode y alguna cosa que no tiene ningún otro lenguaje: Gramáticas. En esta charla mostraré algunos ejemplos de programas y one-liners en Perl 6, tratando de enseñar qué es lo que lo hace único y, efectivamente, qué es lo que hace que sea un language para los próximos 100 años.
Perl 6 es un lenguaje diseñado para los próximos 100 años. Más allá de un simple cambio incremental sobre Perl (ahora llamado Perl 5), Perl 6 es un lenguaje multiparadigma, concurrente, con soporte pleno para Unicode y alguna cosa que no tiene ningún otro lenguaje: Gramáticas. En esta charla mostraré algunos ejemplos de programas y one-liners en Perl 6, tratando de enseñar qué es lo que lo hace único y, efectivamente, qué es lo que hace que sea un language para los próximos 100 años.
🎤
Hurd SMP
Speakers:
👤
Almudena Garcia
📅 Sat, 25 May 2019 at 15:30
show details
En esta charla expondremos el proyecto Hurd SMP, que busca implementar soporte multiprocesador en el sistema operativo GNU/Hurd. Hablaremos sobre la arquitectura de GNU/Hurd, como influiría el soporte multiprocesador en su funcionamiento, el estado inicial del soporte SMP al iniciar este proyecto, y los avances en la implementación del mismo.
En esta charla expondremos el proyecto Hurd SMP, que busca implementar soporte multiprocesador en el sistema operativo GNU/Hurd. Hablaremos sobre la arquitectura de GNU/Hurd, como influiría el soporte multiprocesador en su funcionamiento, el estado inicial del soporte SMP al iniciar este proyecto, y los avances en la implementación del mismo.
🎤
Software Libre como catalizador hacia la agilidad a escala
Speakers:
👤
Agustín Benito Bethencourt
📅 Sat, 25 May 2019 at 15:30
show details
Muchas empresas se encuentran en la actualidad en procesos de adopción o maduración de metodologías ágiles y prácticas DevOps. Las organizaciones de mayor envergadura, necesitan diseñar y ejecutar en paralelo a esos procesos y prácticas, procesos más complejos y globales de transformación para alcanzar mayores niveles de flexibilidad, eficiencia y resiliencia lo largo de toda la empresa, no sólo a nivel de equipos de ejecución. Agustín pretende describir cómo aquellas organizaciones que abrazan el Software Libre decididamente están allanando obstáculos que aparecerán en el camino durante dicha transformación, tanto desde el punto de vista de adquisición de nuevas competencias, de adopción de nuevas prácticas, de la relación con clientes, como en las más conocidas y populares que afectanb al desarrollo, producción y despliegue de software. Apostar decididamente por el Software Libre, más allá de consumirlo, fomenta además muchos de los hábitos que determinan una cultura organizativa que fomente la experimentación y la colaboración. Desde su experiencia como gestor de equipos , departamentos y organizaciones que trabajan en abirto así como desde su actual trabajo como consultor en empresas y foros de automoción y sistemas industriales, Agustín hará un repaso de aquellos puntos ineludibles en transformaciones ágiles a escala que se pueden beneficiar de la experiencia que aportan tanto el Software Libre como movimiento, como muchas de las empresas y profesionales que mejor lo promueven y representan. En resumen, la charla pretende servir como punto de encuentro y discusion para personas interesadas en agilidad y aquellos que provienen del mundo del Software Libre.
Muchas empresas se encuentran en la actualidad en procesos de adopción o maduración de metodologías ágiles y prácticas DevOps. Las organizaciones de mayor envergadura, necesitan diseñar y ejecutar en paralelo a esos procesos y prácticas, procesos más complejos y globales de transformación para alcanzar mayores niveles de flexibilidad, eficiencia y resiliencia lo largo de toda la empresa, no sólo a nivel de equipos de ejecución. Agustín pretende describir cómo aquellas organizaciones que abrazan el Software Libre decididamente están allanando obstáculos que aparecerán en el camino durante dicha transformación, tanto desde el punto de vista de adquisición de nuevas competencias, de adopción de nuevas prácticas, de la relación con clientes, como en las más conocidas y populares que afectanb al desarrollo, producción y despliegue de software. Apostar decididamente por el Software Libre, más allá de consumirlo, fomenta además muchos de los hábitos que determinan una cultura organizativa que fomente la experimentación y la colaboración. Desde su experiencia como gestor de equipos , departamentos y organizaciones que trabajan en abirto así como desde su actual trabajo como consultor en empresas y foros de automoción y sistemas industriales, Agustín hará un repaso de aquellos puntos ineludibles en transformaciones ágiles a escala que se pueden beneficiar de la experiencia que aportan tanto el Software Libre como movimiento, como muchas de las empresas y profesionales que mejor lo promueven y representan. En resumen, la charla pretende servir como punto de encuentro y discusion para personas interesadas en agilidad y aquellos que provienen del mundo del Software Libre.
🎤
Drupal & GatsbyJS
Speakers:
👤
Marco Martino
👤
Giuseppe Iannì
📅 Sat, 25 May 2019 at 15:30
show details
Drupal sigue evolucionando dentro del mundo de los CMS escritos en PHP. El futuro de los CMS es poder servir como backend de nuestras aplicaciones y de esta forma poder construir fácilmente servicios para nuestros múltiples canales (web, aplicación móvil, chatbot..) Al mismo tiempo, el mundo de los frameworks en Javascript no deja de evolucionar, siendo GastbyJS uno de los que más atención está acaparando últimamente. En esto taller veremos cómo podemos unir ambas tecnologías y podemos usar Drupal para ser el backend de nuestro frontend en GastbyJS. Al mismo tiempo, veremos la base que necesitas para poder desarrollar tus propios proyectos bajo estas tecnologías, desde los primeros pasos hasta el deploy en producción. **NOTA:** Se requiere un conocimiento mínimo de Javascript/ES6. Para agilizar el taller, se recomienda tener ya los siguientes recursos instalados en su sistema, aunque vamos a explicar cómo hacerlo, si es necesario: - AMP Stack para Drupal - NodeJS y Git para GatsbyJS
Drupal sigue evolucionando dentro del mundo de los CMS escritos en PHP. El futuro de los CMS es poder servir como backend de nuestras aplicaciones y de esta forma poder construir fácilmente servicios para nuestros múltiples canales (web, aplicación móvil, chatbot..) Al mismo tiempo, el mundo de los frameworks en Javascript no deja de evolucionar, siendo GastbyJS uno de los que más atención está acaparando últimamente. En esto taller veremos cómo podemos unir ambas tecnologías y podemos usar Drupal para ser el backend de nuestro frontend en GastbyJS. Al mismo tiempo, veremos la base que necesitas para poder desarrollar tus propios proyectos bajo estas tecnologías, desde los primeros pasos hasta el deploy en producción. **NOTA:** Se requiere un conocimiento mínimo de Javascript/ES6. Para agilizar el taller, se recomienda tener ya los siguientes recursos instalados en su sistema, aunque vamos a explicar cómo hacerlo, si es necesario: - AMP Stack para Drupal - NodeJS y Git para GatsbyJS
🎤
NLTK, Scikit and Damegender (a gender detection tool)
Speakers:
👤
David
📅 Sat, 25 May 2019 at 15:30
show details
The natural language processing allows sentence similarity, text summary, classify documents, manage words, gramatical trees, ... For these tasks we could need extend the nlp toolkits (example: nltk) with another machine learning libraries (example: scikit). Damegender is using these techniques to: + to guess the gender about a name in spanish or english (current status). + to determine gender gap in free software projects or mailing lists. + to research with statistics about why a name is related with males or female + to use the main solutions in gender detection (genderize, genderapi, namsor, nameapi and gender guesser) from a command. Damegender is free software you can access to the source from https://github.com/davidam/damegender/
The natural language processing allows sentence similarity, text summary, classify documents, manage words, gramatical trees, ... For these tasks we could need extend the nlp toolkits (example: nltk) with another machine learning libraries (example: scikit). Damegender is using these techniques to: + to guess the gender about a name in spanish or english (current status). + to determine gender gap in free software projects or mailing lists. + to research with statistics about why a name is related with males or female + to use the main solutions in gender detection (genderize, genderapi, namsor, nameapi and gender guesser) from a command. Damegender is free software you can access to the source from https://github.com/davidam/damegender/
🎤
Espetando Series Temporales desde Zacaba
Speakers:
👤
Antonio Vilches
📅 Sat, 25 May 2019 at 16:30
show details
Durante las últimas décadas del siglo XX, tanto en la industria como en la academia se han llevado a cabo numerosas aportaciones y desarrollos relacionados con el análisis de series temporales (_Time series_). Sin embargo, no es hasta estos últimos años en los que la industria se ha lanzado al análisis y cómputo masivo de este tipo de datos. El auge del Internet de la Cosas y la necesidad de analizar y monitorizar datos en los que el tiempo no es una simple métrica más, sino el eje principal sobre el que versan otras variables es lo que ha puesto el foco de atención en el análisis de series temporales. Esta creciente demanda de cómputo debe ser acompasada por las últimas generaciones de procesadores, (_multicore y GPUs_), así como en el desarrollo de tecnologías de _Big Data_ y de computación distribuida, las cuales proporcionan los medios para tratar estos grandes volúmenes de datos en tiempo real suave. A pesar de la existencia de librerías que tratan time series, observamos principalmente dos limitaciones: 1) La funcionalidad que ofrecen estas librerías se encuentra muy fragmentada en librerías inconexas y 2) la mayoría de estas librerías son secuenciales, es decir, no explotan las ventajas de las nuevas arquitecturas de procesador, por lo que no son capaces de aprovechar los recursos que ofrecen los procesadores paralelos como _GPUs_ o _CPUs multicores_. Para superar las dos limitaciones anteriores, presentamos Khiva (https://github.com/shapelets/khiva), una librería open source que permite la ejecución de una larga lista de algoritmos de análisis de series temporales sobre _GPUs_. Khiva incorpora algoritmos de reducción de dimensionalidad, cálculo de distancias, normalización, regresión, regularización, extracción de características, _clustering_ y búsqueda de patrones, etc. Para la implementación de todos los algoritmos hemos usado la librería Arrayfire como capa de abstracción de las principales _APIs_ de _GPUs_ para cómputo, OpenCL y Nvidia CUDA. De esta forma, somos capaces de asegurar que la librería Khiva se puede ejecutar en cualquier plataforma independientemente de la _GPU_ que se encuentre disponible. Además de la aceleración del tiempo de ejecución, otra de las principales ventajas que proporciona Khiva, es que la mayoría de los algoritmos mencionados son concatenables. Debido a que implementamos una estrategia lazy para las transferencias de memoria entre _CPU_ y _GPU_, así solo se transfieren datos entre _CPU_ y _GPU_ si es estrictamente necesario, por lo que evitamos todas aquellas transferencias que son innecesarias. En esta charla, nos centraremos en el análisis y búsqueda de patrones de series temporales, analizaremos en profundidad los algoritmos más avanzados y observaremos como estos algoritmos nos pueden servir para encontrar _motifs_, _discords_ y anomalías. Para mostrar la potencia de análisis de Khiva se usarán varios casos de uso (https://github.com/shapelets/khiva-use-cases) y validaremos como podemos extraer nuevas conclusiones de este tipo de datos.
Durante las últimas décadas del siglo XX, tanto en la industria como en la academia se han llevado a cabo numerosas aportaciones y desarrollos relacionados con el análisis de series temporales (_Time series_). Sin embargo, no es hasta estos últimos años en los que la industria se ha lanzado al análisis y cómputo masivo de este tipo de datos. El auge del Internet de la Cosas y la necesidad de analizar y monitorizar datos en los que el tiempo no es una simple métrica más, sino el eje principal sobre el que versan otras variables es lo que ha puesto el foco de atención en el análisis de series temporales. Esta creciente demanda de cómputo debe ser acompasada por las últimas generaciones de procesadores, (_multicore y GPUs_), así como en el desarrollo de tecnologías de _Big Data_ y de computación distribuida, las cuales proporcionan los medios para tratar estos grandes volúmenes de datos en tiempo real suave. A pesar de la existencia de librerías que tratan time series, observamos principalmente dos limitaciones: 1) La funcionalidad que ofrecen estas librerías se encuentra muy fragmentada en librerías inconexas y 2) la mayoría de estas librerías son secuenciales, es decir, no explotan las ventajas de las nuevas arquitecturas de procesador, por lo que no son capaces de aprovechar los recursos que ofrecen los procesadores paralelos como _GPUs_ o _CPUs multicores_. Para superar las dos limitaciones anteriores, presentamos Khiva (https://github.com/shapelets/khiva), una librería open source que permite la ejecución de una larga lista de algoritmos de análisis de series temporales sobre _GPUs_. Khiva incorpora algoritmos de reducción de dimensionalidad, cálculo de distancias, normalización, regresión, regularización, extracción de características, _clustering_ y búsqueda de patrones, etc. Para la implementación de todos los algoritmos hemos usado la librería Arrayfire como capa de abstracción de las principales _APIs_ de _GPUs_ para cómputo, OpenCL y Nvidia CUDA. De esta forma, somos capaces de asegurar que la librería Khiva se puede ejecutar en cualquier plataforma independientemente de la _GPU_ que se encuentre disponible. Además de la aceleración del tiempo de ejecución, otra de las principales ventajas que proporciona Khiva, es que la mayoría de los algoritmos mencionados son concatenables. Debido a que implementamos una estrategia lazy para las transferencias de memoria entre _CPU_ y _GPU_, así solo se transfieren datos entre _CPU_ y _GPU_ si es estrictamente necesario, por lo que evitamos todas aquellas transferencias que son innecesarias. En esta charla, nos centraremos en el análisis y búsqueda de patrones de series temporales, analizaremos en profundidad los algoritmos más avanzados y observaremos como estos algoritmos nos pueden servir para encontrar _motifs_, _discords_ y anomalías. Para mostrar la potencia de análisis de Khiva se usarán varios casos de uso (https://github.com/shapelets/khiva-use-cases) y validaremos como podemos extraer nuevas conclusiones de este tipo de datos.
🎤
Trackula
Speakers:
👤
Santiago Saavedra
📅 Sat, 25 May 2019 at 16:30
show details
Es posible que a estas alturas te hayas parado a pensar cuántas compañías conocen tus gustos en Internet, ¿pero y tus amigos? Cada vez que interaccionas con una página web o una app, o que usas un dispositivo conectado a Internet generas datos que pueden llegar a ser utilizados para predecir tu comportamiento. Y no solamente el tuyo, sino resultados de elecciones presidenciales. Pero entender los mecanismos que se mueven en torno a la economía de la vigilancia digital es complicado incluso teniendo formación al respecto, ¿como podemos concienciar a la población sobre las consecuencias que puede tener la cesión de datos indiscriminada a la que somos sometidos constantemente? ¿Incluso..., es legal? Trackula es un proyecto ciudadano nacido en 2017 para tratar de arrojar luz al respecto. Destinado al gran público, el proyecto pretende generar un discurso alrededor de la privacidad para entender las consecuencias de aceptar cesiones de datos de forma indiscriminada, y formar una opinión al respecto de si es un intercambio justo o no en cada caso. Para esto hemos montado una web y una extensión para Firefox utilizando WebExtensions que te proporciona una experiencia personalizada, contándote lo que ha pasado con las 5 últimas webs que has visitado. Hemos recibido un premio de la Agencia de Protección de Datos, y queremos ir más lejos. Si vienes, además de contarte cómo surgió el proyecto y cómo funciona la WebExtension, hablaremos de nuestros planes para el futuro, y de cómo el cambio de paradigma puede empezar en nosotros, como consumidores. Web del proyecto: https://trackula.org Gitlab: https://gitlab.com/trackula
Es posible que a estas alturas te hayas parado a pensar cuántas compañías conocen tus gustos en Internet, ¿pero y tus amigos? Cada vez que interaccionas con una página web o una app, o que usas un dispositivo conectado a Internet generas datos que pueden llegar a ser utilizados para predecir tu comportamiento. Y no solamente el tuyo, sino resultados de elecciones presidenciales. Pero entender los mecanismos que se mueven en torno a la economía de la vigilancia digital es complicado incluso teniendo formación al respecto, ¿como podemos concienciar a la población sobre las consecuencias que puede tener la cesión de datos indiscriminada a la que somos sometidos constantemente? ¿Incluso..., es legal? Trackula es un proyecto ciudadano nacido en 2017 para tratar de arrojar luz al respecto. Destinado al gran público, el proyecto pretende generar un discurso alrededor de la privacidad para entender las consecuencias de aceptar cesiones de datos de forma indiscriminada, y formar una opinión al respecto de si es un intercambio justo o no en cada caso. Para esto hemos montado una web y una extensión para Firefox utilizando WebExtensions que te proporciona una experiencia personalizada, contándote lo que ha pasado con las 5 últimas webs que has visitado. Hemos recibido un premio de la Agencia de Protección de Datos, y queremos ir más lejos. Si vienes, además de contarte cómo surgió el proyecto y cómo funciona la WebExtension, hablaremos de nuestros planes para el futuro, y de cómo el cambio de paradigma puede empezar en nosotros, como consumidores. Web del proyecto: https://trackula.org Gitlab: https://gitlab.com/trackula
🎤
Gestionando aplicaciones con operadores
Speakers:
👤
Ruben Romero Montes
📅 Sat, 25 May 2019 at 16:30
show details
En esta charla explicaré conceptos y estrategias necesarios para gestionar aplicaciones en cloud con operadores. Describiendo el ciclo completo desde arquitectura, diseño de CRDs (Custom Resource Definitions), despliegue del operador, mantenimiento y consumo de los operadores. Ejemplos de alternativas al operator-sdk que se basan en el mismo, tales como helm-operator o el ansible-operator o incluso qué se puede hacer sin depender el operator-sdk. OpenShift y el Operator Catalog: Gestiona tus operadores en la PaaS.
En esta charla explicaré conceptos y estrategias necesarios para gestionar aplicaciones en cloud con operadores. Describiendo el ciclo completo desde arquitectura, diseño de CRDs (Custom Resource Definitions), despliegue del operador, mantenimiento y consumo de los operadores. Ejemplos de alternativas al operator-sdk que se basan en el mismo, tales como helm-operator o el ansible-operator o incluso qué se puede hacer sin depender el operator-sdk. OpenShift y el Operator Catalog: Gestiona tus operadores en la PaaS.
🎤
APPLICATION SECURITY Fundamentals
Speakers:
👤
Ángel Gómez Romero
📅 Sat, 25 May 2019 at 17:30
show details
> Join up in a tour of various scenarios identifying the basic concepts about Application Security, learning about some of the most recent vulnerabilities and data breaches, as well as examples of how easy it can be to hack you. **Application Security** not only consists in the use of software, hardware, and procedural methods to protect applications from external threats, it **is more than technology**, is a path not a destination, it is about risk management and implementing effective countermeasures to identify potential threats and understand that each threat presents a degree of risk. Once an afterthought in software design, security **is becoming an increasingly important concern** during development as applications become more frequently accessible over networks and are, as a result, vulnerable to a wide variety of threats. Security measures built into applications and a sound application security routine minimize the likelihood that unauthorized code will be able to manipulate applications to access, steal, modify, or delete sensitive data. * * * ### CONTENTS 1. APP SECURITY FOUNDATIONS • _Are we secure, or not?_ This is a common misconception and it depends on the threat • _Brief history of App Security._ Some of the highlights and reactions dating back to the late ‘80s; how attackers have evolved from individuals to organized groups of cyber criminals; attackers improve their tactics and new vulnerability disclosures continue to trend upward; mobile applications vulnerabilities or automotive Cyber threats are exploited nowadays • _The life of a Cyberthreat._ Ever wonder how cyberattacks and malware are created, and how they get into your system to steal your data? • _Cybersec awareness: Malware._ What is the difference between virus, worm, trojan horse, ... malware programs? • _Hacker and Cracker differences._ Why do those dedicated bother them so much when the terms are confused? 2. SECURING APPLICATIONS • _How it works: Cybersecurity, Cloud and Mobile Security._ Having the proper response plan in place in case of a security breach can stop it from becoming a major disaster; Data is shifting rapidly to the cloud and hackers are constantly looking to breach these valuable data sources; as mobile technology becomes more advanced, so do the security attacks of those who want to exploit mobile technology, creating a multitude of troubling scenarios • _Build a Secure application._ Identify layers in which to apply security to design and build secure applications • _Security main elements._ Security relies on Authentication, Authorization, Auditing elements; Security also relies on the Confidentiality, Integrity, Availability elements described below • _Core Security principles._ Recommendations applied regardless of implementation technology or app scenario 3. HACKING SCENARIOS • _How Social Engineering hack you._ Simple Social Engineering trick with a phone call and crying baby • _Should we fear hijacking?_ Hackers remotely (and easily) kill a Jeep on a highway 4. REFERENCES
> Join up in a tour of various scenarios identifying the basic concepts about Application Security, learning about some of the most recent vulnerabilities and data breaches, as well as examples of how easy it can be to hack you. **Application Security** not only consists in the use of software, hardware, and procedural methods to protect applications from external threats, it **is more than technology**, is a path not a destination, it is about risk management and implementing effective countermeasures to identify potential threats and understand that each threat presents a degree of risk. Once an afterthought in software design, security **is becoming an increasingly important concern** during development as applications become more frequently accessible over networks and are, as a result, vulnerable to a wide variety of threats. Security measures built into applications and a sound application security routine minimize the likelihood that unauthorized code will be able to manipulate applications to access, steal, modify, or delete sensitive data. * * * ### CONTENTS 1. APP SECURITY FOUNDATIONS • _Are we secure, or not?_ This is a common misconception and it depends on the threat • _Brief history of App Security._ Some of the highlights and reactions dating back to the late ‘80s; how attackers have evolved from individuals to organized groups of cyber criminals; attackers improve their tactics and new vulnerability disclosures continue to trend upward; mobile applications vulnerabilities or automotive Cyber threats are exploited nowadays • _The life of a Cyberthreat._ Ever wonder how cyberattacks and malware are created, and how they get into your system to steal your data? • _Cybersec awareness: Malware._ What is the difference between virus, worm, trojan horse, ... malware programs? • _Hacker and Cracker differences._ Why do those dedicated bother them so much when the terms are confused? 2. SECURING APPLICATIONS • _How it works: Cybersecurity, Cloud and Mobile Security._ Having the proper response plan in place in case of a security breach can stop it from becoming a major disaster; Data is shifting rapidly to the cloud and hackers are constantly looking to breach these valuable data sources; as mobile technology becomes more advanced, so do the security attacks of those who want to exploit mobile technology, creating a multitude of troubling scenarios • _Build a Secure application._ Identify layers in which to apply security to design and build secure applications • _Security main elements._ Security relies on Authentication, Authorization, Auditing elements; Security also relies on the Confidentiality, Integrity, Availability elements described below • _Core Security principles._ Recommendations applied regardless of implementation technology or app scenario 3. HACKING SCENARIOS • _How Social Engineering hack you._ Simple Social Engineering trick with a phone call and crying baby • _Should we fear hijacking?_ Hackers remotely (and easily) kill a Jeep on a highway 4. REFERENCES
🎤
Chatbots, Machine Learning y Microservicios. ALL IN
Speakers:
👤
Rafael Hidalgo Calero
👤
José María Palma
📅 Sat, 25 May 2019 at 17:30
show details
Cada vez más y en más entornos, las arquitecturas basadas en Microservicios se expanden y no pueden dejar a un lado la explosión del Big Data y la Inteligencia Artificial en el que nos hayamos inmersos. Además, vemos el gran avance que han experimentado los chatbots como nueva forma de interacción con el usuario. Son mundos felizmente condenados a convivir. En esta charla vamos a presentar de qué forma podemos integrar un modelo predictivo de Machine Learning y un chatbot como UI utilizando una arquitectura microservicios políglota.
Cada vez más y en más entornos, las arquitecturas basadas en Microservicios se expanden y no pueden dejar a un lado la explosión del Big Data y la Inteligencia Artificial en el que nos hayamos inmersos. Además, vemos el gran avance que han experimentado los chatbots como nueva forma de interacción con el usuario. Son mundos felizmente condenados a convivir. En esta charla vamos a presentar de qué forma podemos integrar un modelo predictivo de Machine Learning y un chatbot como UI utilizando una arquitectura microservicios políglota.
🎤
20.000 registros de viaje submarino
Speakers:
👤
Juanmi Taboada
📅 Sat, 25 May 2019 at 17:30
show details
En este viaje nos sumergiremos en el mundo de los datos con un viaje donde se explicarán las bases de los conceptos subyacentes en la palabra "Big Data", se darán ejemplos reales del día a día y como afrontar el diseño de bases de datos orientadas a almacenar muchos, muchísimos datos. Se explicará el teorema de CAP, se verá la relación entre los diferentes motores de bases de datos existentes, diferenciaremos NOSQL de Big Data y nos centraremos en la base de datos libre más extendida en la actualidad resistente a grandes volúmenes de datos.
En este viaje nos sumergiremos en el mundo de los datos con un viaje donde se explicarán las bases de los conceptos subyacentes en la palabra "Big Data", se darán ejemplos reales del día a día y como afrontar el diseño de bases de datos orientadas a almacenar muchos, muchísimos datos. Se explicará el teorema de CAP, se verá la relación entre los diferentes motores de bases de datos existentes, diferenciaremos NOSQL de Big Data y nos centraremos en la base de datos libre más extendida en la actualidad resistente a grandes volúmenes de datos.