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
Erlang u praksi
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Saša Jurić
November 24, 2012
Programming
1
400
Erlang u praksi
WebCamp Zagreb, 2012
Saša Jurić
November 24, 2012
Tweet
Share
More Decks by Saša Jurić
See All by Saša Jurić
Such Great Heights, Code BEAM Lite, Amsterdam 2018
sasajuric
0
190
Simplifying systems with Elixir - Belgrade
sasajuric
3
480
Simplifying systems with Elixir
sasajuric
2
590
Metagrokking Elixir
sasajuric
4
300
Solid Ground
sasajuric
15
1.3k
Solid Ground
sasajuric
3
900
Elixir - valentine edition
sasajuric
0
140
What's the fuss about Phoenix?
sasajuric
2
1.1k
Phoenix
sasajuric
1
240
Other Decks in Programming
See All in Programming
AI & Enginnering
codelynx
0
140
余白を設計しフロントエンド開発を 加速させる
tsukuha
7
2.2k
Oxlint JS plugins
kazupon
1
1.1k
登壇資料を作る時に意識していること #登壇資料_findy
konifar
4
1.9k
JPUG勉強会 OSSデータベースの内部構造を理解しよう
oga5
2
200
izumin5210のプロポーザルのネタ探し #tskaigi_msup
izumin5210
1
330
あなたはユーザーではない #PdENight
kajitack
4
190
責任感のあるCloudWatchアラームを設計しよう
akihisaikeda
3
190
AIフル活用時代だからこそ学んでおきたい働き方の心得
shinoyu
0
150
15年続くIoTサービスのSREエンジニアが挑む分散トレーシング導入
melonps
2
250
atmaCup #23でAIコーディングを活用した話
ml_bear
3
600
Gemini for developers
meteatamel
0
120
Featured
See All Featured
The Limits of Empathy - UXLibs8
cassininazir
1
230
Tell your own story through comics
letsgokoyo
1
820
Leo the Paperboy
mayatellez
4
1.4k
Paper Plane
katiecoart
PRO
0
47k
GraphQLの誤解/rethinking-graphql
sonatard
74
11k
Accessibility Awareness
sabderemane
0
65
The Cost Of JavaScript in 2023
addyosmani
55
9.5k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
0
210
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
82
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
1
1.4k
Context Engineering - Making Every Token Count
addyosmani
9
680
Transcript
Erlang u praksi
[email protected]
Korisnici
Platforma • jezik • framework (OTP) • runtime
Konkurentnost spawn(...)
Konkurentnost scheduler spawn(...)
Konkurentnost scheduler CPU scheduler CPU scheduler CPU scheduler CPU spawn(...)
Komunikacija P1 poruka P2 P2 = spawn(...), P2 ! Poruka
receive Poruka1 -> ... Poruka2 -> ... ... end
Komunikacija P1 poruka odgovor P2 P2 ! {self(), ...}, receive
... receive {Sender, ...} -> ... Sender ! Response end
Stanje A = 5, A = A + 1
Stanje S f(Stanje) -> Poruka = receive ... end, NovoStanje
= f2(Poruka, Stanje), f(NovoStanje).
Stanje {set, ...} {get, ...} P S f(Stanje) -> Poruka
= receive ... end, NovoStanje = f2(Poruka, Stanje), f(NovoStanje).
Actor model actor actor actor actor actor actor
Supervisor S W
Supervisor W S S S W W W S W
W W W
Http server http_server request_1 request_n request response response
Http server http_server stanje request_1 request_n request response response
Push server korisnik_1 korisnik_2 korisnik_n kanal_2 kanal_1 podaci podaci
Push server <= 3000 paralelnih korisnika ≈ 30 kanala >
2000 requesta u sekundi
Erlang • actor model • supervisor • distribuiranost • mnesia
• hot code swapping • interoperabilnost • alati
Primjena • server • skalabilnost • dinamički requesti
Linkovi • Why Erlang? • Programming Erlang • Learn You
Some Erlang for Great Good! • Erlang and OTP in Action • A History of Erlang • erlang.org • Erlang Programming Group