desarrollo 2023-02-23 4 minutos de lectura
Supervisores: Apagado Elegante sin Perder Datos
0 elixir otp erlang supervisorLos supervisores son un comportamiento fundamental en OTP y dentro de BEAM, la máquina virtual de Erlang y donde también se emplean Elixir y Gleam entre otros. Los supervisores mantienen procesos bajo supervisión y permiten su reanimación en caso de terminar, pero ¿sabías que también se emplean para terminar de forma elegante los sistemas?
opinión 2023-02-07 3 minutos de lectura
El Problema de Nombrar Cosas
0 phil karlton programación carbonEl problema de nombrar cosas sucede con mucha frecuencia en nuestro campo de la programación. A veces se debe a una mala traducción, otras a no encontrar un término existente y tener que estirar otro para que cubra el sentido que queremos darle y muchas otras por error. ¿Conoces algunos de estos errores?
desarrollo 2023-02-02 5 minutos de lectura
Eventos: ¿gen_event, gen_stage o phoenix_pubsub?
0 gen_stage gen_event pubsub elixir phoenix framework eventos
Cuando gestionamos eventos, en Elixir existen distintas posibilidades para construir nuestros sistemas, desde el viejo conocido gen_event
, al nuevo gen_stage
o al sencillo phoenix_pubsub
. Pero, ¿sabrías decir para qué sirve cada uno, cuales son sus puntos fuertes y sus puntos débiles?
desarrollo 2023-01-14 5 minutos de lectura
Buscaminas: De Servidor a Máquina de Estados
0 gen_server buscaminas elixir otp gen_state_machine gen_statemMientras escribía el capítulo sobre Máquinas de Estados en el libro de Elixir/OTP: Alquimia con OTP me encontré que solo emplee máquinas de estados en el juego Zero y en las comprobaciones de Hemdal. Sin embargo, cuando como ejercicio pensé cómo sería trasladar Mine para usar una máquina de estados, lo vi tan claro que finalmente lo hice, ¿sabes cómo realizar estos cambios?
sistemas 2023-01-10 8 minutos de lectura
Bases de Datos Distribuidas en Erlang
0 couchbase pacelc distribución erlang base de datos escalabilidadToda aplicación desarrollada como servicio en Internet suele necesitar una base de datos, cualquier aplicación distribuida suele delegar la persistencia de sus datos en una base de datos e incluso muchas de las aplicaciones que ejecutamos en nuestros dispositivos móviles emplean bases de datos y estas pueden sincronizarse con una base de datos en la nube que se replica en otros muchos otros dispositivos, ¿sabías que muchas de estas están hechas en Erlang?