Today I learned about the GenServers and DynamicSupervisor in #Elixir. The idea is to basically spin up new process for every user or request (whichever makes sense) and then supervise it using the Supervisor.
DynamicSupervisor just spins up a supervisor process without any child. You can spin new children by passing the child_spec to the start_child function.
Today, I learned about Supervisors in #Elixir. There is this concept of Spec which sounds similar to an interface to me. So, functions in Supervisor module expect a child_spec, that is one of two possibilities. If your module implements that, that Supervisor will agree to supervise the Application. The supervisors are cool, it automatically restarts the Application if it crashes based on the options provided. Its kinda like Systemd in that aspect.
Today I learned about Mnesia, the distributed database built into the #Erlang runtime.
PS: Elixir School is wonderful resource for learning #Elixir
I just finished an #Elixir exercise of implementing a program that plays Hangman using a Dictionary. I'm so proud of this file that I'm sharing it here.
It looks so elegant and clean and no conditionals in the code. Its incredible!