Хочу разработать тестирующую систему для IOI и ACM

Все что не вошло в другие категории
Ответить
Аватара пользователя

Автор темы
solomax
Автор статей и описаний
Автор статей и описаний
Сообщения: 80
Зарегистрирован: 22 май 2014, 22:17
Репутация: 16
Откуда: Саратов
Контактная информация:
Статус: Не в сети

Хочу разработать тестирующую систему для IOI и ACM

Сообщение solomax » 13 апр 2015, 16:54


Всем привет. Давно меня не было на форуме, однако сейчас я нуждаюсь в помощи, которую хотелось бы получить. Пишу в этот раздел, т.к. не знаю, какой вырать правильно.
Пару месяцев назад я заинтересовался олимпиадным/спортивным программированием. А недавно, месяц-два назад, я задумался об устройстве тестирующих систем для IOIInternational Olympiad in Informatics - Международная олимпиада по информатике и ACMACM International Collegiate Programming Contest - Международная студенческая олимпиада по программированию, к примеру системы EJudge или сайтов Codeforces и acm.sgu.ru. Недавно я подумал, а почему бы не попробовать создать похожую систему. Однако, я не до конца понимаю, как всё (должно быть) устроено. Сразу оговорюсь, что хотелось бы создать такую систему на Windows с веб-оболочкой.
Поэтому хочется спросить у вас, уважаемые пользователи, как должна быть устроена система подобного рода, и в каком направлении начать. Сразу скажу, что я в программировании начинающий (PHP немного знаю, HTML на базовом уровне, а вот с JS не связывался). Являясь учеником 8 класса, я думаю, что это будет трудно, однако из этого можно извлечь полезный опыт, т.к. я планирую в будущем поступить на программиста. Заранее спасибо.

P.S. Извините, если я написал много лишнего, т.к. я редко пишу на форумы.
P.P.S. Передаю привет администратору DesignerMix :)

Аватара пользователя

DesignerMix
Администратор
Администратор
Сообщения: 4493
Зарегистрирован: 25 апр 2014, 10:51
Есть ответ: 172
Репутация: 551
Откуда: Белгород
Контактная информация:
Статус: Не в сети

Хочу разработать тестирующую систему для IOI и ACM

Сообщение DesignerMix » 13 апр 2015, 18:16


solomax, Привет, приятно видеть старожилу :)

Я когда-то занимался созданием системы тестирования с учетом результатов в БД и выставлением оценки на PHP. Делал я это в качестве дипломного проекта. Могу поискать этот проект однако не уверен сохранился ли он. Это не то что вам нужно?

Аватара пользователя

Автор темы
solomax
Автор статей и описаний
Автор статей и описаний
Сообщения: 80
Зарегистрирован: 22 май 2014, 22:17
Репутация: 16
Откуда: Саратов
Контактная информация:
Статус: Не в сети

Хочу разработать тестирующую систему для IOI и ACM

Сообщение solomax » 13 апр 2015, 18:33


DesignerMix, Ну, смотря что там тестируется. На олимпиадах по программированию тестируются исходники программ, "решений", созданных участниками для решения задачи. Отправляются на компиляцию, запускаются в песочнице (с работой которой у меня недопонимание, ибо там не только доступ к ФСфайловой системе ограничен, но и ограничения по времениНапример, программа должна работать не более 0.25 секунд, иначе вердикт Time Limit Exceeded и памятине более 64 Мб, иначе Memory Limit Exceeded) на тестах (входных и правильных выходных данных), проверка ответов программы участника с ответами жюри и т.д. Можно посмотреть сайт, созданный СГУ, я могу примерно показать, как всё выглядит для пользователя, и примерное понимание работы сервиса, если необходимо.

Аватара пользователя

DesignerMix
Администратор
Администратор
Сообщения: 4493
Зарегистрирован: 25 апр 2014, 10:51
Есть ответ: 172
Репутация: 551
Откуда: Белгород
Контактная информация:
Статус: Не в сети

