Професія розробник на Ruby on Rails
Поєднуйте навчання з роботою. Вчіться, коли Вам зручно — у нас немає суворого розкладу. Рекомендуємо займатися від 15 годин на тиждень, щоб зберігати темп навчання в групі.
Уроки
Продажник:
- 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) і публікуйте їх у вигляді готових гемів.
Генератор форм
Бібліотека, за допомогою якої зручно створювати форми в шаблонах сайтів. Дозволяє скоротити код опису форми у багато разів за рахунок автоматичної обробки помилок і різних контролів.
2. Основи Rails
Навчіться створювати сайти на Rails, покривати їх автоматичними тестами і викладати на Heroku. Розберіться з основними концепціями фреймворку, такими як контролери, роутінг, моделі, шаблони і тести. Автоматизуйте більшість рутинних завдань, використовуйте генератори, автоматичні форми та інтеграцію фронтенда. Освойте репл і ефективну налагодження. Дізнайтеся про основні принципи побудови безпечних додатків.
Колективний блог
Аналог habr.com. Кожен користувач може створити запис і опублікувати її в одній із загальних категорій. Інші користувачі ставлять оцінки і коментують додані пости.
3. Реальний Rails
Пориньте в типові завдання веб-розробки. Навчіться будувати правильну авторизацію. Створюйте динамічні форми із завантаженням файлів у зовнішні сховища. Підсильте моделі за допомогою стейт машин і реалізуйте швидку фільтрацію для списків. Передавайте дані з бекенда на фронтенд без болю і кодингу, відправляйте листи і використовуйте ефективні haml-like шаблонізатори. Пишіть системні тести і використовуйте фабрики для генерації даних
Авторизація (Pundit)
Автоматичні вкладені форми (Cocoon)
Завантаження і зберігання файлів і картинок. Ресайз. (ActiveStorage)
Управління стейт машинами (aasm)
Складна фільтрація даних (Ransack)
Надсилання листів
Haml-like шаблонизация (Slim)
Системні тести (Capybara)
Тестові фабрики для генерації даних (factory_bot)
Підсумковий проект
Дошка оголошень
Аналог avito.ru.сервіс, на якому можна розміщувати оголошення і виконувати пошук за існуючими. Включає в себе процеси публікації та управлінні оголошеннями, просунутий пошук і багато іншого.
4. Повний Rails
Використовуйте асинхронні Jobs (на базі черг) для обробки довгих і важких запитів. Розробіть свій власний API відповідно до rest архітектурою. Навчіться легко тестувати код з великою кількістю зовнішніх запитів і побічних ефектів.
Аналізатор якості репозиторіїв
Проект, який допомагає автоматично стежити за якістю репозиторіїв на гітхабі. Він відстежує зміни і проганяє їх через вбудовані аналізатори. Потім формує звіти і відправляє їх користувачеві.
Познайомтеся з екосистемою 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 для заглушки зовнішніх викликів
Аналізатор якості репозиторіїв
Проект, який допомагає автоматично стежити за якістю репозиторіїв на гітхабі. Він відстежує зміни і проганяє їх через вбудовані аналізатори. Потім формує звіти і відправляє їх користувачеві.
https://privatelink.de/?https://ru.hexlet.io/programs/rails