Difference between revisions of "Изменения в версии 3.11.0"
(Created page with "Навигация: Главная страница/Система ejudge/Разработка/История версий/Изменения в в...") |
(...) |
||
(3 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
Навигация: [[Main Page|Главная страница]]/[[Система ejudge]]/[[Разработка]]/[[История версий]]/[[Изменения в версии 3.11.0]] | Навигация: [[Main Page|Главная страница]]/[[Система ejudge]]/[[Разработка]]/[[История версий]]/[[Изменения в версии 3.11.0]] | ||
+ | |||
+ | Время выхода: 12 августа 2023 г. | ||
+ | |||
+ | [[Изменения в версии 3.10.3|Предыдущая версия]] [[Изменения в версии 3.12.0|Следующая версия]] | ||
+ | |||
+ | В этой версии добавлены две новых возможности: | ||
+ | * [[Внешние идентификаторы пользователей]] | ||
+ | * [[Нотификации во внешние системы]] | ||
+ | |||
+ | Они могут быть полезными при использовании ejudge как сервиса для проверки | ||
+ | решений. | ||
+ | |||
+ | Добавлена автоматическая сборка докер-образа при коммите в ветку | ||
+ | master на github. Исправлена ошибка сборки | ||
+ | ([https://github.com/blackav/ejudge/issues/196 Issue #196]). | ||
+ | |||
+ | === [[ej-agent]] === | ||
+ | |||
+ | Исправлена ошибка [https://github.com/blackav/ejudge/issues/207 Issue #207]. | ||
+ | |||
+ | === [[ej-compile]] === | ||
+ | |||
+ | Исправлена ошибка [https://github.com/blackav/ejudge/issues/206 Issue #206]. | ||
+ | |||
+ | Добавлена опция <code>--lang-id-map</code>, которая позволяет | ||
+ | задать отображение идентификаторов языков во входных пакетах в | ||
+ | идентификаторы языков, обрабатываемых на данном сервере компиляции | ||
+ | ([https://github.com/blackav/ejudge/issues/205 Issue #205]). | ||
+ | |||
+ | === [[ej-contests]] === | ||
+ | |||
+ | Исправлены ошибки: | ||
+ | * [https://github.com/blackav/ejudge/issues/218 Issue #218] | ||
+ | * [https://github.com/blackav/ejudge/issues/202 Issue #202] | ||
+ | * [https://github.com/blackav/ejudge/issues/197 Issue #197] | ||
+ | |||
+ | Добавлена поддержка глобального конфигурационного параметра турнира | ||
+ | <code>[[serve.cfg:global:enable_remote_cache|enable_remote_cache]]</code> | ||
+ | для уменьшения количества передаваемых данных по сети | ||
+ | ([https://github.com/blackav/ejudge/issues/212 Issue #212]). | ||
+ | |||
+ | Добавлена поддержка глобального конфигурационного параметра турнира | ||
+ | <code>[[serve.cfg:global:preserve_line_numbers|preserve_line_numbers]]</code>, | ||
+ | назначение которого — сохранять номера строк, которые были в исходном | ||
+ | коде, при исполнении программы на скриптовом языке | ||
+ | ([https://github.com/blackav/ejudge/issues/213 Issue #213]). | ||
+ | |||
+ | Добавлена поддержка | ||
+ | [[Внешние идентификаторы пользователей|внешних идентификаторов пользователя]] | ||
+ | в базе данных посылок | ||
+ | ([https://github.com/blackav/ejudge/issues/169 Issue #169], | ||
+ | [https://github.com/blackav/ejudge/issues/188 Issue #188]). | ||
+ | |||
+ | Добавлена поддержка | ||
+ | [[Нотификации во внешние системы|нотификаций во внешние системы]] | ||
+ | с помощью redis | ||
+ | ([https://github.com/blackav/ejudge/issues/194 Issue #194], | ||
+ | [https://github.com/blackav/ejudge/issues/189 Issue #189], | ||
+ | [https://github.com/blackav/ejudge/issues/187 Issue #187], | ||
+ | [https://github.com/blackav/ejudge/issues/186 Issue #186], | ||
+ | [https://github.com/blackav/ejudge/issues/180 Issue #180]). | ||
+ | |||
+ | === [[ej-suid-container]] === | ||
+ | |||
+ | Добавлена поддержка опции <code>ml</code> для настройки loopback | ||
+ | сетевого интерфейса в контейнере | ||
+ | ([https://github.com/blackav/ejudge/issues/204 Issue #204]). | ||
+ | |||
+ | Добавлена поддержка опцити <code>mr</code> для сохранения исходного | ||
+ | каталога <code>/run</code> в создаваемом контейнере | ||
+ | ([https://github.com/blackav/ejudge/issues/203 Issue #203]). | ||
+ | |||
+ | === [[ej-super-run]] === | ||
+ | |||
+ | Поддерживается опция командной строк <code>--local-cache</code>, | ||
+ | которая включает поддержку кеширования исполняемых файлов | ||
+ | на стороне хоста тестирования и исполнения | ||
+ | ([https://github.com/blackav/ejudge/issues/212 Issue #212]). | ||
+ | |||
+ | Поддерживается режим сохранения номеров строк исходного файла | ||
+ | скриптовых языков ([https://github.com/blackav/ejudge/issues/213 Issue #213]). | ||
+ | В этом случае программа ej-super-run убирает начало файла | ||
+ | с добавленной строкой <code>#! INTERP</code>, и обрабатывает | ||
+ | эту строку самостоятельно и вызывает указанный интерпретатор | ||
+ | <code>INTERP</code> напрямую. | ||
+ | |||
+ | === Изменения в поддержке языков программирования === | ||
+ | |||
+ | Ускорена компиляция [[Lang:dotnet-cs|dotnet C#]]. | ||
+ | Скрипт компиляции не создает новый проект | ||
+ | при каждой компиляции, а пытается использовать заранее сохраненный | ||
+ | готовый проект. Это уменьшает время компиляции примерно на секунду. | ||
+ | |||
+ | Для языка [[Lang:scala|scala]] поддерживается компиляция с помощью sbt. | ||
+ | При использовании | ||
+ | sbt компиляция работает намного медленнее, чем без него, зато sbt | ||
+ | генерирует самодостаточные jar-файлы, которые запускаются обычной | ||
+ | командой java. Это позволяет, например, при компиляции подключать | ||
+ | внешние зависимости, которые будут добавлены в jar-файл. |
Latest revision as of 22:29, 28 December 2023
Навигация: Главная страница/Система ejudge/Разработка/История версий/Изменения в версии 3.11.0
Время выхода: 12 августа 2023 г.
Предыдущая версия Следующая версия
В этой версии добавлены две новых возможности:
Они могут быть полезными при использовании ejudge как сервиса для проверки решений.
Добавлена автоматическая сборка докер-образа при коммите в ветку master на github. Исправлена ошибка сборки (Issue #196).
Contents
ej-agent
Исправлена ошибка Issue #207.
ej-compile
Исправлена ошибка Issue #206.
Добавлена опция --lang-id-map
, которая позволяет
задать отображение идентификаторов языков во входных пакетах в
идентификаторы языков, обрабатываемых на данном сервере компиляции
(Issue #205).
ej-contests
Исправлены ошибки:
Добавлена поддержка глобального конфигурационного параметра турнира
enable_remote_cache
для уменьшения количества передаваемых данных по сети
(Issue #212).
Добавлена поддержка глобального конфигурационного параметра турнира
preserve_line_numbers
,
назначение которого — сохранять номера строк, которые были в исходном
коде, при исполнении программы на скриптовом языке
(Issue #213).
Добавлена поддержка внешних идентификаторов пользователя в базе данных посылок (Issue #169, Issue #188).
Добавлена поддержка нотификаций во внешние системы с помощью redis (Issue #194, Issue #189, Issue #187, Issue #186, Issue #180).
ej-suid-container
Добавлена поддержка опции ml
для настройки loopback
сетевого интерфейса в контейнере
(Issue #204).
Добавлена поддержка опцити mr
для сохранения исходного
каталога /run
в создаваемом контейнере
(Issue #203).
ej-super-run
Поддерживается опция командной строк --local-cache
,
которая включает поддержку кеширования исполняемых файлов
на стороне хоста тестирования и исполнения
(Issue #212).
Поддерживается режим сохранения номеров строк исходного файла
скриптовых языков (Issue #213).
В этом случае программа ej-super-run убирает начало файла
с добавленной строкой #! INTERP
, и обрабатывает
эту строку самостоятельно и вызывает указанный интерпретатор
INTERP
напрямую.
Изменения в поддержке языков программирования
Ускорена компиляция dotnet C#. Скрипт компиляции не создает новый проект при каждой компиляции, а пытается использовать заранее сохраненный готовый проект. Это уменьшает время компиляции примерно на секунду.
Для языка scala поддерживается компиляция с помощью sbt. При использовании sbt компиляция работает намного медленнее, чем без него, зато sbt генерирует самодостаточные jar-файлы, которые запускаются обычной командой java. Это позволяет, например, при компиляции подключать внешние зависимости, которые будут добавлены в jar-файл.