Thinknetica-contrib

Продвинутый Rails

Это сборник статей, отвечающих на типичные вопросы студентов в курсе Thinknetica - Продвинутый Rails.

Здесь так же собирается информация, необходимая для обновления используемых в курсе версий Ruby, Rails и других библиотек.

Введение

Процесс разработки

  • Homebrew и Asdf Wip
  • Актуальные версии ruby/rails и гемов
  • Совместимость руби и рельсов
  • Курсы по гит и тулы
  • Как задавать вопросы
  • Добавь меня в реп

Введение в TDD/BDD

  • Попробуйте гитхаб

Тестирование контроллеров

  • Управление ENV
  • CI на Rspec, Сoverege и Standardrb
  • Ветки с конфликтами или проблемами ci не принимаются
  • Кросс ревью и вопросы в общем чате

Интеграционное тестирование

Ajax в Rails

  • slim или erb?

ActiveStorage

  • В разработке

Вложенные формы и полиморфные ассоциации

  • JS в rails 7
  • JS glist

Различные формы Ajax в Rails

  • В разработке

Comet и pub/sub

  • В разработке

Протокол OAuth

  • Конкретные OAuth провайдеры
  • Приколы с Doorkeeper

Авторизация в rails

  • Pundit

REST API

  • В разработке

Фоновые задачи

  • В разработке

Полнотекстовый поиск

  • DHH монолит
  • Как выбирать технологии для стека
  • Сфинкс vs Эластик vs PG full text search

Настройка сервера

  • Passanger криво встает на Ubuntu 22.04.2 LTS
  • Puma vs Passanger vs Unicorn

Deploy. Часть 2

  • Ключи деплоя и ssh-agent / ssh-add -K на маке
  • Управление ENV при деплое
  • systemctl --user

Продвинутая настройка сервера

  • Kamel / MRSK
  • Где взять домен
  • Сertbot / Letsencrypt

Оптимизация и кеширование

  • В разработке

Отказоустойчивость

  • В разработке

Вещает

Юра Кириллов

Блог RubyCats - что это и зачем

Что значит Thinknetica-contrib?

Хелло! Меня зовут Юра, я веду курс Продвинутый Rails в онлайн-школе Thinknetica.

Курс этот замечательный, однако изрядная часть повторяющихся вопросов студентов выходит за его рамки. Это вопросы про настройку окружения, работу с администрированием баз данных, управлением версиями библиотек, мотивацию, перспективы руби и веб-разработки. Этот блог - возможность ответить на эти вопросы не отягощая при этом сам курс, и это основная цель данного блога.

Второе большое направление - подготовка материалов перед добавлением их в курс, то что Rails делает на edgeguides.rubyonrails.org. Здесь можно увидеть, каким курс может оказаться завтра. Этот блог - open source, если вы прошли курс и хотите поделиться своим опытом - смело открывайте Pull Request в любую из статей на сайте.

Как сюда контрибьютить?

Для облегчения ревью изменений, материалы блога организованы в виде .erb файлов в каталоге pages. Если вы хотите внести изменения - доступны две опции:

  • Используйте стандартные инструменты GitHub: Pull request from fork
  • Напишите мне в телегу @ineedjet, я добавлю вас в оригинальный реп в роли разработчика

Что сюда контрибьютить?

Приветствуются материалы о выполнении заданий курса на Rails 7 и Ruby 3.2.2, использовании новых версий библиотек, использовании Hotwire/Turbo/Stimulus/Strada, настройке окружения итд. Подумайте, в каком месте курса у вас возникли самые длительные затруднения, напишите об этом статью или обозначьте тему в телеграмм-чате.

  • Редакционный план можно увидеть в левом меню в виде заголовков статей
  • Техничку для работы блога можно найти в issues на Гитхабе

Как синковаться и координироваться?

Обсудить материалы блога можно в канале Курс Ruby On Rails / Thinknetica, заходите.