Профессия Разработчик на Ruby on Rails Ruby. Один из самых выразительных и объектно-ориентированных языков современности REST API. Как правильно проектировать, версионировать и дорабатывать Rails. Фреймворк, который стал эталоном в мире бекенд веб-фреймворков и остается таким до сих пор Jobs. Тяжелые и не надежные (сеть) задачи могут блокировать сервер, поэтому их выполняют в фоне в специальных job workers ORM. Определение моделей, связей между ними, подключение конечных автоматов и многое другое – всё это ORM Качество. Автоматизированные тесты — неотъемлемая часть профессиональной разработки Архитектура. Создание простого для анализа и изменения кода требует хорошего понимания принципов его организации Инфраструктура. Программирование — это не только код, но и сопутствующие инструменты: Rubygems, Bundler, Rake Расписание Совмещайте учебу с работой. Учитесь, когда вам удобно — у нас нет строгого расписания. Рекомендуем заниматься от 15 часов в неделю, чтобы сохранять темп обучения в группе. Уроки Теория в формате видео-лекций, домашние задания с автопроверкой Самостоятельно, в удобное время Если непонятно, можно задать вопрос в чате группы наставнику или одногруппникам Мероприятия Вебинары, слаконары, сессии лайв-кодинга Один раз в неделю, онлайн, проводит наставник Если не получается присутствовать, можно смотреть в записи Проекты Реальные приложения, сервисы и сайты — вы пишете их с нуля до релиза Самостоятельно, в своем темпе, примерно месяц на каждый проект Наставник контролирует и дает обратную связь Очень много практики Домашние задания с моментальной автопроверкой. Выполняйте их, когда вам удобно 4 проекта для портфолио на GitHub – по одному для каждого учебного модуля. Начинаем с простого и погружаемся в разработку для реального бизнеса 11 Open Source проектов Хекслета — научитесь работать с чужим кодом, оформлять пулреквесты. Это ваш опыт реального продакшна и +100 очков в карму программиста 150 тестовых заданий от наших партнеров – работайте с базой типовых задач из настоящих проектов. Это придаст уверенности на собеседованиях Спойлер: Программа курса 1. Знакомство с Ruby Познакомьтесь с экосистемой Ruby, настройте линтеры, устанавливайте зависимости с помощью Bundler. Изучите ключевые возможности языка, которые позволят вам реализовывать большинство прикладных задач. Погрузитесь в продвинутое объектно-ориентированное программирование и метапрограммирование. Научитесь создавать свои языки-предметной области (DSL) и публикуйте их в виде готовых гемов. Настройка окружения: gems bundler rubocop Менеджер версий Ruby (asdf) Функции Циклы Условия ООП: Классы Модули Миксины Метапрограммирование Автоматизированное тестирование (Rspec) Устройство гемов Итоговый проект Генератор форм Библиотека, с помощью которой удобно создавать формы в шаблонах сайтов. Позволяет сократить код описания формы во много раз за счет автоматической обработки ошибок и различных контролов. 2. Основы Rails Научитесь создавать сайты на Rails, покрывать их автоматическими тестами и выкладывать на Heroku. Разберитесь с основными концепциями фреймворка, такими как контроллеры, роутинг, модели, шаблоны и тесты. Автоматизируйте большинство рутинных задач, используйте генераторы, автоматические формы и интеграцию фронтенда. Освойте репл и эффективную отладку. Узнайте про основные принципы построения безопасных приложений. Контроллеры и Ресурсный роутинг Модели, Валидация, Миграции Автоматические формы (Simple Form) Отладка через REPL (binding.irb) Тестирование Rails приложения Встроенные и подключаемые генераторы кода Интеграция бекенда с фронтендом (Webpacker) Деплой (Heroku) Непрерывная интеграция (Github Actions) Итоговый проект Коллективный блог Аналог habr.com. Каждый пользователь может создать запись и опубликовать ее в одной из общих категорий. Другие пользователи ставят оценки и комментируют добавленные посты. 3. Реальный Rails Погрузитесь в типичные задачи веб-разработки. Научитесь строить правильную авторизацию. Создавайте динамические формы с загрузкой файлов во внешние хранилища. Усильте модели с помощью стейт машин и реализуйте быструю фильтрацию для списков. Передавайте данные с бекенда на фронтенд без боли и кодинга, отправляйте письма и используйте эффективные haml-like шаблонизаторы. Пишите системные тесты и используйте фабрики для генерации данных Авторизация (Pundit) Автоматические вложенные формы (Cocoon) Загрузка и хранение файлов и картинок. Ресайз. (ActiveStorage) Управление стейт машинами (aasm) Сложная фильтрация данных (Ransack) Отправка писем Haml-like шаблонизация (Slim) Системные тесты (Capybara) Тестовые фабрики для генерации данных (factory_bot) Итоговый проект Доска объявлений Аналог avito.ru. Сервис, на котором можно размещать объявления и выполнять поиск по существующим. Включает в себя процессы публикации и управлении объявлениями, продвинутый поиск и многое другое. 4. Полный Rails Используйте асинхронные Jobs (на базе очередей) для обработки долгих и тяжелых запросов. Разработайте свое собственное API в соответствии с REST архитектурой. Научитесь легко тестировать код с большим количеством внешних запросов и побочных эффектов. Асинхронные задачи (ActiveJob, Sidekiq) Построение REST-апи Представление данных в разных форматах (respond_to, Jbuilder) Использование Webmock для заглушки внешних вызовов Итоговый проект Анализатор качества репозиториев Проект, который помогает автоматически следить за качеством репозиториев на гитхабе. Он отслеживает изменения и прогоняет их через встроенные анализаторы. Затем формирует отчеты и отправляет их пользователю.