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.8k
BEAM Architecture Handbook
Andrea Leopardi
May 26, 2019
Tweet
Share
More Decks by Andrea Leopardi
See All by Andrea Leopardi
gen_statem - OTP's Unsung Hero
whatyouhide
1
180
The World is a Network (and We Are Just Nodes)
whatyouhide
1
200
BEAM: The Perfect Fit for Networks
whatyouhide
1
180
Update from the Elixir team - 2022
whatyouhide
0
390
Testing Asynchronous OTP
whatyouhide
1
510
Elixir Sightseeing Tour
whatyouhide
0
410
Mint - Disrupting HTTP clients
whatyouhide
0
240
The Evolution of a Language
whatyouhide
0
140
Elixir - functional, concurrent, distributed programming for the rest of us
whatyouhide
2
320
Other Decks in Programming
See All in Programming
これだけは知っておきたいクラス設計の基礎知識 version 2
masuda220
PRO
18
3.9k
The Evolution of Enterprise Java with Jakarta EE 11 and Beyond
ivargrimstad
0
1.3k
remix + cloudflare workers (DO) docker上でいい感じに開発する
yoshidatomoaki
0
120
Boost Your Performance and Developer Productivity with Jakarta EE 11
ivargrimstad
0
590
英語文法から学ぶ、クリーンな設計の秘訣
newnomad
1
280
AtCoder Heuristic First-step Vol.1 講義スライド
terryu16
3
1.1k
SLI/SLOの設定を進めるその前に アラート品質の改善に取り組んだ話
tanden
2
770
小さく段階的リリースすることで深夜メンテを回避する
mkmk884
2
140
20250326_生成AIによる_レビュー承認システムの実現.pdf
takahiromatsui
17
6.1k
DataStoreをテストする
mkeeda
0
250
複数ドメインに散らばってしまった画像…! 運用中のPHPアプリに後からCDNを導入する…!
suguruooki
0
450
地域ITコミュニティの活性化とAWSに移行してみた話
yuukis
0
170
Featured
See All Featured
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
60k
Git: the NoSQL Database
bkeepers
PRO
430
65k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
7
620
What's in a price? How to price your products and services
michaelherold
245
12k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
2.2k
Large-scale JavaScript Application Architecture
addyosmani
511
110k
[RailsConf 2023] Rails as a piece of cake
palkan
53
5.4k
GraphQLとの向き合い方2022年版
quramy
45
14k
Become a Pro
speakerdeck
PRO
27
5.2k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Automating Front-end Workflow
addyosmani
1369
200k
Site-Speed That Sticks
csswizardry
4
460
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