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
Nick Quaranto
May 05, 2016
Programming
1
550
Awesome Extractions Done Quick
Given at RailsConf 2016. Workshop content:
https://git.io/vwdBF
Nick Quaranto
May 05, 2016
Tweet
Share
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
490
how to find GIFs
qrush
10
560
RubyMotion: The sleeper has awakened!
qrush
5
900
CoffeeScript - Spartan Javascript
qrush
0
580
Basecamp Next: Code Spelunking
qrush
62
9k
m: a better Ruby Test::Unit runner
qrush
2
580
Test Driven Development
qrush
14
1.5k
Lapidary: The Art of Gemcutting
qrush
2
560
Other Decks in Programming
See All in Programming
CEDEC2025 長期運営ゲームをあと10年続けるための0から始める自動テスト ~4000項目を50%自動化し、月1→毎日実行にした3年間~
akatsukigames_tech
0
140
CLI ツールを Go ライブラリ として再実装する理由 / Why reimplement a CLI tool as a Go library
ktr_0731
3
1.1k
Dart 参戦!!静的型付き言語界の隠れた実力者
kno3a87
0
200
Google I/O recap web編 大分Web祭り2025
kponda
0
2.9k
Vibe coding コードレビュー
kinopeee
0
450
「リーダーは意思決定する人」って本当?~ 学びを現場で活かす、リーダー4ヶ月目の試行錯誤 ~
marina1017
0
230
Google I/O Extended Incheon 2025 ~ What's new in Android development tools
pluu
1
290
Flutter로 Gemini와 MCP를 활용한 Agentic App 만들기 - 박제창 2025 I/O Extended Seoul
itsmedreamwalker
0
140
Introduction to Git & GitHub
latte72
0
110
AHC051解法紹介
eijirou
0
590
Claude Code と OpenAI o3 で メタデータ情報を作る
laket
0
130
オホーツクでコミュニティを立ち上げた理由―地方出身プログラマの挑戦 / TechRAMEN 2025 Conference
lemonade_37
2
480
Featured
See All Featured
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.6k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
GraphQLとの向き合い方2022年版
quramy
49
14k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
131
19k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
Rebuilding a faster, lazier Slack
samanthasiow
83
9.1k
Testing 201, or: Great Expectations
jmmastey
45
7.6k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.4k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
810
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Building Adaptive Systems
keathley
43
2.7k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
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]