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
How to Explore a Large Rails Application
Search
Nick Bienko
September 26, 2015
Programming
120
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
How to Explore a Large Rails Application
Rails Club 2015 talk by Nikolay Bienko
Nick Bienko
September 26, 2015
More Decks by Nick Bienko
See All by Nick Bienko
Monorails Application Design vs Cult of Microservices
bikolya
3
270
Other Decks in Programming
See All in Programming
GraphQL の onError と Nullability のこれから
quramy
0
210
조합이폭발하는디자인시스템이걸눈으로도테스트하라고요
giljongyu
0
740
私なりのハーネスエンジニアリング ~独自の言語処理系の開発を通して~
seosoft
0
190
Web3Dライブラリを作ってVue Custom Rendererの仕組みを理解しよう / lets learn vue custom renderer by making 3d library
drumath2237
1
130
Lambda durable functionsでHuman in the Loopを楽に…楽に……
har1101
2
290
Next.js: The final boss of Web Performance
guaca
0
390
Zero-Tap Sign-In対応、結局何をすればいいの?
mitohato14
0
1.9k
AmebaブログはKMPから卒業します
kmars0605
0
340
Web Framework Benchmark Battle 2026, Any%
a_matsuda
3
3.2k
地方こそサーバーレス — 10年続けた、顔が見えるチームで確かな基盤を / Serverless Matters Most in Regional Areas — 10 Years of Building Reliable Foundations with Close-Knit Teams
seike460
PRO
1
320
あなたの await、OS まで届いてる? strace で覗く JavaScript の非同期
hasutosasaki
1
2.3k
PumaからFalconに移行したRailsアプリケーションでの実践
falcon8823
0
370
Featured
See All Featured
Evolving SEO for Evolving Search Engines
ryanjones
0
360
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
3.3k
Chasing Engaging Ingredients in Design
codingconduct
0
390
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
370
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
580
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
510
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.5k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.9k
Context Engineering - Making Every Token Count
addyosmani
9
1.3k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
22k
The Invisible Side of Design
smashingmag
301
52k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
3.1k
Transcript
How to Explore a Large Rails Application Nikolay Bienko, AT
Consulting @bikolyarb
[email protected]
Plan UI Traversing & Domain knowledge Get the app up
and running Estimate codebase Check out primary entities ApplicationController Follow main use cases POROs and pattern objects
UI Traversing & Domain knowledge Explore what is your app
about Documentation Grasp domain knowledge
None
None
Get the app up and running Make tests green bin/setup
rake --tasks routes.rb gemfile-verboser
None
None
None
None
gemfile-verboser
Estimate codebase rake stats wc -l app/models/**/*.rb | sort gem
‘rails-erd’ gem ‘railroady’
None
None
wc -l app/models/**/*.rb wc -l app/controllers/**/*.rb
gem ‘rails-erd’
gem ‘railroady’
Check out primary entities Entity-Relationship Diagrams schema.rb gem ‘annotate’
gem ‘annotate’
ApplicationController Callbacks Methods and helper methods Authentication
ApplicationController
Follow main use cases routes -> controller -> model ->
view pry pry-byebug stack-trace Introspection methods ctags Integration testing gem ‘rails-footnotes’ gem ‘state_machine’ with graphs
None
gem ‘rails-footnotes’
gem ‘state_machine’ with graphs
POROs and pattern objects lib app/services app/decorators app/facades app/helpers
Summary UI Traversing & Domain knowledge Get the app up
and running Estimate codebase Check out primary entities ApplicationController Follow main use cases POROs and pattern objects
None
None
Feedback is welcome Nikolay Bienko, AT Consulting @bikolyarb
[email protected]