Ruby / Rails

Основы языка и разработки веб-приложений

Ruby  - динамический, рефлективный, интерпретируемый высокоуровневый язык для быстрого и удобного объектно-ориентированного программирования.

Ruby on Rails  - полноценный, многоуровневый фреймворк для построения веб-приложений, который основан на архитектуре Model-View-Controller (MVC).

Основным преимуществом Ruby on Rails считается скорость разработки (выше на 30–40% по отношению к любому другому языку программирования или фреймворку). Множество готовых к работе штатных инструментов RoR, колоссальный набор готовых решений в сообществе, простота программирования - все эти преимущества оценили многие крупные компании, такие как Twitter, SoundCloud, Airbnb, Diaspora, Groupon, Basecamp, GitHub, Hulu, Scribd, Kickstarter, Change.org и др.

Одна из основных целей курса - сформировать у студентов полноценное видение экосистемы Ruby как таковой. Занятия раскрывают не только возможности Rails, они также включают в себя множество особенностей самого языка, включая типы данных, управляющие конструкции, объектную модель, устройство библиотек и спецификацию протокола взаимодействия с веб сервером.

Чему Вы научитесь

  • Основным концепциям языка Ruby и фреймворка Ruby on Rails, таким как ООП, MVC, REST;
  • Базовым API стандартных библиотек классов;
  • Решать множество конкретных задач;
  • Создавать и настраивать рабочую среду для Ruby-разработки;
  • Применять заложенные в конструкции языка парадигмы программирования (ООП, процедурная, функциональная, императивная);
  • Использовать методики, технологии тестирования и обеспечения качества программ, создаваемых на Ruby;
  • Пользоваться стандартной библиотекой Ruby и создавать собственную библиотеку (RubyGems);
  • Создавать приложения на Ruby on Rails.

Что Вы получите

Видеозаписи всех онлайн-занятий
Методички и домашние задания
Общение с одногруппниками
Сертификат об окончании обучения

Средние оценки

4.6 / 5
Программа
4.9 / 5
Преподаватель

Преподаватели

  • 1
    Урок 1. Обзор экосистемы Ruby и Rails, ядро языка, типы данных
    Что представляет собой экосистема Ruby и Rails; основные веб-ресурсы; обзор исходного кода Ruby; лексическая и синтаксическая структура языка; ядро Ruby; типы данных и операции с ними; интерактивная консоль irb; операции сравнения; булева алгебра; пример иерархии классов для представления чисел; практика: работа с целыми и вещественными числами, строками, массивами, символами, хэшами, диапазонами, условными выражениями.
  • 2
    Урок 2. Управляющие конструкции, циклы и итераторы, применение ООП в Ruby
    Условный оператор; оператор выбора; циклы.; итераторы; назначение и создание методов; область видимости и аргументы метода; ООП: модель вычисления на основе объектов; иерархия классов.; наследование; Toplevel; определение класса и создание его объектов (экземпляров); конструктор объекта; переменные и методы объекта (экземпляра); практика: определение собственного класса и работа с его объектами (моделирование объектов реального мира).
  • 3
    Урок 3. Этапы проектирования классов, контекст исполнения программы, структура проекта и рефакторинг приложения
    Контекст исполнения программы; наследование и вызов методов родителей; этапы проектирования классов; публичные и закрытые методы (API и реализация класса); структура проекта; принцип единой обязанности (Single responsibility principle); рефакторинг проекта; разделение кода на несколько классов и модулей; модули и их назначение; методы класса и модуля; практика: создание и рефакторинг приложения для управления лифтом жилого здания.
  • 4
    Урок 4. Объектная модель Ruby, блоки, обработка исключений
    Объекты класса Class; объекты класса Module; создание блоков кода, их вызов и передача в качестве аргументов методов; назначение исключений; классы исключений; обработка исключений; вызов собственных исключений; практика: пример обработки исключений при вычислении площади (периметра) квадрата.
  • 5
    Урок 5. Стандартная библиотека Ruby, создание собственной библиотеки (RubyGems)
    Обработка формата JSON; обработка формата YAML; сетевой вызов и обработка полученных данных; модель конечного автомата с использованием сторонней библиотеки; спецификация RubyGems; структура каталогов gem-а; сборка и установка; деплой для использования сторонними разработчиками; полезные веб-ресурсы; практика: gem для вывода информации о беговых дорожках.
  • 6
    Урок 6. Gem для поиска похожих пользователей, Rake-задачи
    Переменные экземпляра класса; глобальные переменные; Rakefile; создание rake-задач; запуск rake-задач; пространства имён; передача аргументов командной строки; зависимые задачи; Rake-задачи типа file; практика: простое кэширование; Gem для поиска похожих пользователей на основе их оценок музыкальных жанров; Rake-задачи.
  • 7
    Урок 7. Rack приложения, управление зависимостями библиотек с помощью Bundler
    Динамические и статические веб-странички; спецификация Rack; структура rack-приложения; архитектура Model-View-Controller; запуск rack-приложения; управление зависимостями с Bundler; деплой rack-приложения; практика: Rack-приложение списка музыкальных композиций.
  • 8
    Урок 8. Rails: структура каталогов фреймворка, модели данных
    Создание приложения; структура каталогов; основные веб-ресурсы; основные компоненты и принципы работы фреймворка; этапы загрузки приложения; конфигурация приложения; модели данных; использование ActiveRecord; практика: создание модели данных пользователя; аутентификация и регистрация пользователя.
  • 9
    Урок 9. Rails: маршрутизация запросов, контроллеры
    Архитектура RESTful; конфигурация маршрутов приложения; иерархия классов-контроллеров; действия контроллеров; фильтры действий контроллеров; объект запроса; сессии и куки; флеш-сообщения; практика: контроллер для обработки запросов создания пользователей; контроллер для аутентификации пользователей.
  • 10
    Урок 10. Rails: генерация динамических HTML-страничек, шаблонизаторы и представления
    Структура представлений; главный шаблон приложения; контекст запроса; связь контроллера и представления; передача данных из контроллера в представление; разделение представления на фрагменты; практика: создание представлений для регистрации и аутентификации пользователей.
  • Нажимая на кнопку "Оплатить участие", Вы принимаете условия договора оферты.

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