Programming Taskbook


E-mail:

Пароль:

Регистрация пользователя   Восстановление пароля

 

ЮФУ SMBU

Электронный задачник по программированию

©  М. Э. Абрамян (Южный федеральный университет, Университет МГУ-ППИ в Шэньчжэне), 1998–2024

 

Teacher Pack | Удаленные репозитории | Основные возможности

PrevNext


Удаленные ftp-репозитории и их основные возможности

Общее описание

В версии задачника 4.18 предпринята попытка решить описанный в предыдущем разделе комплекс проблем с помощью единой структуры: удаленного ftp-репозитория. При этом были развиты идеи, которые ранее использовались при реализации механизмов backup-конфигураций и каталогов обновлений.

Удаленный ftp-репозиторий может рассматриваться как файловое хранилище, которое позволяет обновлять вспомогательные файлы в каталогах учащихся, а также получать от них и сохранять данные о выполненных заданиях (в виде файлов результатов и файлов-архивов с текстами программ). Таким образом, он комбинирует возможности каталога обновлений и CVS-репозитория из предыдущих версий задачника. При этом применение удаленного репозитория позволяет избежать большинства проблем, возникавших при работе с каталогами обновлений и CVS-репозиториями.

Прежде всего, взаимодействие с удаленным репозиторием осуществляется исключительно по протоколу ftp, что избавляет пользователей от установки дополнительных программных компонентов (требуется лишь динамическая библиотека WinInet.dll, которая входит в набор стандартных библиотек Windows). В качестве ftp-сервера для размещения удаленного репозитория можно использовать любой сервер, обеспечивающий ftp-подключение на чтение и запись. Удаленный репозиторий создается для отдельной группы учащихся и оформляется в виде отдельного каталога на ftp-сервере; при этом данный каталог содержит подкаталоги единственного уровня, каждый из которых связан с одним из учащихся группы. Особые пароли учащихся для доступа к ftp-серверу получать не требуется, так как все программы взаимодействуют с репозиторием по единому паролю преподавателя, который неизвестен учащимся, поскольку содержится в зашифрованном файле access.dat — сертификате доступа к удаленному репозиторию.

В отличие от прежних каталогов обновлений, которые преподаватель должен был создавать и заполнять данными с помощью какой-либо программы, обеспечивающей доступ по протоколу ftp (например, файлового менеджера FAR), удаленный репозиторий управляется с помощью контрольного центра преподавателя. В частности, структура репозитория обновляется при любых изменениях настроек группы (добавлении учащихся или добавлении/изменении вспомогательных файлов). В то же время сохраняется возможность просматривать и корректировать репозиторий с помощью «внешних» программ.

Сертификаты доступа к удаленному репозиторию (файлы access.dat) создаются непосредственно в контрольном центре преподавателя на основе различных данных, связанных с группой учащихся. Каждый сертификат связывается с конкретным учащимся и может быть использован только им.

Для обеспечения всех действий, связанных с удаленным репозиторием, учащемуся достаточно скопировать сертификат доступа к свой рабочий каталог, запустить в этом каталоге модуль PT4Load и в ответ на запрос ввести код активации, заранее сообщенный ему преподавателем. После этого в рабочий каталог будут автоматически загружены все вспомогательные файлы из удаленного репозитория (в том числе хранящийся в нем файл результатов), а если в их число входит файл вариантов, то будет сформирован вариант индивидуальных заданий, соответствующий номеру варианта, указанному в данных учащегося. Кроме того, в соответствии с информацией из файла access.dat будет настроена рабочая среда программирования.

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

В дальнейшем все действия по обновлению вспомогательных файлов, а также сохранению в удаленном репозитории результатов будут выполняться автоматически; требуется лишь, чтобы компьютер был подключен к интернету.

Просмотр результатов, в том числе просмотр различных версий программ с решениями, доступен для преподавателя из контрольного центра после импортирования на его компьютер данных из удаленного репозитория.

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

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

Следует также заметить, что применение удаленных репозиториев оказывается особенно удобным при организации дистанционных занятий.

Режим локального репозитория

В версии задачника 4.22 добавлена возможность временного переключения задачника в режим локального репозитория. Такое переключение выполняется автоматически, если попытка доступа к удаленному репозиторию оказывается неудачной (либо из-за отсутствия подключения к интернету, либо из-за ограничений доступа к серверу, на котором размещен репозиторий). Вторая ситуация возможна в случае размещения репозитория на университетском сервере, доступ к которому возможен только из локальной сети университета.

