Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
The Best Library I Ever Designed
Search
Andrea Leopardi
May 04, 2017
Programming
380
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
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
620
The Umbrella and the Range
whatyouhide
0
75
gen_statem - OTP's Unsung Hero
whatyouhide
2
370
The World is a Network (and We Are Just Nodes)
whatyouhide
1
270
BEAM: The Perfect Fit for Networks
whatyouhide
1
280
Update from the Elixir team - 2022
whatyouhide
0
470
Testing Asynchronous OTP
whatyouhide
1
590
Elixir Sightseeing Tour
whatyouhide
0
500
Mint - Disrupting HTTP clients
whatyouhide
0
320
Other Decks in Programming
See All in Programming
Jetpack Compose Mechanisms
skydoves
3
860
FactoryBotをやめればRSpecは速くなるのか?
yuta_onishi_97
0
990
Web Framework Benchmark Battle 2026, Any%
a_matsuda
2
2.7k
SalesForceを内製化!? ~ HR事業を支える顧客管理基盤のインフラを大公開 ~
oku053
0
190
エージェントを使い続けるためのメタワーク / Meta-work for keeping using the agent
rkaga
6
1.6k
月間100万人のサービス刷新で、 技術選定をHonoに振り切った話
yutobara
8
6.8k
Herb in Rails 8.2: Your ERB views, now HTML-aware @ Kaigi on Rails 2026, Tokyo, Japan
marcoroth
2
320
AI時代のTerminal環境を UNIX哲学で設計・運用する
yasunori0418
1
200
dotNET_vulnclicker_intro.pdf
deka_morita
0
150
Next.js: The final boss of Web Performance
guaca
0
320
最近”作らせてる” ローカルAIアプリの話
akit37
0
490
graphql-ruby を Spinel で速くしようとした話
mtsmfm
0
110
Featured
See All Featured
Ethics towards AI in product and experience design
skipperchong
2
440
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.3k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
1.1k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
890
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
2
330
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
Ten Tips & Tricks for a 🌱 transition
stuffmc
1
270
Discover your Explorer Soul
emna__ayadi
2
1.3k
Building Applications with DynamoDB
mza
96
7.2k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.8k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
360
Navigating Team Friction
lara
192
16k
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