-
Lección 📈 En tendencia¿Qué es un GenServer?
El GenServer es una estructura de alto nivel construida por encima de la API de Procesos de Elixir para facilitar el uso de procesos en los cuales se envían mensajes y se gestionan estados. En este vídeo empezamos viendo init y handle_info, funciones útiles para empezar a trabajar con procesos.... -
LecciónCómo monitorizar procesos
Un monitor permite enlazar dos procesos, pero a diferencia de lo que ocurre con un enlace normal, cuando el proceso monitorizado caiga, el proceso que monitoriza recibe un mensaje con los detalles de la caída del proceso monitorizado, para detectar una situación de error en uno de estos procesos. -
LecciónCómo enlazar procesos para detectar fallos
Las funciones link y unlink van a ser el primer paso para conectar dos procesos de tal forma que la caída de un proceso (por error de programación, error de ejecución o porque lo hayamos dejado caer intencionalmente) afecte a otro proceso. -
LecciónDiccionario de un proceso y mantener un estado
El estado representa la información que se conserva junto al proceso para que haga sus cosas. En esta lección te muestro dos estrategias sobre cómo persistir esa información entre llamadas a receive: mediante funciones intermedias y mediante diccionarios. -
LecciónCómo pasar mensajes entre procesos
Con las primitivas send y receive podemos hacer que dos procesos se intercambien información, que es el método de comunicación por defecto en Elixir, teniendo procesos aislados que se comunican mediante un sistema de bandejas de entrada bajo un modelo de actores. -
LecciónCómo crear procesos
Elixir puede aprovecharse del modelo de programación concurrente que ofrece la máquina virtual BEAM sobre la que se ejecuta. En esta lección, te introduzco a la idea de proceso concurrente y te muestro cómo utilizar la primitiva spawn para evaluar una expresión en un proceso separado. -
LecciónSobre las macros, require y use
Use es una palabra clave empleada para invocar una macro declarada en otro módulo con el objetivo de importar código en nuestro módulo. Como si fuese un copia y pega, se traerá definiciones que haya en ese módulo. Require sirve para importar macros específicas. Esto requiere que presente por encima... -
LecciónAlias e import
Después de escribir este código, vamos a usarlo como base para tratar algunas herramientas útiles que nos ofrece Elixir para controlar el código de nuestros módulos. Alias sirve para darle otro nombre a un módulo y hacerlo más fácil de escribir. Import sirve para traer definiciones de otros módulos y... -
LecciónUn ejemplo práctico de módulo útil
13 minutos de programación comentada en vivo de un módulo usando una dependencia y cosas que hemos visto en los últimos capítulos, como pipelines o funciones de alto orden transformadoras, con el objetivo de dar la excusa para refactorizarlo en el próximo vídeo. -
LecciónDependencias
Normalmente en Elixir el código que escribimos no vive aislado, sino que es habitual utilizar funciones escritas en otros proyectos con los que nos conectamos, para reutilizar módulos y no programar lo mismo dos veces. hex.pm es el gestor de paquetes primario de Elixir para estos fines y en este...