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
ElixirConf.EU 2017 Recap
Search
Lou Xun
May 21, 2017
Programming
0
160
ElixirConf.EU 2017 Recap
Recap of ElixirConf.EU 2017 at Elixir Shanghai meetup
Lou Xun
May 21, 2017
Tweet
Share
More Decks by Lou Xun
See All by Lou Xun
Traffic Control the Rabbit(MQ) with Rust using RedBPF
aquarhead
0
150
Stateful PBT, with a game logic case study
aquarhead
1
200
Introducing ExLoglite
aquarhead
0
120
Defensive Programming vs. Let It Crash
aquarhead
4
970
Getting Help |> Ways to Contribute
aquarhead
1
100
Other Decks in Programming
See All in Programming
Namespace and Its Future
tagomoris
6
700
Navigation 2 を 3 に移行する(予定)ためにやったこと
yokomii
0
210
Vue・React マルチプロダクト開発を支える Vite
andpad
0
110
Putting The Genie in the Bottle - A Crash Course on running LLMs on Android
iurysza
0
140
今だからこそ入門する Server-Sent Events (SSE)
nearme_tech
PRO
3
200
JSONataを使ってみよう Step Functionsが楽しくなる実践テクニック #devio2025
dafujii
1
530
意外と簡単!?フロントエンドでパスキー認証を実現する WebAuthn
teamlab
PRO
2
750
モバイルアプリからWebへの横展開を加速した話_Claude_Code_実践術.pdf
kazuyasakamoto
0
330
rage against annotate_predecessor
junk0612
0
170
Compose Multiplatform × AI で作る、次世代アプリ開発支援ツールの設計と実装
thagikura
0
150
The Past, Present, and Future of Enterprise Java with ASF in the Middle
ivargrimstad
0
110
ProxyによるWindow間RPC機構の構築
syumai
3
1.2k
Featured
See All Featured
Product Roadmaps are Hard
iamctodd
PRO
54
11k
Designing for Performance
lara
610
69k
Agile that works and the tools we love
rasmusluckow
330
21k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
4 Signs Your Business is Dying
shpigford
184
22k
Become a Pro
speakerdeck
PRO
29
5.5k
Testing 201, or: Great Expectations
jmmastey
45
7.7k
Balancing Empowerment & Direction
lara
3
620
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
8
520
Fireside Chat
paigeccino
39
3.6k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Transcript
2017 ElixirConf.EU
None
José Valim Day 1 Keynote • Elixir 5yrs old, 1.0
-> 1.4 • _Seven Languages in Seven Weeks_ • "Elixir" before Elixir • defobject >,< • Elixir Goals -> Rethink meta-programming • Elixir ~= Data(types) + Modules + Processes • http: //theerlangelist.com //article/spawn_or_not • Time -> Runtime • Elixir 1.5
Tonći Galić CQRS/ES + Elixir • Event Sourcing • eventual
consistency • CQRS • Command • Query • Responsibility Segregation • +Elixir • gen_server/gen_statem/gen_stage • pattern matching • etc… • https: //10consulting.com/2017/01/04/building-a-cqrs-web- application-in-elixir-using-phoenix/
Andrea Amantini Nextjournal • https: //nextjournal.com/ • editor + interactive,
connected code cells • Dependencies of code cells -> Graph of processes • Cuneiform (cuneiform-lang.org) • GenStage (:digraph, BroadcastDispatcher) • Applications • Phoenix Channel • Runner App • Erlang Ports • Docker
None
Dániel Vámosi Visualization • https: //github.com/koudelka/visualixir • http: // www.erlang.pl/
• “Paparazzi”
Introducing ExLoglite LIGHTNING TALK
None
Tetiana Dushenkivska & Keith Salisbury Day 2 Keynote • _The
Age of Elixir_ • Community • Elixir Shanghai !!
Thomas Arts QuickCheck • Improved Elixir integration (eqc_ex) • PBT
x ex_loglite • Shrinking • Quviq customers: Volvo, Dropbox, Basho… • Erlang -> Elixir for B2B • Spec! (JSON Schema) • generator, validator • Real-time system challenge (timestamp…) • JSON Schema + QuickCheck for random data generation
defmodule ExLogLite.LogModelEQC do use ExUnit.Case use EQC.ExUnit alias ExLogLite.LogModel property
"`build` always return string of a specific length" do forall {s, n} <- {utf8(), choose(1, 1000)} do ensure byte_size(LogModel.build(s, n)) == n end end end
None
GraphQL Bruce Williams & Benjamin Wilson
Bruce Williams & Benjamin Wilson GraphQL • 3yrs of Elixir
@ CargoSence • RESTful APIs -> GraphQL • Absinthe • and friends… • Schema -> Objects -> Fields (type, another obj) • GraphQL Document • Query (like an object) • or Mutation, results are like queries • or Subscriptions
None
Bruce Williams & Benjamin Wilson Absinthe • Resolver -> Macro
(Map.get) • Execution / Data loading: • Batching • absinthe_ecto • lazy loading • combine sub-tree query • Projection (eager loading) • Extending Absinthe (hexdocs) • Phases |> Pipeline • Limit by complexity, etc… • middleware (per-field)
GRAPHQL BOOK COMING SOON
Petri Kero Scalable Mobile Game Backend • Distillery release •
Docker -> Kubernetes • libcluster • Distributed Locks • Global PG • Sloppy Quorum • Use AI client for load testing • 420k concurrents @ 8-node, 36 vCPU cluster • scaling up steps…
None
Chris McCord Closing Keynote • Why Phoenix 1.3 • Lonestar
ElixirConf 2017- KEYNOTE: Phoenix 1.3 • still rc >,< • Phoenix 1.4 • Metrics • Instrumenting
ADOPTING ELIXIR NEW BOOK2
See U Next Time @aquarhead