Resumen Codemotion 2017 – Parte 2

La segunda parte de la crónica se corresponde con las charlas que tuvieron lugar el segundo día de Codemotion, el sábado. Podéis echar un ojo a las charlas del primer día en este enlace. Empezamos el repaso por:

  • From Java to Scala sin morir en el intento:

    Álvaro Fidalgo nos presentó su experiencia personal en el camino que ha recorrido como desarrollador de Scala viniendo del mundo Java. Esta charla estuvo marcada por un ritmo frenético prácticamente desde el principio, se presentaron muchos conceptos, semejanzas y diferencias del lenguaje, tanto de características como de los propios paradigmas de programación, el uso de implícitos, errores a evitar como los efectos de lado, equiparar traits a simples interfaces o el uso de factorías en lugar de TypeClasses. También introdujo el mecanismos de inyección de dependencias como el Cake Pattern o con mónadas. Todo ello aderezado con sus correspondientes bloques de código. Todo esto unido hacía que seguir la charla resultase bastante agonizante que casi sí que nos hace morir en el intento. En definitiva hay que volver verla con más calma.

  • Agile de mercadillo:

    En este caso mi compañero Yair Segura (@ysegalb) contó de primera mano lo que podemos encontrarnos en las empresas y proyectos de transformación digital. Distintos tipos de problemas y situaciones reales, el cómo en algunos casos las dinámicas o la propia transformación ha pasado a ser el fín y no un medio, ausencia de excelencia técnica, etc. Quizá una frase que lo resumen bien es la que escuche a uno de los asistente que se sentaba unas filas detrás de mí “La cruda realidad”.

  • PODCAST:

    Ir a descargar

    VÍDEO:

  • Clustering TensorFlow con Kubernetes y Raspberry Pi:

    Charla conjunta entre Andrés Leonardo Martínez Ortiz (@davilagrau) y Laura Morillo-Velarde (@Laura_Morillo) donde nos presentaron inicialmente posibles escenarios de uso como el Hyperparameter tunning, pero rápidamente pasaron a contarnos cómo montar la infraestructura propuesta objetivo de la charla. Como resumen me quedo en el modelo propuesto con Raspberry Pi 3, HypriotOS o Raspbian como sistema operativo, el uso de Kubernetes+Docker+Ansible para instalación, aprovisionamiento y configuración apoyado en flannel para una configuración más dinámica de la red.

  • Dime cómo manejas tus datos y te diré qué base de datos eres:

    En este caso José María Muñoz pegó un repaso basado en las necesidades de cada aplicación en el uso que va a hacer de los datos para proponer distintos modelos de bases de datos. Un buen punto de esta charla es que empezó dando una base teórica de las estructuras de datos que utilizan cada uno de estos modelos explicando el por qué son adecuados en unos u otros casos. En definitiva, te puede servir como “chuleta” a la hora de empezar a elegir un modelo de base de datos.


  • La programación funcional en la práctica con todas sus consecuencias:

    Juan Manuel Serrano Hidalgo (@juanshac) volvió a la carga para “vendernos la moto de la programación funcional”, si no has visto la charla no entenderás esto de “vendernos la moto”. Personalmente, de sus preguntas finales yo me encontré sin hueco, ya que sí que tengo ganas de subirme en esa moto, pero no sin tomar muchas precauciones. Una pega que le ví a esta charla es que si ya has visto las anteriores del autor fue que se hizo un poco repetitiva, aunque hay que agradecer que busque nuevos ejemplos de casos prácticos para acercarnos esta disciplina, que por otro lado es lo que estamos demandando los que alguna vez hemos trasteado con esto: casos reales en lo que poder aplicarlo.

  • PODCAST

    Ir a descargar

    VÍDEO

  • Adding containers to your CI/CD pipeline:

    Nacho Coloma (@nachocoloma) nos presentó como hacer un uso extensivo de los contenedores en un entorno de CD/CI, desde el propio Jenkins o los distintos entornos sobre los que hacer deployment siguiendo distintas políticas de ramas, etiquetas, etc. en nuestros repositorios. Todo ello de la mano de Kubernetes, Google Cloud Container Registry y Google Cloud Platform. Haciendo un showcase en tiempo real de su funcionamiento. En definitiva, te sienta las bases para que puedas profundizar por tu cuenta.

  • Hacking de aplicaciones con node.js for fun and profit:

    Al ser la última charla se notaba ya el cansancio que teníamos los asistentes. Daniel Echeverri nos presentó vulnerabilidades en muchos casos no exclusivas de Node.js que todos los que llevamos desarrollando cierto tiempo ya deberíamos conocer y que con buenas prácticas de desarrollo evitamos en la mayor parte de los casos. Sin embargo, lo más destacable de la charla fue las consecuencias de estas vulnerabilidades en un entorno de Node.js distinto a otros servidores de aplicaciones multihilo al que solemos estar acostumbrados. Sumado esto a las características propias del lenguaje en el que se desarrolla en Node.js podemos ir añadiendo riesgos. Por eso, hay que tener especial cuidado en este tipo de entorno. Daniel nos mostró con ejemplos en tiempo real cómo explotar estas vulnerabilidades, DoS, y como conseguía tener acceso a una shell del servidor por distintos caminos.

 

Conclusiones. ¿Qué supone asistir a Codemotion?

A nivel personal creo que lo más importante de asistir a Codemotion es pegarte un zarandeo rápido de por donde se está moviendo el desarrollo en nuestro país, enterarte de muchas cosas de las que has oído hablar pero que en tu trabajo ahora mismo no estás aplicando, o que si estás aplicando y  así compartes experiencias con otras personas que están haciendo las mismas cosas o parecidas. Te permite escuchar en primera persona a aquellos que ya se están aplicando distintas prácticas.

Lo mejor es que, con que seas un poco curioso e inquieto, supone un “chute” de motivación para empezar a plantearte en hacer tus “pet projects” personales para aprender, hacer pruebas de concepto que luego puedas trasladar a tu entorno diario de trabajo o directamente mejorarlo con las propuestas de aquellos que están viviendo o ya han vivido esas situaciones.