Скачать [Thinknetica] Метапрограммирование на Ruby [Артем Нистратов]

Информация
Цена: 195 РУБ
Организатор: Kail Kail
Ссылки для скачивания
Kail
Kail
Организатор
Организатор
Регистрация
09.04.2020
Сообщения
392 204
Реакции
38 172
Монеты
1 191
Оплачено
0
Баллы
0
  • #SkladchinaVip
  • #1
[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
Показать больше
 
Зарегистрируйтесь , чтобы посмотреть скрытый контент.
Поиск по тегу:
Теги
thinknetica метапрограммирование метапрограммирование на ruby
Похожие складчины
Kail
Ответы
0
Просмотры
533
Kail
Kail
Kail
Ответы
0
Просмотры
335
Kail
Kail
Kail
Ответы
0
Просмотры
214
Kail
Kail
Kail
  • Kail
0
Ответы
0
Просмотры
203
Kail
Kail
Показать больше складчин

Войдите или зарегистрируйтесь

Вы должны быть авторизованны для просмотра материала

Создать аккаунт

Создать учетную запись займет не больше минуты!

Войти

Уже зарегистрированы? Просто войдите.