Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
BEAM Architecture Handbook
Search
Andrea Leopardi
May 26, 2019
Programming
7
2.7k
BEAM Architecture Handbook
Andrea Leopardi
May 26, 2019
Tweet
Share
More Decks by Andrea Leopardi
See All by Andrea Leopardi
The World is a Network (and We Are Just Nodes)
whatyouhide
0
170
BEAM: The Perfect Fit for Networks
whatyouhide
1
150
Update from the Elixir team - 2022
whatyouhide
0
360
Testing Asynchronous OTP
whatyouhide
0
470
Elixir Sightseeing Tour
whatyouhide
0
380
Mint - Disrupting HTTP clients
whatyouhide
0
220
The Evolution of a Language
whatyouhide
0
120
Elixir - functional, concurrent, distributed programming for the rest of us
whatyouhide
2
300
Papers we love: Elixir edition
whatyouhide
5
1k
Other Decks in Programming
See All in Programming
Cloudflare MCP ServerでClaude Desktop からWeb APIを構築
kutakutat
1
550
ある日突然あなたが管理しているサーバーにDDoSが来たらどうなるでしょう?知ってるようで何も知らなかったDDoS攻撃と対策 #phpcon.2024
akase244
0
120
Fibonacci Function Gallery - Part 1
philipschwarz
PRO
0
220
rails statsで大解剖 🔍 “B/43流” のRailsの育て方を歴史とともに振り返ります
shoheimitani
2
940
Webエンジニア主体のモバイルチームの 生産性を高く保つためにやったこと
igreenwood
0
340
Security_for_introducing_eBPF
kentatada
0
110
103 Early Hints
sugi_0000
1
230
快速入門可觀測性
blueswen
0
370
なまけものオバケたち -PHP 8.4 に入った新機能の紹介-
tanakahisateru
1
120
RWC 2024 DICOM & ISO/IEC 2022
m_seki
0
210
KubeCon + CloudNativeCon NA 2024 Overviewat Kubernetes Meetup Tokyo #68 / amsy810_k8sjp68
masayaaoyama
0
250
ドメインイベント増えすぎ問題
h0r15h0
2
340
Featured
See All Featured
Mobile First: as difficult as doing things right
swwweet
222
9k
Building Flexible Design Systems
yeseniaperezcruz
327
38k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
32
2.7k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.7k
Testing 201, or: Great Expectations
jmmastey
40
7.1k
Bash Introduction
62gerente
608
210k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
229
52k
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
Why You Should Never Use an ORM
jnunemaker
PRO
54
9.1k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
10
810
Designing on Purpose - Digital PM Summit 2013
jponch
116
7k
Transcript
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
receive do :some_message -> # ... :other_message -> # ...
end
def handle_info(:some_message, state) do # ... end def handle_info(:other_message, state)
do # ... end def handle_info(unknown, state) do Logger.warn("Unknown message") {:noreply, state} end
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
defmodule MyAppWeb.Controller do use MyAppWeb, :controller def show(conn, %{"id" =>
id}) do id = String.to_integer(id) end end
defmodule MyAppWeb.Controller do use MyAppWeb, :controller def show(conn, %{"id" =>
id}) do case Integer.parse(id) do {id, ""} -> # ... _other -> send_resp(conn, 400, "bad id") end end end
None
None
None
None
None
None
None
None
None
Node.monitor(consumer_node, true) monitor_ref = Process.monitor(consumer_pid) send(consumer_pid, {monitor_ref, message}) receive do
{:ack, ^monitor_ref} -> Process.demonitor(monitor_ref, [:flush]) {:DOWN, ^monitor_ref, _, _, _} -> give_to_another_consumer(message) {:nodedown, ^consumer_node} -> give_to_another_consumer(message) end
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None