Доступно

Метапрограммирование на Ruby [Thinknetica]

Тема в разделе "Курсы по программированию", создана пользователем stclaus, 1 ноя 2022.

Цена: 4900р.-76%
Взнос: 1166р.
100%

Основной список: 10 участников

Статус обсуждения:
Комментирование ограничено.
  1. 1 ноя 2022
    #1
    stclaus
    stclaus ОргОрганизатор

    Метапрограммирование на Ruby [Thinknetica]

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

    День 1. Метапрограммирование в Ruby и не только

    Рассмотрим само понятие "метапрограммирование" в примерах на разных языках. Повторим наиболее распространенные техники и методы.

    • Сравним метапрограммирование в разных языках
    • Разберем базовые приемы метапрограммирования в Ruby:
      • method declarations (define_method & def)
      • code execution (eval & exec)
      • variable access (instance_variable_get/set, const_get/set)
      • class & module callbacks (included & extended)
    • Обсудим принципы применения метапрограммирования
    • Создадим небольшую библиотеку с DSL
    В результате вы сможете:
    Научиться использовать основной набор средств метапрограммирования в Ruby. Закрепить полученные сведения в небольшой библиотеке с самописным DSL в качестве домашнего задания.


    День 2. Динамический Ruby


    Рассмотрим вблизи динамическую природу Ruby и научимся создавать объекты с поведением, зависимым от окружения, будь то переменные из контекста выполнения или настройки запуска программы.

    • Рассмотрим разницу ключевых слов и методов на примерах:
      • def vs define_method
      • class/module vs Class.new/Module.new
    • Изучим способы создания "чистого" DSL
    • Применим объект binding на практике
    • Научимся создавать подклассы встроенных типов и разберем ситуации, когда это может быть полезно
    В результате вы сможете:
    Научиться динамически создавать расширения для классов и объектов из набора опций и параметров. Закрепить новые знания на практике путем улучшения API библиотеки из первой домашней работы.

    День 3. Метапрограммирование в реальных проектах

    Изучим код крупных проектов на ruby, использующих метапрограммирование. Сравним их слабые и сильные стороны с изученными на прошлых занятиях подходами.

    • Рассмотрим внутренности Ruby on Rails, Dry.rb, Rspec
    • Разберемся в нюансах вещей, оставшихся в стороне предыдущих тем:
      • Использование method_missing
      • method_added callback
      • Связь методов initialize и new
    • Подведем итоги по вопросам применения метапрограммирования
    В результате вы:
    Закроете оставшиеся пробелы по теме метапрограммирования в Ruby. Посмотрите на типичное применение метапрограммирования в известных проектах через призму полученного на занятиях опыта.

    За время воркшкопа вы:
    • Научитесь правильно использовать основные средства метапрограммирования в Ruby
    • Посмотрите на привычные ruby-разработчику идиомы новым взглядом
    • Научитесь писать DSL и библиотеки с гибко настраивающимися функциями
    • Разберетесь с применением метапрограммирования на примере Ruby on Rails, Rspec, Dry.rb
    Скрытая ссылка
     
    Последнее редактирование: 29 апр 2023
    1 человеку нравится это.
  2. Последние события

    1. skladchik.com
      Складчина доступна.
      20 ноя 2022
    2. skladchik.com
      Взнос составляет 583р.
      20 ноя 2022
    3. skladchik.com
      Складчина активна.
      20 ноя 2022
    4. Нияз Хантимиров
      Нияз Хантимиров не участвует.
      18 ноя 2022

    Последние важные события

    1. skladchik.com
      Складчина доступна.
      20 ноя 2022
    2. skladchik.com
      Взнос составляет 583р.
      20 ноя 2022
    3. skladchik.com
      Складчина активна.
      20 ноя 2022
    4. skladchik.com
      Сбор взносов начинается 20.11.2022.
      17 ноя 2022
Статус обсуждения:
Комментирование ограничено.

Поделиться этой страницей