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
A Completely Unbiased Showcase of Elixir
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Andrea Leopardi
September 09, 2016
Programming
410
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
A Completely Unbiased Showcase of Elixir
Andrea Leopardi
September 09, 2016
More Decks by Andrea Leopardi
See All by Andrea Leopardi
Agentic Elixir
whatyouhide
0
520
The Umbrella and the Range
whatyouhide
0
71
gen_statem - OTP's Unsung Hero
whatyouhide
2
350
The World is a Network (and We Are Just Nodes)
whatyouhide
1
260
BEAM: The Perfect Fit for Networks
whatyouhide
1
270
Update from the Elixir team - 2022
whatyouhide
0
460
Testing Asynchronous OTP
whatyouhide
1
580
Elixir Sightseeing Tour
whatyouhide
0
500
Mint - Disrupting HTTP clients
whatyouhide
0
310
Other Decks in Programming
See All in Programming
夏だ!祭りだ!祭りとはドメインモデリングでは?
ryugen04
0
220
複数の Claude Code が"放置"されてしまう問題をCLI ダッシュボードを自作して解決した話
sumihiro3
1
670
「人を評価する AI」の設計と実装
ryoyanara
0
190
TSX の <Hoge<Fuga>> という構文に驚いた話 / tsx-type-argument-syntax
kanaru0928
0
210
自動化したのに回らないテスト運用の壁ーAI時代の品質責任と生産性
mfunaki
0
130
変わらないものが、変わるものを決める — 意図駆動開発 × イベントソーシング × イミュータブル | What Doesn't Change Decides What Can — IDD × Event Sourcing × Immutability
tomohisa
0
1.5k
テーブルをDELETEした
yuzneri
0
140
JAWS-UG横浜 #102 AWSサ終供養LT会 成仏できない AWS サービスたち 〜本日、三体供養します〜
maroon1st
0
350
AIが無かった頃の素敵な出会いの話
codmoninc
1
410
ルールを書いて終わらせないハーネスエンジニアリング
yug1224
4
1.9k
全PRの83%がAIレビューだけでマージできるようになった開発組織はその後どうなったか
athug
1
1.6k
yield再入門 #phpcon
o0h
PRO
0
1k
Featured
See All Featured
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
270
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
460
A better future with KSS
kneath
240
18k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
Facilitating Awesome Meetings
lara
57
7.1k
Unsuck your backbone
ammeep
672
58k
Technical Leadership for Architectural Decision Making
baasie
3
470
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3k
Crafting Experiences
bethany
1
250
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
270
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
380
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
650
Transcript
UNBIASED A COMPLETELY SHOWCASE OF ELIXIR
None
L F E OVEABLE, UN RLANG
ERLANG FOR HIPSTERS 2.0?
javascript/coffescript java/clojure javascript/elm
javascript/coffescript java/clojure javascript/elm ✓
.BEAM
1.0 September 2014 1.3 September 2016
GOOD STUFF IMPROVABLE STUFF ELIXIR + ERLANG
@whatyouhide
FOOTBALL ADDICTS
GOOD STUFF IMPROVABLE STUFF ELIXIR + ERLANG
GOOD STUFF IMPROVABLE STUFF ELIXIR + ERLANG
STANDARD LIBRARY
STREAMS
STREAMS "foo.txt" |> File.stream! |> Stream.map(...) |> Stream... |> Enum.to_list
METAPROGRAMMING
defmacro unless(cond, expr) do quote do if !unquote(cond) do unquote(expr)
end end end
defmacro unless(cond, expr) do quote do if !unquote(cond) do unquote(expr)
end end end
STRUCTS "official" data types
defmodule User do defstruct [:name, :age] end %User{name: "Meg", age:
33}
PROTOCOLS
JSON encoding json:encode({user, ...}) user:encode({...})
JSON encoding defprotocol JSON do def encode(_) end defimpl JSON,
for: User do def encode(user), do: ... end
ExUnit test "send/2" do send(self(), {:ok, 1}) assert_receive {:ok, _}
end
ExUnit test "send/2" do send(self(), {:ok, 1}) assert_receive {:ok, _}
end
tagging diff --stale
None
--stale don't run stale stinky tests
INTEROP WITH ERLANG for doing Real Work™
lists:map(fun(X) -> X + 1 end, [1, 2, 3]) :lists.map(fn(x)
-> x + 1 end, [1, 2, 3])
Enum.shuffle([1, 2, 3]) 'Elixir.Enum':shuffle([1, 2, 3])
MIX
DOCUMENTATION @doc """ Performs command """ def command(c), do: ...
DOCUMENTATION
ONBOARDING Getting Started guide Resources (books, ...) Error messages
ECOSYSTEM Phoenix Nerves Ecto, Plug, GenStage, ...
COMMUNITY
GOOD STUFF IMPROVABLE STUFF ELIXIR + ERLANG
DIALYZER
PROPERTY-BASED TESTING
USING ELIXIR FROM ERLANG
GOOD STUFF IMPROVABLE STUFF ELIXIR + ERLANG
just an app
WHICH ONE DO I USE ELIXIR ELIXIR ELIXIR ELIXIR ELIXIR
ELIXIR ELIXIR
APPRECIATE BOTH
POSSIBLE RULE OF THUMB libraries in Erlang (if they wouldn't
benefit from Elixir features) apps in Elixir /
hex.pm Erlang + Elixir
GOOD STUFF IMPROVABLE STUFF ELIXIR <3 ERLANG STDLIB EXUNIT METAPROGRAMMING
PROTOCOLS MIX DOCS ECOSYSTEM DIALYZER PROPERTY-BASED TESTS ELIXIR FROM ERLANG USE BOTH SHARE ON HEX BE NICE
@whatyouhide