Фарго
Platinum
- Регистрация
- 20 Окт 2018
- Сообщения
- 29.083
- Реакции
- 178.106
[Thinknetica] Артем Нистратов - Метапрограммирование на Ruby (2023)
Онлайн-воркшоп для Ruby-разработчиков, которые хотят освоить искусство метапрограммирования и понять, где, как и зачем его стоит применять
Программа воркшопа
День 1. Метапрограммирование в Ruby и не только
Рассмотрим само понятие "метапрограммирование" в примерах на разных языках. Повторим наиболее распространенные техники и методы.
Научиться использовать основной набор средств метапрограммирования в Ruby. Закрепить полученные сведения в небольшой библиотеке с самописным DSL в качестве домашнего задания.
День 2. Динамический Ruby
Рассмотрим вблизи динамическую природу Ruby и научимся создавать объекты с поведением, зависимым от окружения, будь то переменные из контекста выполнения или настройки запуска программы.
Научиться динамически создавать расширения для классов и объектов из набора опций и параметров. Закрепить новые знания на практике путем улучшения API библиотеки из первой домашней работы.
День 3. Метапрограммирование в реальных проектах
Изучим код крупных проектов на ruby, использующих метапрограммирование. Сравним их слабые и сильные стороны с изученными на прошлых занятиях подходами.
Закроете оставшиеся пробелы по теме метапрограммирования в Ruby. Посмотрите на типичное применение метапрограммирования в известных проектах через призму полученного на занятиях опыта.
За время воркшкопа вы:
3х дневный воркшоп - Метапрограммирование на Ruby
thinknetica.com
СКАЧАТЬ МАТЕРИАЛ ПО ССЫЛКЕ НИЖЕ
Онлайн-воркшоп для 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.com thinknetica.com](https://static.tildacdn.com/tild3037-3531-4534-b161-386337363238/-/resize/504x/digitization-5140071.jpg)
Вам необходимо зарегистрироваться для просмотра скрытого контента
3х дневный воркшоп - Метапрограммирование на RubyСКАЧАТЬ МАТЕРИАЛ ПО ССЫЛКЕ НИЖЕ
Для просмотра скрытого содержимого вы должны зарегистрироваться
Возможно, Вас ещё заинтересует:
- [Вадим Сайфутдинов, Анатолий Сотников] Chat GPT и 1С. Обмен между Chat GPT и 1С через API (2024)
- [Вадим Прокопчук] [Udemy] Верстка сайта c использованием Gulp в модульном Bento стиле (2024)
- [Alex Erofeev] [Stepik] Python в нескучных примерах (2023)
- [Николай Миронов] [wpmoscow] Профессиональная разработка многостраничных сайтов (2024)
- [Тимур Машнин] Язык программирования MQL5: Продвинутое использование.. (2 изд.) (2019)
- [Денис Матвеенко] Docker. Подписка на 3 месяца (2024)
- [Н. Честнов и др.] Python и ИИ-технологии с нуля за 4 месяца, 12 проектов с помощью ChatGPT (2024)
- [Udemy] Frank Anemaet ― Набор инструментов для хакеров (2024)