Скрыть объявление

Внимание!


Наш телеграм-канал попал под массовую блокировку и, пока мы подготовили для вас резервный!


Подписывайтесь по этой ССЫЛКЕ

Скрыть объявление

На короткое время рассказываем где достать редкие курсы

Подробности ТУТ

Скрыть объявление

Мы обновили Telegram-бот!

Ссылку на новый бот и все детали ищите ТУТ и скорее подписывайтесь, чтобы не пропускать важные уведомления и новости форума

Скрыть объявление

Было ли у Вас такое, что Вы не могли найти курс? Если да, то напишите нам в Службу поддержки какой курс вам нужен и мы постараемся его найти.

Скрыть объявление

Пополняйте баланс и получайте при оплате складчин кэшбек в размере 10%

Запись

[Thinknetica] Метапрограммирование на Ruby (Артем Нистратов)

Тема в разделе "Курсы по программированию"

Цена:
4900 руб
Взнос:
267 руб
Организатор:
Dr.Vatson

Список участников складчины:

1. Dr.Vatson
open
2
Записаться
  1. Dr.Vatson Организатор складчин

    [Thinknetica] Метапрограммирование на Ruby (Артем Нистратов)

    [​IMG]

    Онлайн-воркшоп для 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
    Продажник:
    Скрытый текст. Доступен только зарегистрированным пользователям.Нажмите, чтобы раскрыть...
     
  2. Похожие складчины
    Загрузка...
Наверх