понедельник, 28 марта 2011 г.

5 - Система тестирования и сайт

Предложения и замечания по системе тестирования и сайту www.contester.tsure.ru - в виде комментариев

7 комментариев:

  1. В порядке приоритета от самых главных:

    1. Кеширование страниц должно быть полностью запрещено, причём вне зависимости от настроек бразуера (участники регулярно не видят актуального монитора, вердиктов и ответов на вопросы).
    2. Таймаут разлогинивания = 5 часов (не вижу никакого смысла в том, что вводить пароль на контесте нужно несколько раз).
    3. Информативное сообщение об ошибке компилляции с логом компиллятора (есть во всех других АСТ) + возможность снять подсчёт штрафных попыток за ошибки компилляции в некоторых турнирах.
    4. Автопереключение на другой нод, при недоступности одного из них (сейчас это делается вручную путём Перетеста).
    5. Автобновляемый монитор (например, каждую минуту).
    6. Возможность открывать задачи и решения в новой вкладке.
    7. Я видел баг при просмотре отправленного кода на языке Pascal - система МЕНЯЕТ его, когда видит определённые последовательности символов (не помню какие, к сожалению). Это должно быть полностью запрещено и проверено для всех языков - мы должны гарантировать, что участники получат то, что они отправляли.
    8. Подсветка кода при его отображении - есть миллион OpenSource исходников, в т.ч. на PHP, которые можно для этого использовать.

    ОтветитьУдалить
  2. 1. Согласен.
    2. Согласен, раздражает сильно.
    3. Это противоречит правилам АСМ. Там возвращается CE без детализации. Хотя возможность такая должна быть предусмотрена. Но делать это никто не будет.
    4. Согласен, но делать это никто не будет.
    5. Вроде бы автообновление работало. Может, что-то уже сломалось :)
    6. Согласен. Причем из-за этих самодельных кнопок сайт вообще не работоспособен на мобильных браузерах.
    7. Впервые об этом слышу за все время пользования системой. Желательно пример кода.
    8. Была какая-то, но кривая. Опять же никто этого делать не будет.

    ОтветитьУдалить
  3. Неплохо бы выделить хотя бы несколько "отладочных" тестов - т.е. дать возможность прогонять через них программу без штрафов. Считаю отладку одним из этапов разработки программы любой сложности, и как-то неправильно за банальные опечатки, которые не повлияли на нулевой тест, начислять штрафное время. Дабы избежать нагрузки на сервер - можно организовать это как-нибудь локально, при этом сами тесты делать доступными для просмотра не надо.

    ОтветитьУдалить
  4. Таймаут "разлогинивания" на contester.tsure.ru увеличили до 5 часов.
    Хотя, не представляю, чтобы кто-то мог ничего не обращаться к серверу 5 часов (наверное, вполне достаточно было бы и 1-2 часов)

    ОтветитьУдалить
  5. А почему бы просто не использовать куки вместо пятичасовой сессии?
    И ещё замечание по банку задач - при нажатии "отправить решение", если имя задачи не число, то оно не появляется в поле с именем задачи, хотя в аргументах адресной строки оно есть (т.е. используется что-то вроде intval() вместо аналога real_escape_string()). Приходится вписывать вручную.
    Также неплохо было бы запоминать последний использованный компилятор, чтобы не выбирать его каждый раз из списка.

    ОтветитьУдалить
  6. Фактически, время жизни куки это и есть время жизни сессии в данном случае. И то и другое сейчас - 5 часов.
    Насчет банка посмотрим. Наверно когда писался тот код, не думали, что будут задачи с буквами :)

    ОтветитьУдалить
  7. куки живут в браузере и настройка таймаута сессии никак не должна на них повлиять :-)
    К примеру посмотрите на известный сайт vkontakte.ru

    Если не стоит галочка "Чужой компьютер", то ваша информация сохраняется в куки браузера и выкинет вас только после кнопки выход(которая куки данного сайта очищает) или посли чистки кук браузера. И настройка сессии тут не при чем.

    ОтветитьУдалить