# How do you do a Rails deep dive?

DevFeed: [How do you do a Rails deep dive?](<https://devfeed.tech/articles/how-do-you-do-a-rails-deep-dive-26269.md>)

Original publisher: [Read original article](<https://www.justinweiss.com/articles/how-do-you-do-a-rails-deep-dive/>)

Author: Justin Weiss

Published: 2017-08-22T04:40:15Z

Content type: article

Language: en

Sources: [Justin Weiss](<https://devfeed.tech/sources/justin-weiss.md>)

Topics: [Rails](<https://devfeed.tech/topics/rails.md>), [Documentation](<https://devfeed.tech/topics/documentation.md>), [Learning](<https://devfeed.tech/topics/learning.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [code](<https://devfeed.tech/tags/code.md>), [deep-dive](<https://devfeed.tech/tags/deep-dive.md>), [documentation](<https://devfeed.tech/tags/documentation.md>), [guide](<https://devfeed.tech/tags/guide.md>), [learning](<https://devfeed.tech/tags/learning.md>), [rails](<https://devfeed.tech/tags/rails.md>)

## AI overview

The article explains how to undertake a deep dive into a technical topic, using Rails as an example. It recommends starting with comprehensive books or official guides, then pairing reference documentation with those broader sources before reading source code.

## Source excerpt

Maybe fixing a bug just spawned a dozen new ones. Or your code breaks in such a weird way that you wonder if you really understand it at all. You think it's time for a deep dive. But knowing you need to dive deeply into a topic? That's only step 1. How do you actually learn a topic down to its fundamentals? How do you learn enough that it comes naturally to you? Where do you start? There are a lot of places you could start your learning. But when I need to learn a lot about a topic quickly, books are my favorite place to start. For example, if you're doing a deep dive into git, a book called Pro Git is probably exactly what you're looking for. Books are great for deep dives because they're comprehensive: Most medium-sized topics are pretty well covered by a 200-400 page book. At the end, you might not be an expert, but you'll have a pretty good understanding and solid fundamentals to grow from. That'll help if you decide to move on to reading source code or specs. But maybe you don't want to buy a book. Or a book on your topic doesn't even exist. When that happens, where else can you look? Official documentation is a good alternative. If you're doing a deep dive into a single part of a framework like Rails, or a web technology like OAuth, official docs are an especially good match. For projects and frameworks, something named "The X Guide(s)" is your best bet for starting. For example, I often recommend the Rails Guides for new Rails developers, and the Elixir Guides are a great place to learn how to write Elixir code. But while guides are more comprehensive than, say, a blog post, they aren't totally comprehensive. Instead, you can use the guide as a jumping-off point to the reference documentation, like RDoc. Reference material is hard to understand if you don't have a way to put all those methods and classes into context. It's just a mess of details with no real structure. So I find that references work best when you pair them with guides or books. For example, a