Vídeos de programación

Vídeos sobre programación y desarrollo de software.
Aunque siempre intentamos hacerlo lo mejor que podemos, hay situaciones que nos pueden llevar a dificultar la mantenibilidad y evolución de nuestros desarollos. Ya sea por introducir complejidad accidental, por no explorar lo suficiente el ámbito del problema o debido al uso de patrones y tecnologías por gusto o por costumbre esto genera sufrimiento a largo plazo en los equipos. En esta charla veremos ejemplos representativos de estos escenarios y exploraremos posibles alternativas que nos pueden ayudar en cada caso. Hablaremos de Microservicios, CQRS, patrones de resiliencia, streams de mensajes y otra serie de buzzwords, y lo haremos tanto desde la perspectiva del abuso como de la del “buen” uso. ------------- ¡Conoce Autentia! -Twitter: https://goo.gl/MU5pUQ -Instagram: https://lk.autentia.com/instagram -LinkedIn: https://goo.gl/2On7Fj/ -Facebook: https://goo.gl/o8HrWX
Doom is a available everywhere. In order to contribute to this, I ported Managed Doom, an open source port of the Doom engine written in .Net, to Blazor Web Assembly. This allows the engine to run on the browser, thus allowing to play Doom on the browser. If you want how I managed to developer the port the .Net Doom engine from desktop to the web, then I hope that'll you enjoy this talk. You can play the port online here. ------------- ¡Conoce Autentia! -Twitter: https://goo.gl/MU5pUQ -Instagram: https://lk.autentia.com/instagram -LinkedIn: https://goo.gl/2On7Fj/ -Facebook: https://goo.gl/o8HrWX
¿Es el pair programming una metodología para todos? Hablaré de la problemática del pair programming: situaciones descompensadas de poder diferencia de procesos mentales de la gente qué pasa si uno es más driver y otro es más "reposado" la necesidad de adecuar el ritmo cuando entra gente nueva en el equipo y no están los dos en el mismo punto de conocimiento el talante y la paciencia necesarios no hacer sentir mal a tu pair por no estar en tu mismo punto Y por supuesto hablaré del drama de ir al WC cuando estás de pairing :D ------------- ¡Conoce Autentia! -Twitter: https://goo.gl/MU5pUQ -Instagram: https://lk.autentia.com/instagram -LinkedIn: https://goo.gl/2On7Fj/ -Facebook: https://goo.gl/o8HrWX
Hoy en día es indispensable conocer estos protocolos y estándares usados ampliamente en la industria* para desarrollar aplicaciones web, móviles, de escritorio o para smart devices (e.g. TVs) que de manera segura: Permitan a un usuario autentificarse/registrarse en nuestro producto usando su cuenta en un servicio de terceros o viceversa (a.k.a. social login). Puedan acceder a los datos de nuestros usuarios en servicios web de terceros (redes sociales, ficheros, correo electrónico, ...). O autorizar y dar privilegios a un servicio de un tercero para usar nuestras APIs en su nombre. El objetivo de esta sesión es afianzar conocimientos básicos sobre: Qué es OAuth y cómo funcionan los tipos de concesiones: Authorization Code Flow usando PKCE (RFC 7636): El flujo más seguro de para obtener access tokens desde un cliente, además de ver cómo este previene ataques que otros flujos no. Device Authorization Grant (RFC 8628): para televisores inteligentes, marcos de fotos digitales, impresoras, y otros dispositivos sin navegador. Client Credentials Grant: el mecanismo de servidor más sencillo. Qué es OpenID Connect, como obtener un ID token y la diferencia entre un access token y un ID token. Qué es, la estructura y cómo generar un JSON Web Token. Tanto si alguna vez has usado estos protocolos como si no, intentaremos que en esta sesión todo el mundo aprenda algo nuevo. (*) Estos estándares son usados por empresas/productos como Google, Amazon, Apple, Microsoft, Stripe, Slack, Spotify, GitHub, Meta, Zapier, IFTTT, Twitter, Linkedin ... pero a pesar de ello existe gran confusión al respecto sigue debido a la complejidad de los RFCs. ------------- ¡Conoce Autentia! -Twitter: https://goo.gl/MU5pUQ -Instagram: https://lk.autentia.com/instagram -LinkedIn: https://goo.gl/2On7Fj/ -Facebook: https://goo.gl/o8HrWX
Cuando desarrollamos una aplicación ya ni se nos pasa por la cabeza montar un servidor de correo para enviar emails, subimos nuestros archivos a un bucket en la nube y hasta incluso tenemos nuestra propia base de datos auto-gestionada por nuestro proveedor de cloud, pero… ¿Por qué seguimos desarrollando la autenticación de nuestros usuarios desde cero, con gestión de contraseñas, su 2FA o su login social? ¿No tendría sentido delegar también la gestión de la identidad en un servicio cloud que se preocupe por la seguridad y nos quite dolores de cabeza como hacemos con el resto de servicios? En esta charla hablaremos de las ventajas y desventajas de los identity providers, veremos algunas opciones existentes con Firebase, Auth0 o Supabase y terminaremos montándonos nuestro propio proceso de login y signup utilizando Auth0 de forma super rápida y sin apenas programar. ------------- ¡Conoce Autentia! -Twitter: https://goo.gl/MU5pUQ -Instagram: https://lk.autentia.com/instagram -LinkedIn: https://goo.gl/2On7Fj/ -Facebook: https://goo.gl/o8HrWX
La programación reactiva tiene muchas ventajas. Los sistemas reactivos son mucho más eficientes y aprovechan mejor los recursos que los sistemas tradicionales. Se pueden implementar de manera más sencilla patrones de estabilidad, (algunas APIs reactivas ya vienen incorporados de serie) y son más resilentes. Pero el paralelismo y operaciones no bloqueantes tiene un precio y este es la complejidad de su programación. Es en este aspecto donde los patrones funcionales ayudan a disminuir esta brecha. Teniendo claras las abstracciones funcionales nos podremos enfrentar a casi cualquier api reactiva, ya que la mayoría las implementan. La idea de esta charla es ahondar en estos conceptos con ejemplos sencillos desde cero hechos en Java. ------------- ¡Conoce Autentia! -Twitter: https://goo.gl/MU5pUQ -Instagram: https://lk.autentia.com/instagram -LinkedIn: https://goo.gl/2On7Fj/ -Facebook: https://goo.gl/o8HrWX
Las pruebas unitarias son geniales, pero sin unas adecuadas pruebas de integración, especialmente si dependes de sistemas externos como bases de datos u otros servicios, puede que no sepas cómo se comportará en realidad tu aplicación una vez la hayas desplegado en producción. Antes de Docker, configurar el entorno de pruebas de integración era un dolor: utilizando bases de datos en memoria o incluso fake, mockeando servidores... Muchas veces sin contemplar la compatibilidad cross-platform. Sin embargo, gracias a Docker, ahora podemos preparar muy rápidamente el entorno para nuestras pruebas. En esta charla veremos cómo utilizar Testcontainers for Go (https://golang.testcontainers.org) - uno de los más populares framework de testing que, utilizando Docker, permite crear dependencias de test de una manera fácil y consistente. Aprenderemos cómo usarlo para probar aplicaciones legacy, pero también cómo utilizarlo para aumentar tu productividad en el desarrollo mientras trabajas con tu aplicación. ------------- ¡Conoce Autentia! -Twitter: https://goo.gl/MU5pUQ -Instagram: https://lk.autentia.com/instagram -LinkedIn: https://goo.gl/2On7Fj/ -Facebook: https://goo.gl/o8HrWX
Hoy en día cualquier integración con agentes externos como APIs u otras herramientas requieren autorización. El protocolo más utilizado actualemente es oAuth y Open ID Connect, conocer su funcionamiento y sus principios puede abrirnos muchas posibilidades y ahorrarnos mucho tiempo en integraciones y todo tipo de interacción con sistemas de terceros o propios. En esta charla vamos a explicar los fundamentos del oAuth y sus principales características de un modo sencillo y con ejemplos del mundo real, intentaremos comprender cómo funciona y por qué lo hace como lo hace. ------------- ¡Conoce Autentia! -Twitter: https://goo.gl/MU5pUQ -Instagram: https://lk.autentia.com/instagram -LinkedIn: https://goo.gl/2On7Fj/ -Facebook: https://goo.gl/o8HrWX
Aunque generalmente gestionamos recursos en Kubernetes de manera declarativa mediante el uso de manifiestos, lo más habitual suele ser aplicarlos de forma imperativa desde un pipeline o incluso a mano. No es del todo fácil saber quién, cuándo y cómo se han desplegado las aplicaciones o modificado sus configuraciones, y ya no hablemos de operaciones más complejas como tener que preparar un entorno nuevo desde cero. Vayamos un paso más allá en la filosofía GitOps y veamos cómo tener un repositorio Git como fuente de la verdad de nuestras aplicaciones y recursos de Kubernetes. Todos nuestros cambios bajo control de versiones, y sólo hacer un Push para desplegar. Imagina que un pase a producción pueda ser "sólo" aceptar una Pull Request. Eso y mucho más nos permite Flux. ------------- ¡Conoce Autentia! -Twitter: https://goo.gl/MU5pUQ -Instagram: https://lk.autentia.com/instagram -LinkedIn: https://goo.gl/2On7Fj/ -Facebook: https://goo.gl/o8HrWX
Uno de los problemas más comunes desarrollando es cómo gestionar con el legacy. Y una de las soluciones más comunes a ese problema es reemplazarlo por la v2. El problema es que dentro de 4 años esa v2 se vuelve legacy y la solución es montar la v3… ¿o no? 👀 Esto hace que en lugar de monolitos acabemos teniendo monstruolitos que nadie quiere trabajar en ellos y que frenan mucho la velocidad y motivación de desarrollo. 👹 En esta charla exploraremos diferentes estrategias de gestionar el legacy, desde micro a macro diseño. Yendo pasito a pasito, y sobretodo, mostrando soluciones realistas y pragmáticas sin tener que parar todo el negocio todo el año para montar la v2. ✨ Todo esto gracias a técnicas de refactoring, testing, migración progresiva a una buena arquitectura de software con ejemplos basados en la vida real. ------------- ¡Conoce Autentia! -Twitter: https://goo.gl/MU5pUQ -Instagram: https://lk.autentia.com/instagram -LinkedIn: https://goo.gl/2On7Fj/ -Facebook: https://goo.gl/o8HrWX