[hexlet.io] Профессия Разработчик на Ruby on Rails

Цена:
1953.6
doneМного
doneЗаканчивается
highlight_offНет в наличии
notifications_none
Уведомить

[?IMG]?
Профессия Разработчик на Ruby on Rails
  • Ruby. Один из самых выразительных и объектно-ориентированных языков современности
  • REST API. Как правильно проектировать, версионировать и дорабатывать
  • Rails. Фреймворк, который стал эталоном в мире бекенд веб-фреймворков и остается таким до сих пор
  • Jobs. Тяжелые и не надежные (сеть) задачи могут блокировать сервер, поэтому их выполняют в фоне в специальных job workers
  • ORM. Определение моделей, связей между ними, подключение конечных автоматов и многое другое – всё это ORM
  • Качество. Автоматизированные тесты — неотъемлемая часть профессиональной разработки
  • Архитектура. Создание простого для анализа и изменения кода требует хорошего понимания принципов его организации
  • Инфраструктура. Программирование — это не только код, но и сопутствующие инструменты: Rubygems, Bundler, Rake
Расписание
Совмещайте учебу с работой. Учитесь, когда вам удобно — у нас нет строгого расписания. Рекомендуем заниматься от 15 часов в неделю, чтобы сохранять темп обучения в группе.

Уроки
  • Теория в формате видео-лекций, домашние задания с автопроверкой
  • Самостоятельно, в удобное время
  • Если непонятно, можно задать вопрос в чате группы наставнику или одногруппникам
Мероприятия
  • Вебинары, слаконары, сессии лайв-кодинга
  • Один раз в неделю, онлайн, проводит наставник
  • Если не получается присутствовать, можно смотреть в записи
Проекты
  • Реальные приложения, сервисы и сайты — вы пишете их с нуля до релиза
  • Самостоятельно, в своем темпе, примерно месяц на каждый проект
  • Наставник контролирует и дает обратную связь

Очень много практики
  1. Домашние задания с моментальной автопроверкой. Выполняйте их, когда вам удобно
  2. 4 проекта для портфолио на GitHub – по одному для каждого учебного модуля. Начинаем с простого и погружаемся в разработку для реального бизнеса
  3. 11 Open Source проектов Хекслета — научитесь работать с чужим кодом, оформлять пулреквесты. Это ваш опыт реального продакшна и +100 очков в карму программиста
  4. 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 для заглушки внешних вызовов
Итоговый проект
Анализатор качества репозиториев
Проект, который помогает автоматически следить за качеством репозиториев на гитхабе. Он отслеживает изменения и прогоняет их через встроенные анализаторы. Затем формирует отчеты и отправляет их пользователю.

Продажник: