Ruby on Rails

Ruby on Rails

BACKEND

Full-stack вебфреймворк, побудований на Ruby, з підходом "Convention over Configuration" та "Don't Repeat Yourself" для максимізації продуктивності. Зріла MVC-архітектура з Active Record ORM, автоматичним scaffolding, надійною системою міграцій та повною екосистемою для REST API та сучасних вебдодатків.

Чому ти навчишся

Сучасний Ruby з елегантним синтаксисом, блоками, метапрограмуванням та gem

Active Record ORM з асоціаціями, валідаціями, callback та міграціями

Convention over Configuration для максимальної продуктивності

Rails-генератори для швидкого scaffolding (моделі, контролери, міграції)

Action Cable для нативно інтегрованих WebSocket у реальному часі

Active Storage для завантаження файлів з хмарним сховищем (S3, GCS)

Action Mailer для транзакційних листів з ERB-шаблонами

Active Job для фонових завдань з адаптерами (Sidekiq, Resque, Delayed Job)

Комплексне тестування (RSpec, Minitest, fixture, factory з FactoryBot)

Продуктивність з кешуванням (Redis, Memcached), eager loading та turbo-rails

Ключові теми для опанування

Найважливіші концепції для розуміння цієї технології та проходження співбесід

1

Ruby: блоки, proc, lambda, символи, метапрограмування, модулі та mixin

2

Архітектура Rails: патерн MVC, config/routes.rb, autoloading, Zeitwerk

3

Active Record: моделі, асоціації (has_many, belongs_to, has_and_belongs_to_many)

4

AR-валідації: presence, uniqueness, кастомні валідатори, контексти валідації

5

AR callback: before_save, after_create, around_update, lifecycle hook

6

Міграції: create_table, add_column, change_column, rollback, schema.rb

7

Маршрутизація: resources, вкладені маршрути, namespace, обмеження, route helper

8

Контролери: params, strong parameters, фільтри (before_action), respond_to

9

View: ERB-шаблони, partial, helper, layout, content_for/yield

10

Active Record Query: where, joins, includes, preload, eager_load (запобігання N+1)

11

Rails API-режим: додатки тільки API, serializer (ActiveModel::Serializers, jbuilder)

12

Автентифікація: gem Devise, has_secure_password, керування сесіями, cookie

13

Авторизація: gem Pundit, CanCanCan, policy, рольовий контроль доступу

14

Action Cable: channel, stream, broadcasting, WebSocket-з'єднання

15

Active Job: perform_later, адаптери черг (Sidekiq), пріоритети job, логіка повторення

16

Active Storage: вкладення (has_one_attached, has_many_attached), варіанти, пряме завантаження

17

Тестування: RSpec (describe, context, it), FactoryBot, fixture, request spec, системні тести

18

Concern: ActiveSupport::Concern, повторне використання коду, композиція модулів

19

Rails engine: монтований engine, namespace, розробка gem

20

Продуктивність: фрагментне кешування, Russian doll кешування, оптимізація запитів, gem bullet

21

Безпека: CSRF-захист, запобігання SQL injection, захист від масового присвоєння (strong params)

22

Розгортання: Capistrano, Heroku, Docker, сервери Puma/Unicorn, asset pipeline