Speaker

Leonardo Micheloni

Leonardo Micheloni

Software Developer en Tokiota

Madrid, Spain

Actions

Leonardo Micheloni es desarrollador de software desde hace más de 20 años, y ha sido reconocido como Microsoft MVP los últimos 10 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

Helm in a nutshell for devs. en

You've probably worked with Docker and found yourself in the need to run more than one container at a time and used docker-compose. Maybe you've worked with Kubernetes if your system is a bit more complicated and has a lot of services, configurations, and so on. All this is very good but it poses other challenges, for example, how to manage the number of deployment yamls, services, configmaps, ingress, etc. of a more or less large system. Even more so if we need to change some parameter between environments.
For this there is Helm, which allows you to package a system with all its Kubernetes objects in a single object, and also manage parameters at deploy time, such as image versions, connection string, etc.
In this talk we will see what Helm is, how it can help us to install third-party applications very easily as a whole, and how it can help us with our applications to manage much of the complexity of Kubernetes manifests.

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 en

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 101: 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í.

Temario:

-¿Qué es Kubernetes?
-Ejecución local (kubectl, Docker desktop, minikube)
-Pods
-Deployments
-Nodos
-Services
-Storage
-Secrets
-ConfigMaps

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.

Helm in a nutshell for devs. es en

You've probably worked with Docker and found yourself in the need to run more than one container at a time and used docker-compose. Maybe you've worked with Kubernetes if your system is a bit more complicated and has a lot of services, configurations, and so on. All this is very good but it poses other challenges, for example, how to manage the number of deployment yamls, services, configmaps, ingress, etc. of a more or less large system. Even more so if we need to change some parameter between environments.
For this there is Helm, which allows you to package a system with all its Kubernetes objects in a single object, and also manage parameters at deploy time, such as image versions, connection string, etc.
In this talk we will see what Helm is, how it can help us to install third-party applications very easily as a whole, and how it can help us with our applications to manage much of the complexity of Kubernetes manifests.

TDD en Acción: Desarrollando con Live Coding es

Sumérgete en el mundo del *Test Driven Develpment (TDD)* en una sesión interactiva de live coding.
En esta sesión desarrollaremos un ejemplo con TDD usando el flujo "red, green, refactor" .
Durante el desarrollo comentaremos las ventajas y los detalles de TDD y cómo pueden ayudarnos a desarrollar más rápido.
También hablaremos de sus mitos y dificultares.

Repaso y reflexiones sobre la importancia de las buenas prácticas de desarrollo es

- Clean code: Repasaremos los conceptos más útiles con ejemplos y analizaremos su verdadero impácto en nuestros desarrollos.

- Pair programming: Comentaremos su funcionamiento y discutiremos sus ventajas.

- Code review: Nos preguntaremos si lo estamos haciendo bien, es correcto un code review de 5 minutos? qué aprender de él? qué hacemos con el feedback?

- TDD: Desmiticaremos su uso, si es más rápido o más lento usar TDD. Podemos hacer tests después de tener el código? el problema de los tests es que se rompes si cambiamos el código?

- Code coverage: Para qué sirve? cuál es el porcentaje correcto? qué tenemos que medir.

Y más conceptos que serán mencionados y analizados durante la sesión.

HTTP, Comprendiendo los fundamentos de la Web es

### Introducción
- *Importancia de HTTP*: Por qué es fundamental entender HTTP para cualquier desarrollador web.

### Fundamentos de HTTP
- *Conceptos Básicos*: Definición de HTTP, cliente-servidor, y cómo funciona una petición/respuesta.
- *Métodos HTTP*: GET, POST, PUT, DELETE, PATCH, y otros métodos; cuándo y cómo usarlos.
- *Códigos de Estado HTTP*: Significado de los códigos de estado (1xx, 2xx, 3xx, 4xx, 5xx) y ejemplos comunes.

### Componentes de una Petición HTTP
- *URL y URIs*: Estructura de una URL y su importancia.
- *Headers*: Qué son los headers, tipos de headers (general, solicitud, respuesta), y su uso.
- *Body*: Importancia del cuerpo de la solicitud y cómo se utiliza en diferentes métodos.

### Componentes de una Respuesta HTTP
- *Status Line*: La línea de estado y su formato.
- *Headers de Respuesta*: Tipos y ejemplos de headers de respuesta ( Cookies, etc. ) .
- *Cuerpo de la Respuesta*: Cómo interpretar y utilizar el cuerpo de la respuesta.

### HTTP en la Práctica
- *Herramientas de Desarrollo*: Uso de herramientas como Postman, cURL, e inspectores de red en navegadores.
- *Problemas Comunes y Soluciones*: Errores comunes en HTTP y cómo resolverlos, ( CORS, etc.).

### Extras
- *Seguridad en HTTP*: Introducción a HTTPS, certificados SSL/TLS, y prácticas recomendadas de seguridad.
- *Performance y Optimización*: Técnicas para mejorar el rendimiento de las aplicaciones web utilizando HTTP/2 y HTTP/3.

### Conclusión
- *Resumen y Q&A*: Resumen de los puntos clave y espacio para preguntas y respuestas.
- *Recursos Adicionales*: Lecturas recomendadas, cursos, y herramientas para profundizar en el tema.

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.

Leonardo Micheloni

Software Developer en Tokiota

Madrid, Spain

Actions

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