HTTPS SSH

Mail.ru Hignload Cup 2017 Solution

Представляет собой почти что то самое решение которое я использовал в higload cup (2017). Отличие состоит в RESTinio, тогда еще не существовало версии 0.3.0 и использовался сырой вариант над которым велась разработка. А также в этой версии можно включить волшебную пилюлю: использовать busy wait, до такого приема я сам не додумался.

Работа публикуется как есть и автор не берет на себя никаких гарантий связанных с использованием содержимого этого репозитория в любом контексте.

Как собрать

Для сборки потребуется Ruby и Mxx_ru. Нужно установить Ruby и RubyGems (обычно RubyGems идет прямо в составе дистрибутива Ruby). После чего устанавливается Mxx_ru:

gem install Mxx_ru

Для сборки:

cd highloadcup2017
mxxruexternals
cd dev
ruby build_hlcup.rb

Результаты будут в bin/default.

Структура проекта

hlcup_data

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

hlcup_data_own_storage

In-memory хранилище, в которое загружаются данные о пользователях, достопримечательностях и визитах из json-файлов. Оно и используется для обработки запросов.

hlcup

Реализация hlcup-сервера.

test/router_parser

Unit-test для парсера роутов (/users/nnn, /visits/mmm, ...).