[Logo] Форум DL
  [DL]  На главную страницу 
Индекс форума ->Общего плана ->Предложения по новым курсам DL 1, 2, 3
Автор Сообщение
Владислав Жарков

Темы: 0
Сообщений: 19

Мой профиль
Не получается загрузить новую задачу на сайт.Такой вопрос:что должно быть в выходном тесте 1.out ,если мы загружаем картинку и в check.js соответственно ...ссылка на архив:
https://drive.google.com/file/d/0B2Wt6Q2jOJOea2ZwQVBkUElJcHM/view?usp=sharing
Михаил Долинский

Темы: 1374
Сообщений: 32487

Мой профиль
Выложи ВЕСЬ архив, который ты загружаешь в Инет, а здесь ссылку дай на этот архив
Алена Карнаухова

Темы: 0
Сообщений: 29

Мой профиль
В check.js может быть что-то вроде этого:
var img = document.getElementsByTagName('img')[0];
console.log(img.getAttribute('src'));

Соответственно, в 1.out будет имя файла-картинки.
Саму картинку при этом нужно положить в архив tests, поскольку именно оттуда она будет браться при тестировании решения на DL (если она не будет храниться в images или на внешнем ресурсе). И, конечно, имя файла с картинкой нужно указать в условии задачи.
Михаил Долинский

Темы: 1374
Сообщений: 32487

Мой профиль
https://codefights.com/
Обучение работы на языках:
CSS, JavaScript(ES6), HTML, Clojure,
Kotlin, Java, CoffeeScript, MySQL, SCSS, PHP
Михаил Долинский

Темы: 1374
Сообщений: 32487

Мой профиль
Гайдов Артур, 09.11.2017 08:22:54

Подскажите пожалуйста, как изменять вердикт дл в задачах javascript.

- Здравствуйте. Сообщения, сохраняемые в протоколе DL, "зашиты" в tester.exe. Соответственно, для их изменения нужно вносить изменения в исходники этого файла (обычно TesterLib.pp в папке src задачи) и заново их компилировать.

- Здравствуйте, помогите пожалуйста в файле TesterLib.pp найти те вердикты, которые выдает дл.

- Возможно, вам поможет документация по данной библиотеке: http://confluence.newit.gsu.by/pages/viewpage.action?pageId=20938758  
Михаил Долинский

Темы: 1374
Сообщений: 32487

Мой профиль
Я попросил Артура подробнее написать, чем он занимается по моей просьбе.
Что-то он медлит, коротко опишу я.

Курс "WEB-технологии для начинающих" апробирован на разных категориях обучаемых (от учеников до учителей).
Среди важных недостатков, по моему мнению, НЕАДЕКВАТНЫЕ сообщения чекера.
Поскольку курс ОБУЧАЮЩИЙ, хотелось бы чтобы чекер давал как можно чаще адекватные советы ученику о том, что неправильно в его решении.

Эта задача и поставлена перед Артуром (студентом ПО-11).
Он будучи школьником, освоил алгоритмизацию и программирование на Паскале на неплохом уровне
(участник республиканской олимпиады).
Сейчас изучает JavaScript и Java.
Выполнил сам все текущие задания курса "WEB-технологии для начинающих",
выписал все известные случаи неадекватных сообщений чекера и составил план их замены.

Артур Гайдов

Темы: 9
Сообщений: 18

Мой профиль
Отчет по работе:

Я скачал "Пример архива задачи по JavaScript". В файле TesterLib.pp я изменил значение переменной Disapproval. Именно она выдавала Wrong Answer в вердикте(как мне кажется). Также я думаю, что Time limit exceeded! берется из файла CheckLib.pp(переменная TLim). Этот вердикт появлялся ТОЛЬКО при отправке на DelTA3 at NIT6. И вроде как эта проблема уже решена. Сейчас я не могу понять, откуда берутся вердикты - #1 Runtime Error 1:Runtime error, #404 Runtime Error 404. Файлы TesterLib и CheckLib я читал не раз, но все равно не могу понять, откуда и как они появляются.
Сейчас я изменил архив и отправляю его. Посмотрим на результат.


Результат: Ничего не вышло. Продолжаю работать.
Михаил Долинский

Темы: 1374
Сообщений: 32487

Мой профиль
Моя гипотеза такая
- tester.exe сам падает с этой ошибкой

А Delta переносит ошибку на сайт.

