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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Andrea Leopardi
May 04, 2017
Programming
1
330
The Best Library I Ever Designed
Andrea Leopardi
May 04, 2017
Tweet
Share
More Decks by Andrea Leopardi
See All by Andrea Leopardi
The Umbrella and the Range
whatyouhide
0
36
gen_statem - OTP's Unsung Hero
whatyouhide
2
300
The World is a Network (and We Are Just Nodes)
whatyouhide
1
240
BEAM: The Perfect Fit for Networks
whatyouhide
1
230
Update from the Elixir team - 2022
whatyouhide
0
440
Testing Asynchronous OTP
whatyouhide
1
550
Elixir Sightseeing Tour
whatyouhide
0
460
Mint - Disrupting HTTP clients
whatyouhide
0
290
BEAM Architecture Handbook
whatyouhide
7
2.9k
Other Decks in Programming
See All in Programming
Head of Engineeringが現場で回した生産性向上施策 2025→2026
gessy0129
PRO
0
180
nilとは何か 〜interfaceの構造とnil!=nilから理解する〜 / Understanding nil in Go Interface Representation and Why nil != nil
kuro_kurorrr
0
180
SourceGeneratorのススメ
htkym
0
600
責任感のあるCloudWatchアラームを設計しよう
akihisaikeda
3
190
Lambda のコードストレージ容量に気をつけましょう
tattwan718
0
180
余白を設計しフロントエンド開発を 加速させる
tsukuha
7
2.2k
生成AIを活用したソフトウェア開発ライフサイクル変革の現在値
hiroyukimori
PRO
0
130
その「common」ディレクトリ、腐っていませんか?
kinocoboy2
1
100
開発者から情シスまで - 多様なユーザー層に届けるAPI提供戦略 / Postman API Night Okinawa 2026 Winter
tasshi
0
240
今、アーキテクトとして 品質保証にどう関わるか
nealle
0
160
ご飯食べながらエージェントが開発できる。そう、Agentic Engineeringならね。
yokomachi
1
210
Swift at Scale: Where Performance Really Comes From
kateinoigakukun
0
120
Featured
See All Featured
Code Reviewing Like a Champion
maltzj
527
40k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
600
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.2k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
620
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
110
エンジニアに許された特別な時間の終わり
watany
106
230k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
72
The SEO identity crisis: Don't let AI make you average
varn
0
400
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
3.7k
The Cult of Friendly URLs
andyhume
79
6.8k
Art, The Web, and Tiny UX
lynnandtonic
304
21k
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