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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Lou Xun
May 21, 2017
Programming
160
0
Share
ElixirConf.EU 2017 Recap
Recap of ElixirConf.EU 2017 at Elixir Shanghai meetup
Lou Xun
May 21, 2017
More Decks by Lou Xun
See All by Lou Xun
Traffic Control the Rabbit(MQ) with Rust using RedBPF
aquarhead
0
170
Stateful PBT, with a game logic case study
aquarhead
1
210
Introducing ExLoglite
aquarhead
0
130
Defensive Programming vs. Let It Crash
aquarhead
4
1k
Getting Help |> Ways to Contribute
aquarhead
1
110
Other Decks in Programming
See All in Programming
AIと共に生きる技術選定 2026
sgash708
0
120
実用!Hono RPC2026
yodaka
2
300
JAWS-UG横浜 #100 祝・第100回スペシャルAWS は VPC レスの時代へ
maroon1st
0
210
Structured Concurrency, Scoped Values and Joiners in the JDK 25 26 27
josepaumard
1
140
【26新卒研修資料】TDD実装演習
dip_tech
PRO
0
160
의존성 주입과 모듈화
fornewid
0
160
Lightning-Fast Method Calls with Ruby 4.1 ZJIT / RubyKaigi 2026
k0kubun
3
2.4k
KMP × Kotlin 2.3 - How Android Got Slower While iOS Builds Improved by 47%
rio432
0
120
ハーネスエンジニアリングにどう向き合うか 〜ルールファイルを超えて開発プロセスを設計する〜 / How to approach harness engineering
rkaga
27
19k
エラー処理の温故知新 / history of error handling technic
ryotanakaya
7
1.8k
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
100
Back to the roots of date
jinroq
0
670
Featured
See All Featured
New Earth Scene 8
popppiees
3
2.2k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
KATA
mclloyd
PRO
35
15k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
410
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.8k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Technical Leadership for Architectural Decision Making
baasie
3
350
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
350
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.3k
Site-Speed That Sticks
csswizardry
13
1.2k
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