[Geekbrains] Ruby / Rails Основы языка и разработки веб-приложений(Повтор)
Для Членов Клуба:
Запись открыта!
Ruby / Rails
Основы языка и разработки веб-приложенийКурс предназначен для всех, кто хочет изучить один из самых элегантных, удобных и востребованных языков программирования. Сегодня Ruby и фреймворк Rails используются многими широко известными компаниями, такими как GitHub, Twitter, Slideshare, Groupon и многие другие. Помимо этого, Ruby применяется как скриптовый язык во многих приложениях, например SketchUp и FL Studio. За более, чем 20-ти летнюю историю Ruby прошёл путь от молодого и малоизвестного языка до зрелой экосистемы с большим количеством документации, сторониих библиотек, фрейморков и обширной практической областью применения. Для прохождения курса рекомендуется знание основ программирования и ООП.
Ruby - удивительный язык программирования, который вам понравится!
Чему Вы научитесь
Для Членов Клуба:
Запись открыта!
Ruby / Rails
Основы языка и разработки веб-приложений
Ruby - удивительный язык программирования, который вам понравится!
Чему Вы научитесь
- С помощью Ruby и фреймворка Rails вы научитесь разрабатывать приложения для большинства существующих настольных (Windows, Linux, Mac OS) и мобильных (Android iOS) платформ.
- Вы получите в свои руки удобный и востребованный инструмент, позволяющий легко и быстро решать самые разнообразные задачи программирования.
- Курс содержит как изучение Ruby/Rails, так и использование целой экосистемы, включая применение наиболее распространённых библиотек.
- Множество практических задач на протяжении всего курса помогут не только освоить Ruby/Rails, но и оценить всю мощь
- 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-страничек. Шаблонизаторы и представления
Структура представлений. Главный шаблон приложения. Контекст запроса. Связь контроллера и представления. Передача данных из контроллера в представление. Разделение представления на фрагменты. Практика: создание представлений для регистрации и аутентификации пользователей.
Евгений Фатеев
Профессиональный программист, приверженец The Ruby/Rails Way. Уже более 4-х лет пишет на Ruby. Имеет большой опыт разработки на Ruby/Rails в различных проектах, среди которых социальная сеть для геймеров gamer.ru, браузерная игра cheloveche.ru/corruption и коммерческая система статистики.
Евгений имеет большой опыт преподавания как в групповом (преподавание объектно-ориентированного программирования в НИУ-ВШЭ), так и в индивидуальном формате. Женя обладает замечательной способностью передавать не только знания, но и навыки, и с радостью окажет помощь и поддержку на любом этапе изучения курса.
http://geekbrains.ru/courses/57