В режиме локального репозитория все варианты учебных программ сохраняются на локальном компьютере (в специальном подкаталоге учебного каталога). При восстановлении подключения к интернету (или, во второй ситуации, при подключении компьютера к университетской сети) все данные из локального репозитория автоматически пересылаются в удаленный репозиторий и удаляются с локального компьютера. Таким образом, механизм локальных репозиториев позволяет сохранить все варианты учебных программ, даже если они запускались при отключенном интернете.

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

Не рекомендуется в одно и то же время выполнять задания в режиме локального репозитория на различных компьютерах, так как задачник не выполняет специальной синхронизации данных из нескольких одновременно созданных локальных репозиториев при их пересылке в удаленный репозиторий.

Использование сайта ucoz.ru в качестве ftp-сервера для организации удаленного репозитория

Удобные бесплатные средства для организации удаленного репозитория предоставляет сайт ucoz.ru. Достаточно авторизоваться на этом сайте и создать свой сайт с уникальным именем (например teachersite000.ucoz.net). При создании сайта пользователю сразу предоставляется 400 М серверного пространства; этого объема вполне достаточно для хранения нескольких репозиториев. Для возможности доступа к выделенной области данных по протоколу ftp надо дополнительно настроить параметры доступа, выполнив следующие действия:

  • зайти на панель управления сайтом (указав /admin после имени сайта, например teachersite000.ucoz.net/admin),
  • выбрать команду «Инструменты», а в группе инструментов — раздел «Файловый менеджер» (обычно он автоматически выбирается при выборе команды «Инструменты»),
  • прочесть в этом разделе логин для ftp-доступа (как правило, он совпадает с именем сайта, дополненным префиксом e, например eteachersite000),
  • установить там же пароль для ftp-доступа.

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

Никакие другие действия на сайте ucoz.ru выполнять не требуется. Вся последующая работа с репозиториями может выполняться через контрольный центр преподавателя, а также (при необходимости) через дополнительную программу, обеспечивающую подключение по ftp-протоколу (например, через файловый менеджер FAR). Заметим, что в дополнительных программах необходимо установить пассивный режим подключения.

При работе с репозиториями на сайте ucoz.ru следует учитывать ограничения на имена файлов: они должны содержать только латинские буквы, цифры, дефис и знак подчеркивания. Все стандартные файлы, используемые задачником, удовлетворяют этим требованиям; в соответствии с этими же требованиями формируются и имена подкаталогов репозитория, связанные с различными учащимися. При попытке загрузить в репозиторий файл с недопустимым именем контрольный центр преподавателя пытается исправить это имя в соответствии с указанными выше ограничениями и выводит об этом сообщение.

Структура удаленного репозитория

Имя каталога, связанного с удаленным репозиторием, как правило, совпадает с именем учебной группы, указанным в контрольном центре преподавателя (при условии, что это имя состоит только из символов, разрешенных для использования на ftp-сервере и, кроме того, имеет длину не более 10 символов). При нарушении перечисленных условий имя репозитория определяется по имени группы путем сокращения длины и замены недопустимых символов.

Репозиторий состоит из трех видов подкаталогов. Подкаталог _data содержит те дополнительные файлы (за исключением файлов вариантов и контрольных файлов), которые требуется скопировать в рабочие каталоги всех учащихся группы. Именно в этот подкаталог преподаватель может безопасно копировать новые файлы (или удалять имеющиеся) с помощью «внешних» программ, обеспечивающих доступ по fpt-протоколу (например, программы FAR).

Подкаталоги с именами d<имя учащегося> содержат файлы вариантов и контрольные файлы, связанные с данным учащимся, а также файл результатов и те дополнительные файлы, которые также связаны только с данным учащимся. В этих подкаталогах может также располагаться пустой файл с именем __n_o__d_a_t_a__.tmp; наличие этого файла означает, что для данного учащегося не требуется считывать вспомогательные файлы, расположенные в общем каталоге _data. Содержимое данных подкаталогов не следует корректировать с помощью «внешних» программ.

Подкаталоги с именами r<имя учащегося> создаются только в случае, если в репозитории предполагается сохранять варианты текстов программ; в этих подкаталогах хранятся zip-файлы, каждый из которых содержит варианты решения одной из задач на определенном языке программирования. Данные подкаталоги должны обрабатываться только с помощью контрольного центра преподавателя.

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


PrevNext

 

Рейтинг@Mail.ru

Разработка сайта:
М. Э. Абрамян, В. Н. Брагилевский

Последнее обновление:
01.01.2024