• Форумы
  • Складчины
  • Программирование

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

Найти складчину
  • Курс создан: Дата начала 2 Ноя 2022
В избранное
Зарегистрируйтесь, чтобы посмотреть контент
Организатор
Организую Складчины
Команда форума
Сообщения
658 470
Реакции
15 179
Монеты
325
Оплачено
1
  • 2 Ноя 2022
  • #1
Ссылка на картинку
Метапрограммирование на 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 руны
Похожие складчины
Скачать [Thinknetica] Объектно-ориентированный дизайн в Ruby (Артем Кривоножко)
  • 55 стилей mihistyle thinknetica артем кривоножко базовый гардероб базовый гардероб и 55 стилей объектно-ориентированный дизайн в ruby принципы ооп в коде на ruby
  • 30 Июн 2022
Ответы
0
Просмотры
213
30 Июн 2022
Организатор
Скачать [Thinknetica] Автоматизация тестирования на Ruby
  • ruby thinknetica автоматизация тестирования на ruby автор ирина леонова автор светлана курако практический тренинг превзойти превзойти ум тренинг тренинг "превзойти ум" эзотерика
  • 19 Окт 2022
Ответы
0
Просмотры
197
19 Окт 2022
Организатор
Скачать [Thinknetica] Автоматизация тестирования на Ruby. Тариф Слушатель (Виктор Маслов)
  • facebook ruby smm thinknetica автоматизация тестирования на ruby автор александр коровкин виктор маслов заработок инстаграм 2.0 продажи тариф слушатель
  • 19 Окт 2022
Ответы
0
Просмотры
248
19 Окт 2022
Организатор
Скачать [Thinknetica] Подготовка к собеседованию на Ruby/Rails-разработчика. Тариф Слушатель (Евгений Фатеев)
  • rails-разработчик thinknetica евгений фатеев подготовка к собеседованию на ruby
  • 13 Мар 2022
Ответы
0
Просмотры
338
13 Мар 2022
Организатор
Скачать [Thinknetica] Безопасность приложений на Ruby on Rails (Александр Борисов)
  • thinknetica администрирование и программирование александр кондрашов безопасность приложений на ruby on rails ваша стройность доктор борменталь
  • 1 Июл 2022
Ответы
0
Просмотры
303
1 Июл 2022
Организатор
Найти больше схожих складчин

Зарегистрируйте учетную запись

У вас появится больше возможностей!

Создать учетную запись

Пройдите быструю регистрацию

Регистрация

Войти

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

Вход
  • Форумы
  • Складчины
  • Программирование
  • Novus
  • Russian (RU)
  • Обратная связь
  • Условия и правила
  • Политика конфиденциальности
  • Справка
Меню
Вход

Регистрация

  • Форумы
  • Что нового?