Speaker

Leonardo Micheloni

Leonardo Micheloni

Software Developer en Tokiota

Madrid, Spain

Leonardo Micheloni es desarrollador de software desde hace más de 19 años, y ha sido reconocido como Microsoft MVP los últimos 9 años gracias a su colaboración con la comunidad de desarrollo de latinoamérica y España.
Desde hace varios años está involucrado con las buenas prácticas de desarrollo y agilidad, y todo lo relacionado con crear software de calidad.
Actualmente trabajo para Tokiota en Madrid.

Awards

Area of Expertise

  • Information & Communications Technology

Topics

  • .NET
  • Azure
  • Kubernetes
  • Azure Kubernetes Services (AKS)
  • Docker
  • Cosmos DB
  • Architecture
  • SOLID
  • TypeScript
  • C#.Net
  • .NET 5
  • .net core
  • ASP.NET

Sessions

OAuth y OpenID para simples mortales es

Es difícil pensar hoy en día en una aplicación web que no necesite autorización y acceso a alguna API interna o externa.
Todo el tiempo vemos sitios que piden autorización para acceder a nuestros datos de Instragram, Facebook, Twitter o autenticarse usando las credenciales de estas redes.
Hoy el mecanismo más usado es OAuth 2, pero existe mucha confusión sobre su funcionamiento.
En gran parte esta confusión se debe a la cantidad de terminología utilizada y la falta de información clara sobre el tema.
Como desarrolladores no podemos estar ajenos a saber cómo funcionan OAuth y OpenID Connect y por qué deberíamos usarlos en nuestra aplicación.
En esta charla intentaremos ver estos protocolos de manera sencilla y explicar qué es un flow, un scope, un token y demás.
Veremos qué flow es el más recomendando y qué altenativas tenemos en el caso de aplicaciones web, SPAs, aplicaciones para móviles, etc.
Además de la parte teórica veremos algunos ejemplos de su aplicación.
El objetivo de esta charla es el poder manejar mejor la seguridad de nuestras aplicaciones y conocer las posibilidades que tenemos a nuestro alcance.

Helm in a nutshell for devs. es

Seguramente has trabajado con Docker y te has encontrado con la necesidad de ejecutar más de un container a la vez y has usado docker-compose. Tal vez hayas trabajado con Kubernetes si tu sistema es algo más complicado y tiene muchos servicios, configuraciones, y demás. Todo esto está muy bien pero plantea otros desafíos, por ejemplo, cómo gestionar la cantidad de yamls de deployment, services, configmaps, ingress, etc. de un sistema más o menos grande. Más aún si necesitamos cambiar algún parámetro entre entornos.
Para esto existe Helm, que permite empaquetar un sistema con todos sus objetos de Kubernetes en un único objeto, y además gestionar parámetros en tiempo de deploy, como versiones de imágenes, connection string. etc.
En esta charla veremos qué es Helm, cómo puede ayudarnos para instalar aplicaciones de terceros muy fácilmente como un todo, y cómo puede ayudarnos con nuestras aplicaciones a gestionar gran parte de la complejidad de los manifest de Kubernetes.

Autorización, Tokens, Flujos, oAuth y OIDC para todo el mundo en

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.

Learn Kubernetes + Azure Kubernetes Services from a developer point of view en

In this talk we will see Kubernetes from the perspective of developers and the role it can play in the development workflow.
We will see how to run it locally and how to interact using kubectl. We will understand concepts such as Pods, Deployments, Services, ConfigMaps and what role each one plays and how they interact with each other.
Finally we will see offered by Azure to work with Kubernetes.

Topics:

What is Kubernetes?
Local execution (kubectl, Docker desktop, minikube)
Pods
Deployments
nodes
Services
Other: Storage, Secrets, ConfigMaps
Azure Container registry, Azure Kubernetes Services.

Docker knowledge is required.

Docker, Kubernetes y .NET Core: Lecciones aprendidas. es

En esta charla repasaremos algunas técnicas y lecciones aprendidas luego de utilizar .NET Core con Docker y K8S en varios proyectos diferentes.
Hemos trabajado en proyectos de diferentes naturalezas y tamaños con Docker con y sin Kubernetes. Con CI y CD en Azure Devops, integración con servicios PaaS de Azure y servicios On Premise.
Veremos desafíos al integrar en CI/CD, estrategias para build, seguridad, entornos, buenas prácticas, problemas y algunas recmendaciones basadas en la experiencia en proyectos pequeños, medianos y grandes.

Docker from zero to hero en

En esta charla explicaremos qué es *Docker*, para qué sirve y cómo podemos aprovecharlo para ejecutar nuestras aplicaciones sobre Linux o Windows.
Veremos paso a paso cómo debemos crear una imagen, cómo seleccionamos las imágenes base, qué opciones tenemos y por qué y cómo nos facilita el trabajo un *dockerfile*.
A partir de allí veremos cómo crear un *contenedor* y cómo ejecutarlo.
También veremos para qué sirve un *compose file* y cómo podemos aprovecharlo para nuestros despliegues.
Todo será desarrollado con ejemplos **en vivo**.
Algunos de los temas que veremos:
## ¿Qué es docker?
- Necesidad
- Ventajas
## Imágenes
- ¿Qué es una imagen?
- Registros
- Publicar
## ¿Qué es un contenedor?
- Crear un contenedor a partir de una imagen pública
- Identidad de contenedores
- Detener, borrar, y reiniciar nuestros contenedores
## Diferencias entre contenedor y máquina virtual
- Arquitectura de Docker
- Arquitectura de VM
- Ventajas y desventajas de Docker
## Creando nuestro primer contenedor
- puertos
- inspect
- logs
- exec
## Crear nuestras propias imágenes
- Dockerfile
- Entry point
- Comandos
## Volumnes
- Creación
- Compartir volúmnes
## Ejecutar contenedores conjuntamente con Dockercompose
- Redes
- Dependencias

