介紹作為 Elixir 核心的 Processes 與延伸的多工框架 OTP,讓我們一起研究分享平常在寫 Elixir 可以輕鬆做到多工底下隱藏的原理以及進階應用。
目前用過的很多 start 函式,如 Supervisor.start_link, GenServer.start 等都可以使用 name option 來把...
除了一個 atom 可以使用在 name option 之外,還有 {:global, term} GenServer 會使用 :global 模組(erlan...
我們可以把 process 註冊在 Registry 裡,並用名稱去查詢,解決了 process 重啟後 pid 更換,或是需要動態產生名字但是又要避免動態生成...
新增一個 NiceBank.Manager 模組 defmodule NiceBank.Manager do use DynamicSupervisor...
Elixir 與 erlang OTP 天生就有讓我們組成 cluster 的功能, 這篇我們會將兩個終端機的 iex 連接起來,並互相傳遞訊息 使用 iex...
在 Elixir (erlang) 的 cluster 裡,所有 process 的 pid (地址),預設就是可以在整個 cluster 使用,只要拿到一個...
當一個新的 Node 加入 cluster,會自動與所有的機器連上。譬如說, node3 connect 到 node1,node2 也 conect 到 no...
每次啟動一個 BEAM vm 時,他會產生一個隨機的密碼存在家目錄的 .erlang.cookie 檔案 (~/.erlang.cookie) 我們可以使用 N...
Process.info/1 可以讓我們看到 process 當下的詳細狀態 info = Process.info(self()) 會得到相當很長超級詳細...
由於 BEAM VM 的特性,debug 時我們可以選擇關閉指定正在執行的 process 或是特定的指揮串,而不是只有直接關掉整個 instance 這個選擇...