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.5k
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
120
BEAM: The Perfect Fit for Networks
whatyouhide
1
130
Update from the Elixir team - 2022
whatyouhide
0
330
Testing Asynchronous OTP
whatyouhide
0
450
Elixir Sightseeing Tour
whatyouhide
0
330
Mint - Disrupting HTTP clients
whatyouhide
0
200
The Evolution of a Language
whatyouhide
0
110
Elixir - functional, concurrent, distributed programming for the rest of us
whatyouhide
2
290
Papers we love: Elixir edition
whatyouhide
5
980
Other Decks in Programming
See All in Programming
JRuby 10: Ruby 3.3 on the Modern JVM
headius
0
140
コンパウンドプロダクト開発の質とスピードを支える Protobuf と Connect #アーキテクチャ_findy / Boosting Compound Product Development Efficiency with Protobuf and Connect
izumin5210
12
630
Upgrading Legacy to the Latest PHP Version
afilina
PRO
0
160
Jetpack Compose Mechanism
skydoves
1
680
LTのやり方
yosuke_furukawa
PRO
8
1k
ビジネスの構造をアーキテクチャに落とし込みソフトウェアに可変性を注入する
monotaro
PRO
10
2k
実践AI/ML ~よくあるユースケースとレコメンデーションの効果的な活用戦略~
cmnakamurashogo
0
190
Optiver参戦記&銀メダル解法
tonic
0
210
Androidで不安定なPlatform Viewsとの闘い
temoki
0
110
Go + GraphQL @ newmo
110y
3
230
Rearchitect Ripper
yui_knk
2
270
入門プロパティベーステスト/learning-property-based-testing
kiway
6
1k
Featured
See All Featured
Design by the Numbers
sachag
274
18k
What's in a price? How to price your products and services
michaelherold
238
11k
The Mythical Team-Month
searls
217
42k
GitHub's CSS Performance
jonrohan
1025
450k
No one is an island. Learnings from fostering a developers community.
thoeni
16
2.1k
How GitHub (no longer) Works
holman
305
140k
Building Flexible Design Systems
yeseniaperezcruz
321
37k
Six Lessons from altMBA
skipperchong
22
3.1k
Making the Leap to Tech Lead
cromwellryan
125
8.6k
Statistics for Hackers
jakevdp
790
220k
Navigating Team Friction
lara
179
13k
Side Projects
sachag
451
41k
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