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
AIを活用し、今後に備えるための技術知識 / Basic Knowledge to Utilize AI
kishida
22
5.9k
Putting The Genie in the Bottle - A Crash Course on running LLMs on Android
iurysza
0
140
スケールする組織の実現に向けた インナーソース育成術 - ISGT2025
teamlab
PRO
2
170
基礎から学ぶ大画面対応(Learning Large-Screen Support from the Ground Up)
tomoya0x00
0
4.3k
意外と簡単!?フロントエンドでパスキー認証を実現する WebAuthn
teamlab
PRO
2
780
奥深くて厄介な「改行」と仲良くなる20分
oguemon
1
570
1から理解するWeb Push
dora1998
7
1.9k
アルテニア コンサル/ITエンジニア向け 採用ピッチ資料
altenir
0
110
より安全で効率的な Go コードへ: Protocol Buffers Opaque API の導入
shwatanap
2
780
今だからこそ入門する Server-Sent Events (SSE)
nearme_tech
PRO
3
250
Introducing ReActionView: A new ActionView-compatible ERB Engine @ Rails World 2025, Amsterdam
marcoroth
0
710
複雑なフォームに立ち向かう Next.js の技術選定
macchiitaka
2
240
Featured
See All Featured
Raft: Consensus for Rubyists
vanstee
140
7.1k
A designer walks into a library…
pauljervisheath
207
24k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
113
20k
Optimising Largest Contentful Paint
csswizardry
37
3.4k
GitHub's CSS Performance
jonrohan
1032
460k
[RailsConf 2023] Rails as a piece of cake
palkan
57
5.8k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.1k
Imperfection Machines: The Place of Print at Facebook
scottboms
268
13k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.7k
Fireside Chat
paigeccino
39
3.6k
BBQ
matthewcrist
89
9.8k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
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