/task-4

Primary LanguageRuby

Задание №4

В этом задании вам предлагается оптимизировать учебное rails-приложение.

Для запуска потребуется:

  • ruby 2.6.1
  • postgres

Запуск:

  • bundle install
  • bin/setup
  • rails s
  • localhost:3000/автобусы/Самара/Москва

Описание учебного приложения

Зайдя на страницу автобусы/Самара/Москва вы увидите расписание автобусов по этому направлению.

Что оптимизировать

Импорт данных

При выполнении bin/setup в базу данных загружаются данные о рейсах из файла fixtures/small.json

Сама загрузка данных из файла делается очень наивно.

В комплекте с заданием поставляются файлы

  • example.json
  • small.json
  • medium.json
  • large.json

Нужно оптимизировать механизм перезагрузки расписания из файла так, чтобы он обрабатывал файл large.json в пределах минуты.

rake reload_json[fixtures/large.json]

Отображение расписаний

Сами страницы расписаний тоже формируются не эффективно и при росте объёмов начинают сильно тормозить.

Нужно найти и устранить проблемы, замедляющие формирование этих страниц.

Сдача задания

PR в этот репозиторий с кодом и описанием.

В описании указать:

  • за какое время выполняется импорт файла fixtures/large.json
  • за какое время рендерится страница автобусы/Самара/Москва

Перед сдачей нужно убедиться, что результат работы страницы автобусы/Самара/Москва для данных из файла fixtures/example.json не изменился, то есть не было внесено никаких функциональных изменений, только оптимизации.