Надо у себя запустить tester на проверку и добиться чтобы он не падал,
а корректно диагностировал ошибку в присланном файле и выдавал адекватное сообщение.
Алена Карнаухова

Темы: 0
Сообщений: 29

Мой профиль
Я полагаю, что Runtime Error берутся из page-test.js
Runtime Error #1:
page.onError = function (msg, trace) {
  console.error(msg);
  phantom.exit(1);
}

Runtime Error #404:
page.onResourceReceived = function (res) {
  if ((res.stage === 'end') && (res.headers.length === 0)) {
    console.error("Not Found: " + fileName(res.url));
    phantom.exit(404);
  }
}

А вот эта строчка из CheckLib.pp очень похожа на вывод этой ошибки:
Weep('#'+IntToStr(Code)+' "'+Status+'"');

Михаил Долинский

Темы: 1374
Сообщений: 32487

Мой профиль
Проблемы при работе с браузером Mozila FireFox

- не показывает рисунки в автовыдаче
- не работает галочка "открывать задачи в новом окне" (открывается в том же, не хватает размера экрана)
- поле ввода меньше размеров букв http://dl.gsu.by/task.jsp?nid=1496609&cid=974
- после перевода на новое задание не обновляется автоматически страница
- у редактора курса в дереве задач Differential Study слово "Удалить" на след строке, а нужно на той же

Проблемы при работе с браузером Google Chrome

- время на DL показывается на час меньше, чем в IE (и чем есть на самом деле у нас в Беларуси)
(странно, это было на двух машинах в 1-1 прав, а на моей машине всё нормально)
- неправильно переходит при нажатии "Не знаю" (не всегда)

+ не реагирует на галочку "открывать задачи в новом окне" (Комков)


Можно также попытаться системно подойти
- поискать в Инет – какие именно функции в IE реализованы не по стандарту
и как решать такие проблемы

Полифиллы
«Полифилл» (англ. polyfill) – это библиотека, которая добавляет в старые браузеры поддержку возможностей, которые в современных браузерах являются встроенными.
Артур Гайдов

Темы: 9
Сообщений: 18

Мой профиль
Отчет по работе:

Сегодня попытался изменить формат вывода. Делал это в файле TesterLib.pp в функции DefaultRate. Отправил архив и послал неправильное решение. Результат - нулевой. Вывод вердикта остался таким же. Архив перепроверял. Смысл данной операции был в том, чтобы хотя бы убедиться, что дл реагирует на мои изменения. Файла page-test.js в образцовом архиве не было.
Артур Гайдов

Темы: 9
Сообщений: 18

Мой профиль
Моя задача

В курсе WEB-технологии для начинающих в задачах JavaScript DOM я пытаюсь изменить вердикты. Например, вместо "+(6/6)" - "Все тесты успешно пройдены", "*(0/6)[---; test 1: Wrong Answer]" - "Неверный вывод". Я скачал Пример архива задачи по JavaScript. В архиве я изменял файлы TesterLib.pp и CheckLib.pp, но дл никак не реагировала на мои изменения.
Алексей Гуленко

Темы: 4
Сообщений: 161

Мой профиль
...Это шутка, да? Пожалуйста, скажите мне, что это шутка...

Кто, объясните мне, кто так работает с библиотеками?!
Для тех, кто не в курсе: библиотека - это такой файл с исходным кодом (модуль), который не предназначен для внесения в него каких попало изменений, а попросту подключается к коду основной программы (или других модулей) при компиляции/интерпретации оной. Если нужно поменять поведение по умолчанию, используется интерфейс модуля для указания желаемой специфики обработки, а не прямое редактирование кода библиотеки. (И к тому же, как я понял, товарищ ожидал, что редактирование исходников поменяет поведение чекера без перекомпиляции... )

Сообщения об ошибке контролируются вызовом Check, которая по умолчанию сравнивает файлы и устанавливает в Comment значение Disapproval при различии оных (либо же, при наличии внешнего чекера с форматом вызова DL, использует для проверки его вывод). Если так уж приспичило вносить изменения в сам tester, это делается не переписыванием значения Check по умолчанию, а передачей библиотеке другого значения оного при вызове Body.

Что касается вывода текстового комментария для пройденных тестов, это настраивается в конфигурации тестера.
И вообще, RTFM.
______________________
// LeX
 
Индекс форума ->Общего плана ->Предложения по новым курсам DL 1, 2, 3
Time:0,047