Backend
Ruby on Rails
A full-stack Ruby framework that popularized convention over configuration and Active Record.
What it is
Rails follows "convention over configuration": name things by the rules and the framework wires models, tables, controllers and routes itself.
Inside you get the Active Record ORM, code generators, migrations, Action Cable for websockets, Active Job for background tasks and Hotwire for interactive UI without heavy JS.
Rails lets you launch products very fast. GitHub, Shopify and Basecamp run on it.
Use it when
- A quick MVP or SaaS with a classic web interface.
- The team values developer productivity and conventions.
- You want the full stack in one framework.
Avoid it when
- Services with strict single-node throughput requirements.
- A team with no Ruby experience that needs to hire fast.
Key concepts
- Convention over configuration
- Names and file structure replace settings.
- Active Record
- The ORM pattern: a model with database access.
- Migrations
- Versioning the database schema in code.
- Hotwire
- Turbo and Stimulus: HTML-over-the-wire interactivity.
Example
Interview questions
1. What does "convention over configuration" mean?
The framework assumes sensible defaults from class and file names. You configure only where you depart from the rules.
2. What is Active Record?
A pattern where a model object matches a table row and can save and load itself. It has associations, validations and callbacks.
3. What are migrations for?
They describe schema changes as code that you can apply or roll back in any environment.
Related technologies
- RubyAn expressive object-oriented language, known for Ruby on Rails and the convention over configuration approach.
- PostgreSQLA powerful open source relational database with extensions, JSONB, full-text search and strong SQL support.
- RedisRedis is a fast in-memory data store used for caching, queues, counters, sessions and leaderboards, with rich data structures.
Logos belong to their owners and are used for identification only. Icons: Simple Icons (CC0), Devicon (MIT).