(LevelUp) Ruby on Rails. Практика разработки веб-приложений
Не повтор !
Описание курса
Ruby on Rails - это прорыв в снижении входного барьера в программировании. Мощные веб–приложения, которые раньше разрабатывались за недели или месяцы, теперь могут быть сделаны за считанные дни.
Акцент курса делается на понимание и практику программирования на языке Ruby в объектно-ориентированном стиле c использованием самого популярного, мощного и в тоже время простого фреймворка - Rails, написанного Девидом Хэйнемеером-Хенсcоном.
Для увеличения объема пройденного материала часть теории будет Вашей домашней работой с последующим закреплением в форме вопросов, обычно задаваемых на собеседовании.
Фреймворк Rails сочетает в себе все передовые технологии, идеи и паттерны проектирования, благодаря чему разработка на нем становится в разы проще и быстрее.
Преимущества Ruby on Rails для разработки веб-проектов:
Результатом практической части курса и домашней работы будет разработка веб-проекта:
Требования к участникам:
Скрытое содержимое.
Не повтор !
Описание курса
Ruby on Rails - это прорыв в снижении входного барьера в программировании. Мощные веб–приложения, которые раньше разрабатывались за недели или месяцы, теперь могут быть сделаны за считанные дни.
Акцент курса делается на понимание и практику программирования на языке Ruby в объектно-ориентированном стиле c использованием самого популярного, мощного и в тоже время простого фреймворка - Rails, написанного Девидом Хэйнемеером-Хенсcоном.
Для увеличения объема пройденного материала часть теории будет Вашей домашней работой с последующим закреплением в форме вопросов, обычно задаваемых на собеседовании.
Фреймворк Rails сочетает в себе все передовые технологии, идеи и паттерны проектирования, благодаря чему разработка на нем становится в разы проще и быстрее.
Преимущества Ruby on Rails для разработки веб-проектов:
- Большое, развивающееся сообщество
- Огромное количество готовых библиотек и кода
- Скорость разработки веб-приложений с использованием Ruby on Rails в разы меньше
- Язык Ruby более легкий, чем PHP и имеет более понятный синтаксис
- Производительность. С каждой новой версией Ruby оптимизируется, и уже Ruby 1.9 обогнал по производительности PHP, Perl, Python3.
Результатом практической части курса и домашней работы будет разработка веб-проекта:
- Интернет-магазин
- CMS
- Финансовый менеджер
- CRM
- Система управления складом
- Любой проект по вашей идее
Требования к участникам:
- знание основ программирования на одном из объектно-ориентированных языков
Занятие 1. Знакомство. План курса. Основы.
знакомство
что такое Ruby, Ruby on Rails и чем это может быть полезно?
история языка (причины возникновения,история развития)
установка и настройка, выбор редактора
hello world, основы синтаксиса
консоль, аргументы в консоли
архитектура MVC
источники информации
Практика:
Установка Ruby, RVM (Ruby version manager)
Установка Rails
Работа в консоли ruby
Демо: блог на RoR
Домашнее задание:
Установка Rails
Занятие 2. Введение в разработку проекта
Создание проекта
Файловая структура проекта
Bundler
Создание контроллера и вьюх
Обработка запросов к сервер; роутинги
Практика:
Создаем проект
Устанавливаем необходимые гемы
Домашнее задание:
Выбор проекта, над которым будет вестись работа в течение курса
Занятие 3. MVC и базы данных. Модель.
Базы данных (создание, настройка проекта)
Генерация миграций
Rake таски; Модели Active Record
Понимание Active Relation
Выборки, условия, скоупы
Практика:
Работа из rails консоли.
Рассматриваем проекты из домашнего задания и проектируем их MVP
Домашнее задание:
Создание базы и моделей из домашнего проекта
Занятие 4. MVC. Контроллеры (Controllers)
Понимание CRUD
Index, show, new, create, update/edit, delete
Массовое присваивание
Flash hash
Ассоциации
1-many, 1-1, many-many, другие
Практика:
Применение новых знаний к домашнему проекту
Домашнее задание:
Создание контроллеров для домашнего проекта
Занятие 5. MVC. Вид (View)
отрисовка шаблонов
редиректы, паршелы
лейауты, хелперы
ассеты, картинки, стили, javascript
Практика:
Применение новых знаний к домашнему проекту
Домашнее задание:
Верстка и доработка вьюх (views) к проекту
Занятие 6. Гемы и сторонние библиотеки.
Gemfile
devise
carrierwave
formtastic
active_admin
Практика:
Применяем самые популярные гемы:
авторизация
загрузка файлов
админ панель
хелперы для форм
и другие
Домашнее задание:
Применение полученных знаний к своему проекту
Занятие 7. Системы контроля версий.
Обзор систем контроля версий
GIT, работа с ним
SVN
Практика:
Работа с GIT в команде
Домашнее задание:
Сделать коммит в чужой проект.
Разместить свой проект
Занятие 8. REST and RESTful роутинги, API
Что такое REST?
Вложенные ресурсы
REST HTTP verbs
сервисы
дебаг
Практика:
Проектируем API, где rails-проект выступает бекендом для мобильного приложения
Домашнее задание:
Реализовать API для своего домашнего проекта
Занятие 9. Тестирование проекта
разработка через тестирование (TDD)
фреймворки TestUnit, Minitest, Rspec
тестирование контроллеров
тестирование моделей
интеграционные тесты
Практика:
Пишем тесты к своим проектам
Домашнее задание:
Написать тесты к своим проектам
Занятие 10. Развёртывание проекта
capistrano
heroku
chef
наставления на "путь истинный"
вопросы по проектам
подведение итогов
Практика:
Capfile, установка окружения на VPS, деплой проекта через capistrano
Решение вопросов по проектам
Домашнее задание:
Развернуть свой проект на VPS
знакомство
что такое Ruby, Ruby on Rails и чем это может быть полезно?
история языка (причины возникновения,история развития)
установка и настройка, выбор редактора
hello world, основы синтаксиса
консоль, аргументы в консоли
архитектура MVC
источники информации
Практика:
Установка Ruby, RVM (Ruby version manager)
Установка Rails
Работа в консоли ruby
Демо: блог на RoR
Домашнее задание:
Установка Rails
Занятие 2. Введение в разработку проекта
Создание проекта
Файловая структура проекта
Bundler
Создание контроллера и вьюх
Обработка запросов к сервер; роутинги
Практика:
Создаем проект
Устанавливаем необходимые гемы
Домашнее задание:
Выбор проекта, над которым будет вестись работа в течение курса
Занятие 3. MVC и базы данных. Модель.
Базы данных (создание, настройка проекта)
Генерация миграций
Rake таски; Модели Active Record
Понимание Active Relation
Выборки, условия, скоупы
Практика:
Работа из rails консоли.
Рассматриваем проекты из домашнего задания и проектируем их MVP
Домашнее задание:
Создание базы и моделей из домашнего проекта
Занятие 4. MVC. Контроллеры (Controllers)
Понимание CRUD
Index, show, new, create, update/edit, delete
Массовое присваивание
Flash hash
Ассоциации
1-many, 1-1, many-many, другие
Практика:
Применение новых знаний к домашнему проекту
Домашнее задание:
Создание контроллеров для домашнего проекта
Занятие 5. MVC. Вид (View)
отрисовка шаблонов
редиректы, паршелы
лейауты, хелперы
ассеты, картинки, стили, javascript
Практика:
Применение новых знаний к домашнему проекту
Домашнее задание:
Верстка и доработка вьюх (views) к проекту
Занятие 6. Гемы и сторонние библиотеки.
Gemfile
devise
carrierwave
formtastic
active_admin
Практика:
Применяем самые популярные гемы:
авторизация
загрузка файлов
админ панель
хелперы для форм
и другие
Домашнее задание:
Применение полученных знаний к своему проекту
Занятие 7. Системы контроля версий.
Обзор систем контроля версий
GIT, работа с ним
SVN
Практика:
Работа с GIT в команде
Домашнее задание:
Сделать коммит в чужой проект.
Разместить свой проект
Занятие 8. REST and RESTful роутинги, API
Что такое REST?
Вложенные ресурсы
REST HTTP verbs
сервисы
дебаг
Практика:
Проектируем API, где rails-проект выступает бекендом для мобильного приложения
Домашнее задание:
Реализовать API для своего домашнего проекта
Занятие 9. Тестирование проекта
разработка через тестирование (TDD)
фреймворки TestUnit, Minitest, Rspec
тестирование контроллеров
тестирование моделей
интеграционные тесты
Практика:
Пишем тесты к своим проектам
Домашнее задание:
Написать тесты к своим проектам
Занятие 10. Развёртывание проекта
capistrano
heroku
chef
наставления на "путь истинный"
вопросы по проектам
подведение итогов
Практика:
Capfile, установка окружения на VPS, деплой проекта через capistrano
Решение вопросов по проектам
Домашнее задание:
Развернуть свой проект на VPS
http://levelp.ru/courses/programmirovanie/ruby-on-rails-developer/