Объектно-ориентированный дизайн в Ruby
Парадигмы, принципы и паттерны проектирования на практике.

Онлайн-воркшоп для Ruby-разработчиков, которые хотят улучшить архитектуру своих проектов и качество кода, а также научиться быстро находить и исправлять ошибки проектирования.
3 дня по 2 часа
Воркшоп прошёл онлайн
Требования
  • Опыт разработки на Ruby on Rails от 6 месяцев
  • Профиль на GitHub
  • Базовые навыки работы с командной строкой и git
Результат
За время воркшкопа вы:
  • Изучите как имплементированы и для чего нужны принципы ООП в коде на Ruby, и как сочетается объектно-ориентированные языки с функциональным программированием
  • Разберётесь с каждым из принципов SOLID и их практическим применением
  • Систематизируете свои знания о паттернах проектирования от синглтона до MV*
Формат
Сроки
1 неделя, 3 вебинара длительностью 2 ч (16, 19 и 23 июля).
Практика
Часть практики вы будете делать прямо на занятии, а часть – самостоятельно после вебинара.
Коммуникация
У вас будет поддержка в чате, а также на вебинарах будут разбираться типичные вопросы и ошибки, примеры лучших практик и решений.
Программа воркшопа
1 неделя
3 вебинара
Практические задания
Общение с автором и ответы на вопросы
День 1. Парадигмы программирования
    • Изучите или закрепите знания о принципах ООП, их имплементации в Ruby, сравните с другими языками
    • Разберётесь с чистыми функциями и другими базовыми понятиями функционального программирования
    • Рассмотрите альтернативные ООП и ФП парадигмы и их применимость в Ruby
    В результате вы:

    Освежите и дополните своё понимание ООП с помощью практических примеров, научитесь работать с Ruby в функциональном стиле, сравните Ruby с другими ЯП
      День 2. Принципы разработки
      • Освежите или получите теоретическое понимание принципов SOLID
      • Рассмотрите примеры соблюдения и нарушения этих принципов в Ruby
      • Познакомитесь с другими известными принципами и подходами, такими как GRASP, DRY, KISS и YAGNI
      В результате вы:

      Разберётесь с принципами и подходами, которые наиболее распространены в Ruby и в разработке в целом; а также научитесь лучше видеть конкретные проблемы в коде, который нарушает какой-то из фундаментальных принципов


      День 3. Паттерны проектирования
      Паттерны проектирования в Ruby и Rails от общего к частному:

      • MVС и MV* паттерны. Разложим Rails на составляющие и сравним с другими вариантами внутренней организации веб-фрэймворка
      • Порождающие паттерны
      • Структурные паттерны
      • Поведенческие паттерны
      В результате вы:

      Освежите и дополните свои знания о паттернах, начиная от очевидного и простого порождающего синглтона, заканчивая обзором архитектурных паттернов


      Требования к участникам
      1
      Опыт разработки на Ruby on Rails от 6 месяцев
      2
      Профиль на GitHub
      3
      Базовые навыки работы с командной строкой и git
      Как проходит воркшоп
      1
      Онлайн-занятие
      Воркшоп длится 1 неделю, на которой тебя ждут 3 онлайн-занятия.
      2
      Задание
      После занятия ты получишь практическое задание (тарифы Практик и Эксперт), которое позволит отработать и закрепить полученные навыки
      3
      Проверка
      Ведущий проверяет задание (тарифы Практик и Эксперт) и даст рекомендации по его улучшению.
      В процессе ты можешь задавать вопросы и всегда получить помощь
      4
      Решение
      На следующем занятии разберем основные ошибки и ведущий покажет и объяснит правильное решение.
      Воркшоп ведет
      Артем Кривоножко
      Последние 6 лет пишет на Ruby.
      Экс-тимлид в igooods.
      Экс-разработчик в Cybergizer, Actimind, Group-IB и Urban Connect AG.
      Участник программного комитета и спикер конференций RubyRussia.
      Преподавал в госуниверситете и частных образовательных учреждениях.
      Участвовал в роли наставника на Rubizza и Hexlet.


      Отзывы после воркшопа
      Решил участвовать чтобы расширить понимания архитектуры приложения, самым ценным для меня было практика использования паттернов, больше всего понравился лайв кодинг и ответы на вопросы по ходу урока, узнал о разных концепциях и паттернах
      Участник
      Главная мотивация к посещению воркшопа для меня, это практика и тренировка в проектировании.

      Воркшоп дал возможностью отрефлексировать как именно я провожу проектирование и сравнить это с методом, предложенным ведущим. Из персональных открытий могу отметить использование UML-диаграмм как инструмента анализа и способа думать об организации кода. И пример использования декомпозиции, когда требования к одной сущности, может не афектить вышестоящий по иерархии объект.

      Из интересных фишек формата могу отметить лайвкодинг - это было свежо и интересно.
      Участник
      Спасибо за воркшоп. Очередной раз переосмыслил некоторые паттерны и вспомнил те которые не использую. Решил перечитать книгу gof.

      Благодаря воркшопу даже в не ruby сферах типа работы с ansible начинаю переосмыслять эти же паттерны и видеть как можно лучше и эффективнее переиспользовать/перезаписывать переменные или разбить методы/tasks.
      Участник
      Принял участие, т.к. интересует правильная организация кода, чтобы было проще его поддерживать. Конечно же информация полученная на воркшопе самое ценное, уже в данный момент стараюсь применять знания на практике. Понравился преподаватель, вполне хорошо и доступно объясняет материал.

      Узнал про принципы solid, немного про паттерны, все знания ценны и пригодятся на работе.
      Участник
      Тарифы
      Купить запись
      3 900 руб
      • Записи всех эфиров
      Выбрать