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
160
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
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
180
Stateful PBT, with a game logic case study
aquarhead
1
220
Introducing ExLoglite
aquarhead
0
140
Defensive Programming vs. Let It Crash
aquarhead
4
1.1k
Getting Help |> Ways to Contribute
aquarhead
1
110
Other Decks in Programming
See All in Programming
170k Jobs a Day on GKE: Scaling Mercari's CI Platform - and What's Next for AI-Native Development
junyaokabe
0
120
Hono + Inertia + React で LP を構築した話
oukayuka
2
160
Claude CodeとAgentCore Gatewayを繋ぐ際の認証認可 / Authentication and authorization when connecting Claude Code with AgentCore Gateway
har1101
2
380
FastAPI の並行処理モデルを完全に理解する
hoto17296
8
3k
わからない話を追いかけたら、プログラミング言語を作る側にいた
ydah
3
540
Oxlintはいいぞ(続)
yug1224
1
440
AI時代に学ぶ 好きなルール 嫌いなルール Linter編
shorty5121
0
100
人間の目はかわらない、だからJPEGは30年もつ
yuzneri
12
19k
Claude Code全社展開のためにやったことn選~プラグイン302個・コミッター271人を支えるために~
kenchan
5
1.7k
PyConJP2026_wat_Python × Signal Processing: How to Draw Pictures with Sound Using Spectrogram Art
wat
0
350
komatsuna「分散システムにおけるバグ分析手法」
komatsunaqa
0
280
Gmail/Google DriveをトリガーにAIエージェントを動かそう! / Run AI agents with Gmail/Google Drive as triggers!
har1101
2
440
Featured
See All Featured
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
220
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
3k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
390
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
Navigating Team Friction
lara
192
16k
Scaling GitHub
holman
464
140k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
440
Fireside Chat
paigeccino
42
4k
Google's AI Overviews - The New Search
badams
0
1.1k
Making Projects Easy
brettharned
120
6.7k
Building AI with AI
inesmontani
PRO
1
1.2k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.5k
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