-
LecciónControl de errores y gestión de un GenServer
Un popurrí de trucos y consejos para usar los GenServers, así como una explicación sobre cómo señalizar correctamente los errores en un GenServer mediante el átomo :stop. Síganme para más recetas: https://hexdocs.pm/elixir/GenServer.html 00:00 ¿Pero cuál de todas estas funciones debo usar? 03:35 Devolviendo :stop o :ignore en el init 07:51... -
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...