Concepts and Topics every Rails developer should know
Introduction
Following is a list of concepts and topics that will help you become a better Ruby on Rails developer. This is a curated list created with the intention of helping developers master their concepts in Ruby on Rails. It is not a requirement, but a guide for future studies. The format in this repo is inspired from 33-js-concepts guide here.
Table of Contents
- Rails initialization process
- What is Rack and how does it work?
- What is a DSL? Benefits of writing a DSL in Ruby
- What are singleton classes (metaclass or eigenclass) and their practical application?
- What is a Rails Engine?
- The Ruby Object Model
- How does a Gem work?
- Metaprogramming
- Threading and code execution
- Various Design Patterns
- Clean Code
- Better Rspec
- Hotwire
- Turbo
- Import Maps
1. Rails initialization process
Articles
Videos
2. What is Rack and how does it work?
Articles
- 📜 Rails on Rack
- 📜 What is Rack?
Videos
3. What is a DSL? Benefits of writing a DSL
Articles
Videos
4. What are singleton classes (metaclass or eigenclass) and their practical application?
Articles
- 📜 What is the Singleton Class in Ruby?
- 📜 Practical Applications of the Singleton Class in Ruby
Videos
5. What is a Rails Engine?
Articles
- 📜 Getting Started with Engines
- 📜 A Guide to Rails Engines in the Wild: Real World Examples of Rails Engines in Action
Videos
- 🎥 Rails Engines
6. The Ruby Object Model
Articles
- 📜 Ruby Object Model
- 📜 Ruby Object Model
Videos
7. How does a Gem work?
Articles
Videos
- 🎥 Rubygems and Bundler
- 🎥 What are Ruby gems?
8. Metaprogramming
Articles
Videos
9. Threading and code execution
Articles
Videos
10. Various Design Patterns
Articles
Videos
11. Clean Code
Articles
- 📜 Clean Code Ruby
Videos
12. Better Rspec
Articles
Videos
- 🎥 Teaching RSpec to Play nice with Rails by Sam Phippen
- 🎥 Applying RSpec Best Practices - Kevin McKelvin
13. Hotwire
Articles
Videos
14. Turbo
Articles
- 📜 Building a todo app with Turbo
- 📜 Turbo Frames on Rails
- 📜 What is Turbo
- 📜 Reddit Thread on Turbo
Videos
15. Import Maps
Articles
- 📜 Importmap for Rails
- 📜 Rails 7 and JavaScript
Videos
Contributing
I encourage you to contribute to this list of questions. Please feel free to submit your PR for any additions or updates. This will immensely help Ruby on Rails community.
Any contributions you make to this effort are greatly appreciated.