Ежедневно, с 8:30 до 22:30
Предзаказ
1761

Параллелизм и многопоточность в Ruby и Rails

Средняя оценка 5.0 из 5 на основании 1 голосов 5.0 (1)
1 0
0
Автор:
1790 ₽
4900 ₽
-63%
Кэшбэк: 5% (90 ₽)
Курс будет выдан в течение 1-3 часов после оплаты.
Категории:

Онлайн-воркшоп для Ruby и Rails разработчиков, которые сталкиваются с ростом нагрузки в своих проектах и хотят повысить их производительность, масштабируемость и эффективность. Вы получите практические навыки и разберетесь с нюансами создания устойчивых к нагрузкам решений.

Этот воркшоп для вас если:

  • Ваше приложение не справляется с нагрузкой и начинает медленно обрабатывать запросы по мере увеличения числа пользователей
  • Ваше приложение часто выполняет задачи в фоновом режиме, такие как отправка писем или генерация отчетов
  • Вы работаете с большими объемами данных и сталкиваетесь с продолжительным временем обработки
  • Вы хотите раз и навсегда разобраться с concurrency и параллелизмом в Ruby и научиться использовать их так, чтобы не выстрелить себе в ногу

Программа воркшопа

День 1. Основы параллельных вычислений в Ruby

Рассмотрим способы выявления неэффективных процессов, теория основ параллельных вычислений в Ruby, использование Thread и Fiber.

Результат: Поймете, как определить проблему производительности и решишь её “в лоб” используя параллельные процессы в Ruby на практике.

Содержание:

  • Введение в многопоточность и параллелизм: различия и преимущества.
  • Как находить узкие места производительности в Ruby-приложении.
  • Использование потоков (Thread) для параллельных вычислений: создание, управление, проблемы синхронизации.
  • Работа с легковесными процессами: введение в Fiber и его применение.
  • Практические примеры параллельной обработки: простые задачи и многопоточные решения.
  • Проблемы конкурентности: race-conditions, deadlock, и как с ними бороться.
  • Ограничения GIL (Global Interpreter Lock) в Ruby и как его обойти.

День 2. Параллельные вычисления в Rails

Узнаем, как параллельные вычисления могут быть интегрированы в веб-приложения на Ruby on Rails, и задействуем второй уровень оптимизации: фоновые задачи и очереди в Sidekiq.

Результат: Сможете настроить параллельных вычислений в фоновых задачах Rails, контролируемо улучшить производительность выполняя задачи параллельно.

Содержание:

  • Управление зависимостями и очередь задач в параллельных вычислениях. Обеспечение уникальности выполнения задач, продолжение обработки очереди после ошибки.
  • Советы по оптимизации фоновых процессов: минимизация задержек и контроль параллельных операций, логгирование, профилирование.
  • Метрики производительности для фоновых задач: мониторинг и оптимизация.
  • Подходы к обработке ошибок и ретрай задач в многопоточных системах.
  • Race condition, deadlock, retry failures.
  • Потеря данных при неожиданном завершении.
  • Memory bloat, database contention.

День 3. Оптимизация работы с базами данных

Поговорим о том, как параллельные вычисления помогают ускорить работу с большими объемами данных. Рассмотрим подходы к оптимизации SQL-запросов и блокировках, race-condition при параллельной обработке данных.

Результат: Научитесь оптимизировать запросы к базам данных, минимизировать нагрузку и использовать параллельные вычисления для ускорения работы с большими данными без deadlock и потери данных.

Содержание:

  • Параллелизм и базы данных: как эффективно распределить нагрузку между процессами и сохранить консистентность данных.
  • Оптимизация SQL-запросов для параллельной обработки: индексирование, версионирование.
  • Управление транзакциями в параллельных вычислениях: как избежать конфликтов и deadlock.
  • Проблемы блокировок (lock) и race-conditions при многопоточности в работе с базами данных.
  • Использование ActiveRecord для параллельных вычислений: как улучшить производительность запросов.
  • Кейсы работы с большими объемами данных: импорты, миграции, анализ данных в фоновом режиме.

Автор – Денис Савицкий:

  • 12 лет в web-разработке, финтехе: оптимизировал обработку данных, оптимизировал процессы, руководил продуктовой разработкой.
  • Разобрался с параллельными задачами, когда пришлось оптимизировать 4‑х часовой хрупкий ежедневный импорт обновлений 30 тысяч яхт и опций. Ускорил его до 20 минут.
  • Многопоточность применил для создания агрегатных торговых данных для сделок на бирже — 8 млн записей за месяц по одному тикеру, собирал минутные и дневные суммарные данные, ежедневно. Время ожидания 3‑х месячных данных для графика упало с 240с до 500мс.
Характеристики
Наличие Предзаказ Тип Видео Размещение на сайте 13.11.2024 Артикул 1761

Об авторах

Фото: Thinknetica
Новый
0.0
Thinknetica
Онлайн-школа для разработчиков, работает с 2013 года. Главная специализация — Ruby on Rails: от основ языка до архитектуры, DDD и масштабирования.

Отзывы и комментарии

Отзывов ещё нет, будьте первыми

Написать отзыв
Нажимая "Отправить" Вы соглашаетесь с правилами публикации и даёте согласие на обработку персональных данных. Администрация не несёт ответственности за содержание отзывов.

Похожие товары:

Постер товара: Метапрограммирование на Ruby
Скидка 69%
Предзаказ
Средняя оценка 5.0 из 5 на основании 1 голосов
Метапрограммирование на Ruby
Языки программирования
Постер товара: Профилирование и оптимизация тестов Rails-приложений
Скидка 69%
Предзаказ
Средняя оценка 0.0 из 5 на основании 0 голосов
Профилирование и оптимизация тестов Rails-приложений
API-тестирование
Постер товара: Под капотом Ruby on Rails
Скидка 62%
Предзаказ
Средняя оценка 0.0 из 5 на основании 0 голосов
Под капотом Ruby on Rails
Ruby on Rails
Постер товара: Масштабирование Rails-приложений
Скидка 59%
Предзаказ
Средняя оценка 0.0 из 5 на основании 0 голосов
Масштабирование Rails-приложений
Ruby on Rails
Постер товара: Объектно-ориентированный дизайн в Ruby
Скидка 75%
Предзаказ
Средняя оценка 0.0 из 5 на основании 0 голосов
Объектно-ориентированный дизайн в Ruby
Ruby on Rails
Постер товара: Дизайн Rails-приложений: как победить монстра
Скидка 62%
Предзаказ
Средняя оценка 0.0 из 5 на основании 0 голосов
Дизайн Rails-приложений: как победить монстра
Ruby on Rails
Постер товара: Современные Rails-приложения с Hotwire
Скидка 49%
Предзаказ
Средняя оценка 0.0 из 5 на основании 0 голосов
Современные Rails-приложения с Hotwire
Ruby on Rails
Постер товара: Мониторинг и стабильность Rails-приложений
Скидка 58%
Предзаказ
Средняя оценка 0.0 из 5 на основании 0 голосов
Мониторинг и стабильность Rails-приложений
Ruby on Rails