-
LecciónOperadores y funciones para mapas y keyword lists
Veamos qué operadores tenemos a nuestra disposición para trabajar con keyword lists. Con mapas es un poco más complicado porque no nos vale el operador ++, pero tenemos el módulo Map para hacer todo este tipo de cosas. -
LecciónCómo renombrar procesos
Registrar un nombre en un proceso (o un GenServer, o un Supervisor) tiene ventajas frente a dejarlos anónimos en términos de identificarlos. Además, cómo podemos explorar en el observer información sobre procesos (como su nombre, por ejemplo). -
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 enviar mensajes con un GenServer
Siguiendo en el tour de los GenServer, las funciones más importantes de un GenServer son, sobre todo, handle_call; y también, handle_cast. Usaremos handle_call para gestionar llamadas síncronas por parte de los clientes que se conecten a nuestro servidor; y handle_cast para las llamadas asíncronas. 00:00 impl handle_call 06:05 GenServer.call 08:53... -
Lección¿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.