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.6k
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
150
BEAM: The Perfect Fit for Networks
whatyouhide
1
140
Update from the Elixir team - 2022
whatyouhide
0
340
Testing Asynchronous OTP
whatyouhide
0
460
Elixir Sightseeing Tour
whatyouhide
0
350
Mint - Disrupting HTTP clients
whatyouhide
0
210
The Evolution of a Language
whatyouhide
0
120
Elixir - functional, concurrent, distributed programming for the rest of us
whatyouhide
2
290
Papers we love: Elixir edition
whatyouhide
5
1k
Other Decks in Programming
See All in Programming
どうしてこうなった?から理解するActive Recordの関連の裏側
willnet
5
510
Rustではじめる負荷試験
skanehira
5
1.1k
Modular Monolith Go Server with GraphQL Federation + gRPC
110y
1
550
Swift Concurrencyとレースコンディション
objectiveaudio
1
380
マイグレーションコード自作して File-Based Routing に自動移行!! ~250 ページの歴史的経緯を添えて~
cut0
1
240
Hono・Prisma・AWSでGeoなAPI開発
nokonoko1203
5
610
Rubyとクリエイティブコーディングの輪の広がり / The Growing Circle of Ruby and Creative Coding
chobishiba
1
220
Regular Expressions, REXML, Automata Learning
makenowjust
0
180
2024 컴포즈 정원사
jisungbin
0
140
ウォンテッドリーにおけるモバイルアプリ開発 / iOSDC Japan 2024 Sponsor Session
kubode
0
220
LangGraphでのHuman-in-the-Loopの実装
os1ma
3
550
実践 Advanced CallKit 〜快適な通話の実現に向けて〜
mot_techtalk
3
110
Featured
See All Featured
Creatively Recalculating Your Daily Design Routine
revolveconf
215
12k
Building a Modern Day E-commerce SEO Strategy
aleyda
35
6.8k
Building a Scalable Design System with Sketch
lauravandoore
458
32k
Agile that works and the tools we love
rasmusluckow
327
20k
Faster Mobile Websites
deanohume
304
30k
The Brand Is Dead. Long Live the Brand.
mthomps
53
37k
Optimising Largest Contentful Paint
csswizardry
28
2.7k
What’s in a name? Adding method to the madness
productmarketing
PRO
21
3k
Build The Right Thing And Hit Your Dates
maggiecrowley
29
2.2k
The World Runs on Bad Software
bkeepers
PRO
64
11k
Embracing the Ebb and Flow
colly
83
4.4k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
662
120k
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