Хочу разработать тестирующую систему для IOI и ACM

Сообщение DesignerMix » 13 апр 2015, 18:51


solomax, теперь ясно. Значит моя система не подойдет. Возможно вам подскажет кто-то другой.

Аватара пользователя

Автор темы
solomax
Автор статей и описаний
Автор статей и описаний
Сообщения: 80
Зарегистрирован: 22 май 2014, 22:17
Репутация: 16
Откуда: Саратов
Контактная информация:
Статус: Не в сети

Хочу разработать тестирующую систему для IOI и ACM

Сообщение solomax » 13 апр 2015, 18:59


DesignerMix, возможно. Надеюсь, что найдётся ответ. Кстати, я пока гуглил, нашёл PDF файл, с описанием подобной системы на английском. Схему из текста приложу тут.

Аватара пользователя

Автор темы
solomax
Автор статей и описаний
Автор статей и описаний
Сообщения: 80
Зарегистрирован: 22 май 2014, 22:17
Репутация: 16
Откуда: Саратов
Контактная информация:
Статус: Не в сети

Хочу разработать тестирующую систему для IOI и ACM

Сообщение solomax » 14 апр 2015, 15:59


Как я себе сейчас представляю структуру системы. Прежде всего - веб-оболочка, связывающаяся и передающая значения в БД. Потом программа (На ЯП) проверяет, есть ли необходимость проверки/компиляции решения. После этого эта программа (назовём её сервером-распределителем) отдаёт распределяет все посылки (исходники решений) между компами в локал.сети или VPN (т.н. клиенты). Они принимают посылку, компилируют, проверяют на тестах, создают отчёт о проверке и возвращает инфу на сервер. Сервер записывает данные о проверке в БД, откуда их увидит участник в интерфейсе. Что-то надо подправлять?

Аватара пользователя

DesignerMix
Администратор
Администратор
Сообщения: 4493
Зарегистрирован: 25 апр 2014, 10:51
Есть ответ: 172
Репутация: 551
Откуда: Белгород
Контактная информация:
Статус: Не в сети

Хочу разработать тестирующую систему для IOI и ACM

Сообщение DesignerMix » 14 апр 2015, 17:20


solomax, попробуйте связаться с пользователем Вася Сташевский, если не получится через форум, то через ВК (см. ссылку в его профиле). Он, на сколько я знаю, вроде как занимается программированием. Правда не могу сказать интересна-ли ему данная тема или нет...

Аватара пользователя

Автор темы
solomax
Автор статей и описаний
Автор статей и описаний
Сообщения: 80
Зарегистрирован: 22 май 2014, 22:17
Репутация: 16
Откуда: Саратов
Контактная информация:
Статус: Не в сети

Хочу разработать тестирующую систему для IOI и ACM

Сообщение solomax » 14 апр 2015, 17:43


DesignerMix, окей. Кстати, могу про эту тему спросить создателя Codeforces. Благо он в СГУ учитель и ведёт у нас тренировки :D Если будет время и возможность.

Аватара пользователя

Автор темы
solomax
Автор статей и описаний
Автор статей и описаний
Сообщения: 80
Зарегистрирован: 22 май 2014, 22:17
Репутация: 16
Откуда: Саратов
Контактная информация:
Статус: Не в сети

Хочу разработать тестирующую систему для IOI и ACM

Сообщение solomax » 03 май 2015, 02:32


Вася Сташевский, что вы можете сказать по этому поводу?

Аватара пользователя

Автор темы
solomax
Автор статей и описаний
Автор статей и описаний
Сообщения: 80
Зарегистрирован: 22 май 2014, 22:17
Репутация: 16
Откуда: Саратов
Контактная информация:
Статус: Не в сети

Хочу разработать тестирующую систему для IOI и ACM

Сообщение solomax » 24 май 2015, 22:38


Кстати, я подозреваю, что клиент-серверный механизм пересылки команд они реализовали через IRC, то интересно