Метапрограммирование в Ruby — Полный курс

Метапрограммирование в Ruby — Полный курс
en
10.05.2017
4 г 31 мін 6 сек

Как и многие другие разработчики Ruby, я хотел научиться метапрограммированию, чтобы совершить скачок от Ruby-новичка до Ruby-профессионала. Но, приближаясь к этой теме, я чувствовал себя немного пугающе. Я пытался изучать метапрограммирование несколько раз, и каждый раз, когда я пытался, все доступные материалы относились к еще более сложным и менее известным концепциям, таким как: синглтон классы, объектная модель ruby, классы, являющиеся объектами самих себя и т. д.

 

Итак, я провел несколько месяцев, читая обо всех этих концепциях и синтезируя весь доступный материал. В конце просто «щелкнуло»! Это оказалось очень просто! Проблема была в том, что не было единого ресурса, на котором были бы собраны все эти понятия. Итак, я решил сделать этот курс. Я надеюсь, что это сэкономит ваше время, и вы найдете его полезным.

Этот видеокурс научит вас метапрограммированию в Ruby, представляя небольшие, простые и малоизвестные идеи Ruby в каждом видео. И как только вы их изучите, метапрограммирование начнет обретать смысл.

В конце курса вы:

  • Станете лучшим разработчиком Ruby, который может писать элегантный код, используя возможности метапрограммирования.
  • Сделаете свой тестовый код более кратким, написав тест, который динамически генерирует код, который охватывает все тестовые случаи.
  • Научитесь понимать и объяснять магию кода/синтаксиса во всех популярных случаях.
  • Лучше изучите язык Ruby.
  • И, конечно же, напишите свои собственные DSL для своего бизнес-домена (точно так же, как rspec, rake и т. д.).

Метапрограммирование настолько неотъемлемая часть языка Ruby, что для его изучения необходимо понимать особенности этого языка. Эти функции менее известны и не описаны в книгах. Но как только вы познакомитесь с ними, метапрограммирование обретет смысл. Вот почему курс начнется с ознакомления с несколькими ключевыми идеями языка Ruby. После этого раздела вы поймете, почему какой-то метод или переменная недоступны в одной области видимости и доступны в другой, или как изменяется область действия в вашем коде, и многое другое.

Во втором разделе курса мы рассмотрим все методы SDK, задействованные в метапрограммировании. Попутно мы рассмотрим несколько примеров, которые демистифицируют магию самого популярного кода.

В последнем разделе курса мы применим все, что узнали, на практике и создадим собственный rspec, предметно-ориентированный язык и некоторые из самых популярных магических методов Rails.

Вы не можете просматривать данный курс -

Array ( [bitrate] => 323946 [filesize] => 17647487 [mime_type] => video/mp4 [length] => 306 [length_formatted] => 5:06 [width] => 1280 [height] => 720 [fileformat] => mp4 [dataformat] => quicktime [audio] => Array ( [dataformat] => mp4 [bitrate] => 128000 [codec] => ISO/IEC 14496-3 AAC [sample_rate] => 44100 [channels] => 2 [bits_per_sample] => 16 [lossless] => [channelmode] => stereo [compression_ratio] => 0.090702947845805 ) [created_timestamp] => -2082844800 )