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
The Best Library I Ever Designed
Search
Andrea Leopardi
May 04, 2017
Programming
350
1
Share
The Best Library I Ever Designed
Andrea Leopardi
May 04, 2017
More Decks by Andrea Leopardi
See All by Andrea Leopardi
Agentic Elixir
whatyouhide
0
450
The Umbrella and the Range
whatyouhide
0
60
gen_statem - OTP's Unsung Hero
whatyouhide
2
330
The World is a Network (and We Are Just Nodes)
whatyouhide
1
250
BEAM: The Perfect Fit for Networks
whatyouhide
1
260
Update from the Elixir team - 2022
whatyouhide
0
460
Testing Asynchronous OTP
whatyouhide
1
580
Elixir Sightseeing Tour
whatyouhide
0
480
Mint - Disrupting HTTP clients
whatyouhide
0
300
Other Decks in Programming
See All in Programming
Programming with a DJ Controller — not vibe coding
m_seki
3
830
cloudnative conference 2026 flyle
azihsoyn
0
170
AlarmKitで明後日起きれるアラームアプリを作る
trickart
0
130
実践ハーネスエンジニアリング:ステアリングループを実例から読み解く / Practical Harness Engineering: Understanding Steering Loops Through Real-World Examples
nrslib
5
5.2k
Symfony AI in Action - SymfonyLive Berlin 2026
chr_hertel
1
140
Cache-moi si tu peux : patterns et pièges du cache en production - Devoxx France 2026 - Conférence
slecache
0
350
ソフトウェア設計の結合バランス #phperkaigi
kajitack
0
500
AWSはOSSをどのように 考えているのか?
akihisaikeda
0
110
いつか誰かが、と思っていた フロントエンド刷新5年間の実践知
kiichisugihara
1
270
From Formal Specification to Property Based Test
ohbarye
0
2.4k
(Re)make Regexp in Ruby: Democratizing internals for the JIT
makenowjust
3
1k
開発とはなにか、Essenceカーネルで見えるもの
ukin0k0
0
140
Featured
See All Featured
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
500
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
65
54k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
260
A Soul's Torment
seathinner
6
2.8k
ラッコキーワード サービス紹介資料
rakko
1
3.3M
Agile that works and the tools we love
rasmusluckow
331
21k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
199
73k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
220
For a Future-Friendly Web
brad_frost
183
10k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
210
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
200
Transcript
LIbRarY DEsiGnED tHe bESt I evER
WhAT HOw
@wHatYOuhIDe
FORZA FOOTBALL
None
WhAT HOw
WhAT
abStRacT
abStRacT COmPleX cODe
abStRacT PAtTerNs/IDeAs
TwO TyPEs OF liBrARiEs
"leT mE HanDlE ThiS fOR yoU"
{:ok, conn} = Redix.start_link() Redix.command(conn, ["GET", "my_key"]) #=> {:ok, "my_value"}
"HEre'S hOW yoU HanDlE ThiS"
Saul.validate( some_data, one_of([&is_ref/1, &is_pid/1]) )
leT mE HanDlE ThiS fOR yoU heRE's How YOu hANdLe
tHIs
HOw
EXteNsIBle
buILt-iN 80 exTEnSibLE 20
Mix.Shell Mix.Shell.IO Mix.Shell.Process Mix.Shell.Quiet
geT Out OF poINtS
LAw oF ABsTrACtiONs LEakY
fragment( "lower(?)", post.title )
COmPosABle
LAnGuAge FEatURes USe
sTreAMs
Xandra.stream_pages!(query) |> Task.async_stream(mapper) |> Enum.reduce(acc, fun)
EXisTInG cONveNtIoNs KnOW
{:ok, term} {:error, term}
FOcuSEd coMpOSabLE <3
EaSy USe TO
coNsISteNt pRinCIpLe Of LeAsT asTOniShMEnT
TrANsParENt ThIN enOuGh ThAT yoU Can SEe ThROugH
{:ok, socket} = :gen_tcp.connect GrEaT ErRorS
DOcuME nTatIoN
WrITe dOCs FOr YoUr FutURe sELf
WhAT HOw
@wHatYOuhIDe