В этом задании вам предлагается оптимизировать учебное 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
не изменился, то есть не было внесено никаких функциональных изменений, только оптимизации.