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
Awesome Extractions Done Quick
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Nick Quaranto
May 05, 2016
Programming
570
1
Share
Awesome Extractions Done Quick
Given at RailsConf 2016. Workshop content:
https://git.io/vwdBF
Nick Quaranto
May 05, 2016
More Decks by Nick Quaranto
See All by Nick Quaranto
The GraphQL Way: A new path for JSON APIs
qrush
287
20k
rubygems.next
qrush
5
520
how to find GIFs
qrush
10
580
RubyMotion: The sleeper has awakened!
qrush
5
940
CoffeeScript - Spartan Javascript
qrush
0
610
Basecamp Next: Code Spelunking
qrush
62
9.1k
m: a better Ruby Test::Unit runner
qrush
2
620
Test Driven Development
qrush
14
1.5k
Lapidary: The Art of Gemcutting
qrush
2
600
Other Decks in Programming
See All in Programming
密結合なバックエンドから TypeScript のコードを生成する
kemuridama
1
390
Oxcを導入して開発体験が向上した話
yug1224
4
250
Inside Stream API
skrb
1
350
不変条件と整合性境界—ビジネスが決める設計判断と実現パターン / Invariants and Consistency Boundaries
nrslib
11
3k
ふつうのFeature Flag実践入門
irof
7
3.3k
ビジネスモデルから紐解く、AI+型駆動開発
hirokiomote
2
4k
Technical Debt: Understanding it Rightly, Engaging it Rightly #LaravelLiveJP
shogogg
0
170
Talking to terminals (and how they talk back) (KotlinConf 2026)
jakewharton
PRO
1
160
肥大化するレガシーコードに立ち向かうためのインターフェース分離と依存の逆転 / JJUG CCC 2026 Spring
hirokunimaeta
0
190
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
350
Moments When Things Go Wrong
aurimas
3
120
Oxlintはいかにしてtsgolintのlint ruleを呼び出しているのか
syumai
2
1k
Featured
See All Featured
The browser strikes back
jonoalderson
0
1.1k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
200
Designing for humans not robots
tammielis
254
26k
30 Presentation Tips
portentint
PRO
1
310
Color Theory Basics | Prateek | Gurzu
gurzu
0
320
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
The Cult of Friendly URLs
andyhume
79
6.9k
Paper Plane
katiecoart
PRO
1
50k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.1k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.9k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
0
1.5k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
390
Transcript
RailsConf 2016 ~ @qrush Awesome Extractions Done Quick
None
None
https://git.io/vwdBF INSTALL
https://git.io/vwdBF Your Toolbox
https://git.io/vwdBF
https://git.io/vwdBF What is an extraction?
https://git.io/vwdBF ABSTRACTION
https://git.io/vwdBF Extract Method
https://git.io/vwdBF DRY
https://git.io/vwdBF "Hoist"
https://git.io/vwdBF “Often, the hard part of eliminating duplication is spotting
it in the first place.” http://martinfowler.com/ieeeSoftware/repetition.pdf
https://git.io/vwdBF Cycle of design
https://git.io/vwdBF
https://git.io/vwdBF Skyway
Screenshot
Real
Setlist
Edit
ERD
Setlist Zoom
None
Show Explain Show
Setlist Explain Setlist
Slot Explain Slot
Announcement
Announcement Explain
https://git.io/vwdBF Quick
https://git.io/vwdBF LEVEL 0: Tools
https://git.io/vwdBF LEVEL 1: Model to Lib
https://git.io/vwdBF LEVEL 2: Lib to Gem
https://git.io/vwdBF LEVEL 3: Gem Detour
https://git.io/vwdBF LEVEL 4: Engines
https://git.io/vwdBF LEVEL 5: BONUS
https://git.io/vwdBF INSTALL
Wrapup!
Thanks! Stuck? Need help? No problem. @qrush
[email protected]