Utilizar SOLID en Javascript gracias a Typescript en

Se ha hablado mucho sobre los principios SOLID sin embargo nunca es tarde para recordarlos, su importancia para que una aplicación sea mantenible, flexible y evolutiva es conocida y estas características son las que los relacionan con el desarrollo ágil.
Si bien estos principios han sido pensados para aplicarlos en lenguajes orientados a objetos es posible usar muchas de sus ideas en Javascript cualquier sea su versión.
Sin embargo y gracias a las capacidad que Typescript suma a Javascript podemos aplicarlos de manera más integral.
En esta charla haremos un repaso de los principios SOLID, por qué son importantes y veremos con ejemplos su aplicación en nuestras aplicaciones utilizando Typescript.

Github Advance Security: Aplica seguridad a tu código con Github es

En esta charla hablaremos sobre Github Advance Security el conjunto de herramientas que nos ayudan a securizar nuestro código desde el primer push.
Veremos el análisis estático a través de CodeQA, el control de reglas, aviso de vulnerabilidades en dependencias y otras features más que nos ayudarán a tener de forma fácil, un control y vistazo global de nuestros o nuestros proyectos en Github.

Github Codespaces: El trabajo remoto y sin configurar tu entorno, cuando quieras, donde quieras. es

¿Alguna vez imaginaste con un simple click poder tener tu entorno de desarrollo completo y funciona en un par de minutos con la misma facilidad que se clona un repositorio?
Bueno, esto es verdad con Github Codespaces, la herramienta integrada en Github que permite mediante una configuración que tengas siempre un entorno de trabajo disponible y listo para usar.
En esta charla veremos de qué se trata Github Codespaces, qué nos permite hacer, qué limitaciones tiene, cómo se integra con Github y algunas cosas más.

Github Copilot + Code Spaces + Advance Security es

Estas tres herramientas de Github por separado son de las más interesantes que hemos visto en la plataforma, pero además combinadas nos permiten desarrollar desde cualquier lugar teniendo un entorno de desarrollo en segundos, contar con la IA de Copilot que nos ayuda a acelerar el desarrollo y Advance security que nos ayudará a resguardar la seguridad de nuestros desarrollos.
En esta charla haremos un repaso de las tres herramientas, comentaremos sus principales catacterísticas y cómo, en conjunto, nos facilitan el desarrollo días a día.

Aprende Kubernetes + Azure Kubernetes Services desde el punto de vista de un desarrollador es

En esta charla veremos Kubernetes desde la perspectiva de los desarroladores y el rol que puede jugar en el workflow de desarrollo.
Veremos cómo ejecutarlo localmente y cómo interactuar utilizando kubectl. Comprenderemos conceptos como Pods, Deployments, Services y que papel desempeña cada uno y cómo interactúan entre sí.
Por último analizaremos los servicios de Azure ofrece para trabajar con Kubernetes a través de Azure Container Registry y Azure Kubernetes Services.

Temario:

¿Qué es Kubernetes?
Ejecución local (kubectl, Docker desktop, minikube)
Pods
Deployments
Nodos
Services
Otros: Storage, Secrets, ConfigMaps
Azure Container registry, Azure Kubernetes Services.

Docker y Kubernetes 101: Un vistaso teórico sobre estas dos herramientas desde cero. es

En esta charla contaremos de qué se tratan estas dos tecnologías, para qué se usan, cuáles son sus aplicaciones, sus limitaciones y algunas cosas más.
Si todavía no pudiste meterte en el mundo de Docker o Kubernetes esta charla es tu oportunidad.
No es necesario que seas desarrollador back o front con que trabajen en programación es suficiente, el enfoque de la charla es conceptual y de casos prácticos.
Tocaremos la teoría más relevante, los casos de uso y comentaremos la experiencia de más de 4 años usando estas tecnologías en proyectos reales.

oAuth for mere mortals en

Many developers feel that authentication is a complex mythical domain inhabited only by those with divine omniscience.
During this talk we will try to bring the concepts closer to simple mortals and lose their fear of their most complex concepts.
We will talk about clients, flows, token, etc. After this talk these concepts will be more earthly for us.

Disminuyendo la carga cognitiva de nuestro código a través del Clean Code. es

A todos nos ha pasado de volver sobre código que escribimos hace un tiempo y no saber de qué se trataba. O peor aún, trabajar con código de alguien más y perder valioso tiempo tratando de entender una función o qué significa una variable.

A mí me gusta llamarlo "carga cognitiva del código" es decir, pasar más tiempo entendiendo cómo está planteado un "if" que corrigiendo el bug.
Hace ya tiempo Robert C. Martin escribió su famoso libro "Clean code" en el que se detallan diferentes formas de asegurar que nuestro código sea "limpio" con el objetivo de hacer más fácil su evolución, mantenimiendo y por supuesto, su desarrollo.

En esta charla repasaremos algunos de estos conceptos con ejemplos sobre C# pero que son aplicables a casi todos los lenguaje de programación.

Leonardo Micheloni

Software Developer en Tokiota

Madrid, Spain

Please note that Sessionize is not responsible for the accuracy or validity of the data provided by speakers. If you suspect this profile to be fake or spam, please let us know.

Jump to top