ten minutes elixir (매우 간단한 fault-tolerance server)
TRANSCRIPT
![Page 2: Ten minutes elixir (매우 간단한 Fault-tolerance server)](https://reader031.vdocuments.mx/reader031/viewer/2022020314/587002771a28ab427f8b53fb/html5/thumbnails/2.jpg)
![Page 3: Ten minutes elixir (매우 간단한 Fault-tolerance server)](https://reader031.vdocuments.mx/reader031/viewer/2022020314/587002771a28ab427f8b53fb/html5/thumbnails/3.jpg)
Elixir? Erlang?
http://www.slideshare.net/YuriLeikind/elixir-study-group-kickoff-meetup?qid=e98d1040-0cd1-4e3a-9d33-ffdb0e1d180b&v=default&b=&from_search=41
![Page 4: Ten minutes elixir (매우 간단한 Fault-tolerance server)](https://reader031.vdocuments.mx/reader031/viewer/2022020314/587002771a28ab427f8b53fb/html5/thumbnails/4.jpg)
Actor Concurrency Model
http://benjamintan.io/blog/2013/06/25/elixir-for-the-lazy-impatient-and-busy-part-2-processes-101/
![Page 5: Ten minutes elixir (매우 간단한 Fault-tolerance server)](https://reader031.vdocuments.mx/reader031/viewer/2022020314/587002771a28ab427f8b53fb/html5/thumbnails/5.jpg)
Elixir• Elixir is a dynamic, functional language designed for
building scalable and maintainable applications.
• Elixir leverages the Erlang VM, known for running low-latency, distributed and fault-tolerant systems, while also being successfully used in web development and the embedded software domain.
• To learn more about Elixir, check our getting started guide. Or keep reading to get an overview of the platform, language and tools. - [www.elixir-lang.org]
![Page 6: Ten minutes elixir (매우 간단한 Fault-tolerance server)](https://reader031.vdocuments.mx/reader031/viewer/2022020314/587002771a28ab427f8b53fb/html5/thumbnails/6.jpg)
Elixir• Elixir is a dynamic, functional language designed for
building scalable and maintainable applications.
• Elixir leverages the Erlang VM, known for running low-latency, distributed and fault-tolerant systems, while also being successfully used in web development and the embedded software domain.
• To learn more about Elixir, check our getting started guide. Or keep reading to get an overview of the platform, language and tools. - [www.elixir-lang.org]
![Page 7: Ten minutes elixir (매우 간단한 Fault-tolerance server)](https://reader031.vdocuments.mx/reader031/viewer/2022020314/587002771a28ab427f8b53fb/html5/thumbnails/7.jpg)
Elixir• Elixir is a dynamic, functional language designed for
building scalable and maintainable applications.
• Elixir leverages the Erlang VM, known for running low-latency, distributed and fault-tolerant systems, while also being successfully used in web development and the embedded software domain.
• To learn more about Elixir, check our getting started guide. Or keep reading to get an overview of the platform, language and tools. - [www.elixir-lang.org]
![Page 8: Ten minutes elixir (매우 간단한 Fault-tolerance server)](https://reader031.vdocuments.mx/reader031/viewer/2022020314/587002771a28ab427f8b53fb/html5/thumbnails/8.jpg)
라이브 코딩
![Page 9: Ten minutes elixir (매우 간단한 Fault-tolerance server)](https://reader031.vdocuments.mx/reader031/viewer/2022020314/587002771a28ab427f8b53fb/html5/thumbnails/9.jpg)
프로젝트 생성
$ mix new kv --module KV --no-brunch
- config - config.exs
- lib - kv.ex
- test - kv_test.exs - test_helper.exs
- mix.exs
![Page 10: Ten minutes elixir (매우 간단한 Fault-tolerance server)](https://reader031.vdocuments.mx/reader031/viewer/2022020314/587002771a28ab427f8b53fb/html5/thumbnails/10.jpg)
[KV_01] 간단한 Key, Value 저장 서버
https://github.com/haruio/ten_minutes_elixir/tree/master/kv_01
![Page 11: Ten minutes elixir (매우 간단한 Fault-tolerance server)](https://reader031.vdocuments.mx/reader031/viewer/2022020314/587002771a28ab427f8b53fb/html5/thumbnails/11.jpg)
GenServer
KV.Storeget(key) set(key, val)
{key, value}
{key, value}
{key, value}
![Page 12: Ten minutes elixir (매우 간단한 Fault-tolerance server)](https://reader031.vdocuments.mx/reader031/viewer/2022020314/587002771a28ab427f8b53fb/html5/thumbnails/12.jpg)
GenServer
KV.Storeget(key) set(key, val)
del(key)
{key, value}
{key, value}
{key, value}
![Page 13: Ten minutes elixir (매우 간단한 Fault-tolerance server)](https://reader031.vdocuments.mx/reader031/viewer/2022020314/587002771a28ab427f8b53fb/html5/thumbnails/13.jpg)
GenServer
KV.Storeget(key) set(key, val)
del(key)
{key, value}
{key, value}
{key, value}
![Page 14: Ten minutes elixir (매우 간단한 Fault-tolerance server)](https://reader031.vdocuments.mx/reader031/viewer/2022020314/587002771a28ab427f8b53fb/html5/thumbnails/14.jpg)
[KV_02] 다시 살아나는 간단한 Key, Value 저장 서버
https://github.com/haruio/ten_minutes_elixir/tree/master/kv_02
![Page 15: Ten minutes elixir (매우 간단한 Fault-tolerance server)](https://reader031.vdocuments.mx/reader031/viewer/2022020314/587002771a28ab427f8b53fb/html5/thumbnails/15.jpg)
GenServer + Supervisor
KV.Store Supervisor
KV.Store
get(key) set(key, val) {key, value}
{key, value}
{key, value}
![Page 16: Ten minutes elixir (매우 간단한 Fault-tolerance server)](https://reader031.vdocuments.mx/reader031/viewer/2022020314/587002771a28ab427f8b53fb/html5/thumbnails/16.jpg)
GenServer + Supervisor
KV.Store Supervisor
KV.Storedel(key)
{key, value}
{key, value}
{key, value}
![Page 17: Ten minutes elixir (매우 간단한 Fault-tolerance server)](https://reader031.vdocuments.mx/reader031/viewer/2022020314/587002771a28ab427f8b53fb/html5/thumbnails/17.jpg)
GenServer + Supervisor
KV.Store Supervisor
KV.Storedel(key)
{key, value}
{key, value}
{key, value}
![Page 18: Ten minutes elixir (매우 간단한 Fault-tolerance server)](https://reader031.vdocuments.mx/reader031/viewer/2022020314/587002771a28ab427f8b53fb/html5/thumbnails/18.jpg)
GenServer + Supervisor
KV.Store Supervisor
KV.StoreKV.Store
![Page 19: Ten minutes elixir (매우 간단한 Fault-tolerance server)](https://reader031.vdocuments.mx/reader031/viewer/2022020314/587002771a28ab427f8b53fb/html5/thumbnails/19.jpg)
[KV_03] 상태를 유지하는 다시 살아나는 간단한 Key, Value 저장 서버
https://github.com/haruio/ten_minutes_elixir/tree/master/kv_03
![Page 20: Ten minutes elixir (매우 간단한 Fault-tolerance server)](https://reader031.vdocuments.mx/reader031/viewer/2022020314/587002771a28ab427f8b53fb/html5/thumbnails/20.jpg)
GenServer + Supervisor + Agent
KV.Store Supervisor
KV.StoreKV.Store Stash
get(key) set(key, val)
get(key) set(key, val) {key, value}
{key, value}
{key, value}
![Page 21: Ten minutes elixir (매우 간단한 Fault-tolerance server)](https://reader031.vdocuments.mx/reader031/viewer/2022020314/587002771a28ab427f8b53fb/html5/thumbnails/21.jpg)
GenServer + Supervisor + Agent
KV.Store Supervisor
KV.StoreKV.Store Stash
{key, value}
{key, value}
{key, value}
del(key)
![Page 22: Ten minutes elixir (매우 간단한 Fault-tolerance server)](https://reader031.vdocuments.mx/reader031/viewer/2022020314/587002771a28ab427f8b53fb/html5/thumbnails/22.jpg)
GenServer + Supervisor + Agent
KV.Store Supervisor
KV.StoreKV.Store Stash
{key, value}
{key, value}
{key, value}
del(key)
![Page 23: Ten minutes elixir (매우 간단한 Fault-tolerance server)](https://reader031.vdocuments.mx/reader031/viewer/2022020314/587002771a28ab427f8b53fb/html5/thumbnails/23.jpg)
KV.Store Supervisor
KV.StoreKV.Store Stash
{key, value}
{key, value}
{key, value}
del(key)KV.Store
GenServer + Supervisor + Agent
![Page 24: Ten minutes elixir (매우 간단한 Fault-tolerance server)](https://reader031.vdocuments.mx/reader031/viewer/2022020314/587002771a28ab427f8b53fb/html5/thumbnails/24.jpg)
Resources• Tutorials
• http://elixir-lang.org/
• Books
• Programming Elixir: https://pragprog.com/book/elixir/programming-elixir
• Slack
• https://elixir-lang.slack.com/
• https://www.facebook.com/groups/elixir.korea/
• https://www.facebook.com/groups/elixir.lang/