Що нового?

Придбаний [Thinknetica] метапрограмування на Ruby (Артем Ністратов)

Інформація про покупку
Тип покупки: Складчина
Ціна: 1802 ГРН
Учасників: 1 з 38
Організатор: Відсутній
Статус: Набір учасників
Внесок: 49.3 ГРН
3%
Основний список
Резервний список

Gadzhi

Модератор
Онлайн-воркшоп для 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
Продажник:
https://privatelink.de/?https://thinknetica.com/pro/workshop_metaprogramming_ruby
 
Угорі