В этом задании вам предлагается оптимизировать учебное rails-приложение.
Для запуска потребуется:
ruby 2.6.1postgres
Запуск:
bundle installbin/setuprails slocalhost:3000/автобусы/Самара/Москва
Зайдя на страницу автобусы/Самара/Москва вы увидите расписание автобусов по этому направлению.
При выполнении bin/setup в базу данных загружаются данные о рейсах из файла fixtures/small.json
Сама загрузка данных из файла делается очень наивно.
В комплекте с заданием поставляются файлы
example.jsonsmall.jsonmedium.jsonlarge.json
Нужно оптимизировать механизм перезагрузки расписания из файла так, чтобы он обрабатывал файл large.json в пределах минуты.
rake reload_json[fixtures/large.json]
Сами страницы расписаний тоже формируются не эффективно и при росте объёмов начинают сильно тормозить.
Нужно найти и устранить проблемы, замедляющие формирование этих страниц.
PR в этот репозиторий с кодом и описанием.
В описании указать:
- за какое время выполняется импорт файла
fixtures/large.json - за какое время рендерится страница
автобусы/Самара/Москва
Перед сдачей нужно убедиться, что результат работы страницы автобусы/Самара/Москва для данных из файла fixtures/example.json не изменился, то есть не было внесено никаких функциональных изменений, только оптимизации.