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

admin

admin

Старожил
Команда форума
Премиум
Хранитель
24 Янв 2019
10,000
36,026
121
Голосов: 0
#1
Автор: thinknetica
Название: Метапрограммирование на Ruby

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

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

Онлайн-воркшоп для 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

Продажник:

Скачать курс:
 

Похожие темы


О нас

Слив платных курсов - скачать бесплатно

На форуме мы делимся сливами популярных курсов в различных областях знаний! Если вы хотите повысить свою профессиональную квалификацию, но не хотите тратить много на курсы, то вы попали по адресу.

VKURSE.INFO регулярно публикует:

  • слив курсов от лучших онлайн-школ, инфобизнесменов и блогеров;
  • вебинары, марафоны, мануалы, от популярных блогеров на тему здоровья и саморазвития;
  • торрент-курсы, книги и гайды, обучения веб-дизайну, программированию, создания сайтов, бизнеса, продвижения в социальных сетях актуальных сегодня.

Мы ежедневно обновляем нашу коллекцию, чтобы вы могли бесплатно найти и скачать необходимый слив курсов обучения

Быстрая навигация

Меню пользователя