Vídeos de programación

Vídeos sobre programación y desarrollo de software.
Título: Zoe en 30 Minutos Ponente: David Muñoz Link: https://techfest.uc3m.es/programa/zoe-en-30-minutos/ Zoe nació como un bot para automatizar tareas repetitivas y aburridas que nadie quería hacer. Con el tiempo fue evolucionando hasta convertirse en una herramienta para desarrollar asistentes virtuales que te hagan la vida un poco más fácil, abarcando desde administración de sistemas a domótica. Y utilizando tu lenguaje de programación favorito. En esta charla haremos un repaso a vista de pájaro de cómo funcionan las tripas de Zoe y cómo podemos enseñarle a realizar nuevas tareas.
Título: Gooo Go! Ponente: Carlos Linares López Link: https://techfest.uc3m.es/programa/gooo-go/ Go es un lenguaje de programación muy reciente (fundado en 2007 actualmente se distribuye la versión 1.4) liderado por Rob Spike. Ofrece un garbage collector para la gestión eficiente de punteros (¡como debe ser!) y está entre los lenguajes más rápidos; aunque no soporta la programación orientada a objetos ofrece modelos alternativos como métodos o interfaces. Aunque tiene instrucciones que facilitan la programación no estructurada, está diseñado de tal modo y manera que incita al control de versiones y a evitar errores comunes en programación. Su sencillísima sintaxis unida a su eficiencia y el soporte nativo de estructuras como canales para concurrencia lo convierte en una elección excelente para muchas tareas.
Título: Mobile Backend as a Service (MBaaS) Ponente: José Manuel Ortega Candel Link: https://techfest.uc3m.es/programa/mobile-backend-as-a-service-mbaas/ Volver al programa Mobile Backend as a Service (MBaaS) La charla trataría de dar una introducción a los servicios en la nube que se pueden utilizar para persistir los datos de nuestras aplicaciones móviles Los puntos a tratar podrían ser: - Introducción a la persistencia en dispositivos móviles - Arquitectura MBaaS - Servicios de persistencia en la nube - Push Notifications - Google Cloud Messaging - Ventajas y desventajas de estas plataformas - API REST - Demostración usando la API de algunas de las plataformas que ofrece estos servicios como Parse
Metaprogramar es la acción de escribir programas con la habilidad de tratarse a sí mismos o a otros programas como si fueran datos. Esto quiere decir que un programa se puede diseñar para leer, generar, analizar y/o transformar otros programas, incluso modificarse a sí mismo mientras se ejecuta. - Gracias Wikipedia ;) Durante esta charla repasaremos algunos ejemplos de nuestro día a día, con la intención de desmitificar esta práctica y de comprender los beneficios que nos aporta su buen uso."
OOP and FP: become a better programmer Hear the story of Simon, an experienced OOP Java developer, exposed to the new lambda features of JDK 8. His friend Mario, a long-bearded FP geek, will try to convince him that FP can help him develop more readable and maintainable code. A journey into the discovery of the main new feature - lambda expressions - of JDK 8.
Functional Programming You Already Know From JVM to .NET languages, from minor coding idioms to system-level architectures, functional programming is enjoying a long overdue surge in interest. Functional programming is certainly not a new idea and, although not apparently as mainstream as object-oriented and procedural programming, many of its concepts are also more familiar than many programmers believe. This talk examines functional and declarative programming styles from the point of view of coding patterns, little languages and programming techniques already familiar to many programmers.
El objetivo de la charla es revisar el estado del desarrollo de aplicaciones distribuidas / asíncronas / concurrentes con Python. No siendo un lenguaje diseñado con aplicaciones de red en mente, la librería estándar no ofrece (ofrecía hasta 3.4, al menos) demasiadas facilidades en este aspecto. Con la creciente escala de los proyectos de internet, la necesidad ha propiciado la aparición de librerías y frameworks de terceros que rellenan ese vacío siguiendo distintas estrategias. Tal es así que la revisión de esos proyectos sirve como introducción a las principales estrategias de desarrollo asíncrono en uso actualmente.
Buildout es un sistema de instalación y despliegue de aplicaciones escrita en python. Desarrollado originalmente para la instalación de aplicaciones Zope, su uso se ha extendido a la instalación de todo tipo de aplicaciones, aunque la mayoría son escritas en python. En CodeSyntax utilizamos buildout para la configuración y despliegue de nuestras aplicaciones basadas en Plone y Django, porque nos permite tener una forma repetible y potente para la instalación de aplicaciones. Desde simples webs que solo usan el interfaz de administración de Django, hasta aplicaciones distribuidas en 5 servidores diferentes en las que se instala Apache, pound, haproxy, Zope o Memcache. En esta charla, explicaremos el funcionamiento y las ideas básicas de buldout, como se configuran las diferentes partes y explicaremos y mostraremos ejemplos y casos de uso reales. También compararemos buildout con otras herramientas muy usadas en entornos python como fabric.
Esta charla es un recorrido por las posibilidades para programación funcional que tiene python, incluyendo las que están en las baterias de python, las propias estructuras inmutables de python y bibliotecas externas como fn.py.
Esta charla explora diferentes conceptos y técnicas fundamentales para hacer idiomáticas y elegantes nuestras clases programadas en Python. La mayoría de nosotros utiliza la orientación a objetos, pero desconocer qué hace exactamente el método mágico __new__() o lo útil que resulta la función collections.namedtuple() puede hacer que nuestro código sea innecesariamente feo o complejo. También aprenderemos detalles que pueden evitarnos más de un bug, como por ejemplo a no delegar en __del__() la liberación de recursos, cuando esta es una tarea que debería confiarse a with, o cómo implementar correctamente __hash__(). Hay también tiempo para discutir asuntos casi filosóficos, como por qué quizás deberíamos llamar a __init__() inicializador en vez de constructor (ya que es __new__() quien realmente crea el nuevo objeto) o cuál es en la práctica la diferencia entre __str__() y __repr__(), a menudo usados indistintamente. Algunos conceptos avanzados, como qué son los descriptores o una introducción a las metaclases (esas grandes desconocidas) se exponen en la recta final, antes de cerrar con algunos ejemplos rápidos bastante útiles — como, por ejemplo, cómo podemos aplicar lo aprendido para heredar de un array de NumPy.