Антиплагиат (1231606), страница 5
Текст из файла (страница 5)
Библиотека jQueryпомогает легко получать доступ к любому элементу ОМ, обращаться к атрибутам и содержимому элементов ОМ,манипулировать ими. Также библиотека jQuery предоставляет удобный API для работы с AJAX.jQuery ведётся командой jQuery во главе с[1]Сейчасразработка[23]Дж оном Резигом.Возмож ности jQuery:– переход по дереву ОМ,включая поддержку XPath как плагина;http://dvgups.antiplagiat.ru/ReportPage.aspx?docId=427.24091261&repNumb=111/2420.06.2016–Антиплагиат[2]события;– визуальные эффекты;– AJAX-дополнения;– JavaScript-плагины.Точно так же, как CSS отделяет визуализацию от структуры HTML, jQuery отделяет поведение от структуры HTML[26].
Например, вместо прямого указания на обработчик события нажатия кнопки, управление передаётся jQuery,которая идентифицируетнажатие и затем преобразует его в обработчик события клика. Такое разделениеповедения и структуры также называется принципом ненавязчивого JavaScript.Библиотека jQuery содержитфункционал полезный для широкого круга задач. Тем не менее, разработчикамибиблиотеки не ставилась задача совмещения в jQuery[1]максимально универсальных функц ий, поскольку э то привело бы к избыточности кода.Поэтому была реализована архитектура компактного универсального ядра библиотеки и плагинов.Технология Asynchronous JavaScript and XML[1]AJAX(от англ.[2]AsynchronousJavascript and XML – «[1]асинхронный JavaScript и XML») – подход к построениюинтерактивных пользовательских интерфейсов[2]web- [19]приложений,заключающийсяв«фоновом» обменеданными браузера с web- сервером [27].
В результате, при обновлении данных web- страница не перезагружается[2]полностью,увеличивается скорость работы web-прилож ений.Без использования AJAX web-прилож ения работают следующ им образом:–пользователь заходит на web- страницу и нажимает на какой-нибудь её элемент;– браузер формирует и отправляет запрос серверу,для обработки данного события;–вответ сервер генерирует совершенно новую web- страницу и отправляет её браузеру и т.д.
После чего браузерполностью[19]перезагружает всю страницу.При использовании[24]AJAX алгоритм работы web-прилож ения изменяется следующ им образом [28]:–пользователь заходит на web- страницу и нажимает на какой-нибудь её элемент;– скрипт (на языке JavaScript) определяет, какая информация необходима для обновления страницы;– браузер отправляет соответствующий запрос на сервер;– сервер возвращает только ту часть документа, на которую[19]пришёл [24]запрос;– скрипт вносит изменения с учётом полученной информации (без полной ��ерезагрузки страницы).[19]AJAX2.2.4– не самостоятельная технология, а концепция использования нескольких смежных технологий.[2]РНР:[7]PHP([11][11]общегоHypertext Preprocessorот англ.
РНР: Hypertext Preprocessor – «[7]PHP: препроцессор гипертекста») – скриптовый языкназначения, интенсивно применяемый для разработкиweb- приложений [29]. В настоящее времяподдерживается подавляющим большинством хостинг-провайдеров и является одним из лидеров среди языков,применяющихся для создания динамических[1]web-сайтов.В области web-программирования, в частности серверной части, РНР – один из популярных сц енарных языков.Популярность в области построения web- сайтов определяется наличием большого набора встроенных средств дляразработки web- приложений.
Основные из них:– автоматическое извлечение POSTи GET-параметров, а также переменных окруженияweb-серверавпредопределённые массивы;– взаимодействие с большим количеством различных систем управления базами данных,[1]например, MySQL;– автоматизированная отправка НТТР-заголовков;– работа с НТТР- [3]авторизацией;– работа с cookies и сессиями;– работа с локальными и удалёнными файлами, сокетами;– обработка файлов, загружаемых на сервер;–[1]работас XForms.[3]PHP-скриптыобычно обрабатываются интерпретатором в порядке, обеспечивающем кроссплатформенностьразработанного приложения [30]:http://dvgups.antiplagiat.ru/ReportPage.aspx?docId=427.24091261&repNumb=112/2420.06.2016Антиплагиат– лексический анализ исходного кода и генерация лексем;– синтаксический анализ полученных лексем;– генерация байт-кода;– выполнение байт-кода интерпретатором ([1]без создания исполняемого файла).[3]Дляувеличения быстродействия приложений возможно использование специального программного обеспечения –так называемых акселераторов.
Принцип их работы заключается в кэшировании однажды сгенерированного байткода в памяти и/[1]или на диске. Таким образом, из процесса работы приложения исключаются этапы 1-3, что вобщем случае ведёт к значительному ускорению работы.[3]Важнойособенностьюпамяти. Ядро[11]РНР является отсутствие необходимости заботиться о распределении и освобождении[1]РНР [3]реализуетсредства для автоматического управления памятью; вся выделенная памятьвозвращается системе после завершения работы сценария.2.2.5 Система управления базами данных[1]MySQL[3]MySQL – свободная реляц ионная система управления базами данных [31].Обычно MySQL используется в качестве сервера, к которому обращаются локальные или удалённые клиенты, однаков дистрибутив входит библиотека внутреннего сервера, позволяющая включать MySQL в автономные программы.Гибкость СУБД MySQL обеспечивается поддержкой большого количества типов таблиц.
Более того, СУБД MySQLпоставляется со специальным типом таблиц EXAMPLE, демонстрирующим принципы создания новых типов таблиц.[3]Обращ ение к СУБД MySQL из сторонних программ осущ ествляется посредством языка SQL.SQL (от англ.structuredquerylanguage–«языкструктурированныхзапросов»)–формальныйнепроцедурныйпрограммирования, применяемый для создания, модификации и управления данными в произвольнойязык[27]реляц ионной базе данных, управляемой соответствующ ей СУБД [32].С развитием лексический состав SQL услож няется посредством добавления новых конструкц ий, управляемых объектов(например, индексов, представлений, триггеров и хранимых проц едур) – приобретаетчерты, свойственные языкам программирования.При всех своих изменениях SQL остаётся единственным механизмом связи между прикладным программнымобеспечением и базой данных.
В то же время современные СУБД, а также информационные системы, использующиеСУБД, предоставляют пользователю развитые средства визуального построения запросов.Использование SQL сводится к формированию всевозможных выборок строк и совершению операций над всемизаписями, входящими в[1]выбранный набор.Выводы по разделуДля разработки модуля подведения итогов соревнований по программированию выбраны описанные выше средства, так каких взаимодействие на текущ ий момент достигло очень высокого уровня.Модуль, реализованный средствами РНР, взаимодействует с базой данных на MySQL сервере, в то время как пользовательчерез web-интерфейс, реализованный средствами HTML и CSS, взаимодействует с сервером, посредством JavaScript, jQuery иAJAX.Иные средства разработки так ж е способны обеспечить подобное взаимодействие, но с некоторыми недостатки, например,низким быстродействием системы или ограниченностью возмож ных функц ий.2.3 Требования, предъявляемые к модулю подведения итоговИсходя из рассмотренных ранее технологий для создания web-сайтов, отображ ать модуль подведения итогов мож нопосредством одной web-страниц ы, содерж ащ ей таблиц у с результатами и меню настроек.Помимо отображ ения таблиц ы с результатами необходимо добиться так называемой «разморозки» э той таблиц ы, то естьпоследовательного заполнения таблиц ы результатами в том порядке, в котором они получались по ходу соревнования.Меню настроек долж но включать в себя следующ ий перечень функц ий:– выбор формата истории посылок;– выбор момента «заморозки» таблиц ы;– обнуление таблиц ы и переход на момент «заморозки»;– регулирование скорости анимац ии «разморозки»;– последовательная или хронологическая «разморозка».
Под хронологической «разморозкой» подразумевается заполнениетаблиц ы результатами в хронологическом порядке. Алгоритм последовательной «разморозки» начинает обработку посылоксамого ниж него участника в таблиц е, у которого ещ е остались «заморож енные» посылки. В случае, если его посылка былауспешной – он поднимается вверх по таблиц е;– пошаговая или автоматическая «разморозка»: то есть «разморозка» по наж атию кнопки или ж е без него соответственно;– включение и выключение отображ ения времени посылок;– включение и выключение отображ ения будущ их посылок;– обработка только последней посылки.История посылок с результатами соревнований долж ны загруж аться с сервера или с ком��ьютера пользователя.http://dvgups.antiplagiat.ru/ReportPage.aspx?docId=427.24091261&repNumb=113/2420.06.2016Антиплагиат3 Реализац ия системы для проведения соревнований по программированию с модулем подведения итогов3.1 Установка и настройка системы для проведения соревнований по программированию EjudgeВ текущ ий момент заказчик – кафедра Вычислительная техника и компьютерная графика, не имеет своего сервера соперац ионной системой Ubuntu Linux.
Поэ тому установка системы Ejudge произведена на тестовую машину.3.1.1 Подготовка рабочей среды для установки EjudgeПодготовка рабочей среды состоит из нескольких шагов [33].Необходимо установить следующ ие сторонние программы и библиотеки:– bison;– flex;– ncurses, ncurses-devel;– expat, expat-devel.Следует создать пользователя ejudge с домашним каталогом /home/ejudge/:# groupadd ejudge# useradd ejudge -s /bin/bash -м -d /home/ejudge -g ejudgeНаходясь в роли пользователя ejudge выполнить установку библиотеки reuse:– скачивать в домашний каталог пользователя ejudge архив с исходными файлами текущ ей версии библиотеки reuse;– в консоли выполнить следующ ее:$ tar -xvzf reuse-VERSION.tgz$ cd reuse/source$ ./configure$ make && make installПомимо э того, в системе долж ен быть установлен web-сервер. Для Ejudge рекомендуется использовать web-сервер Apache2,но так ж е возмож на корректная работа и с web-сервером Apache.3.1.2 Настройка web-сервера Apache2Следуетнайтивконфигурац ионномфайлеweb-серверадирективу<irectory"/usr/lib/cgi-bin">.Фрагментконфигурац ионного файла долж ен выглядеть следующ им образом:<irectory "/usr/lib/cgi-bin">AllowOverride NoneOptions FollowSymLinks IncludesAddOutputFilteryType INCLUES text/htmlOrder allow,denyAllow from all</irectory>Такж е следует добавить в конфигурац ионный файл:AddType text/html .shtmlAddOutputFilter INCLUES .shtmlДля доступа web-сервера к файлам *.css и *.js системы ejudge, а такж е к директории с изображ ениями, необходимодобавить следующ ий фрагмент:Alias /ejudge/ /home/ejudge/inst-ejudge/share/ejudge/style/<irectory "/home/ejudge/inst-ejudge/share/ejudge/style">AllowOverride NoneOrder allow,denyallow from all</[63]irectory>3.1.3 Установка системы EjudgeПредполагается, если не указано иначе, что все действия совершаются от имени пользователя ejudge [34].Сначала нуж но создать каталог /home/judges и назначить ему права пользователя ejudge, набрав в консоли от именипользователя root:# mkdir -p /home/judges# chown ejudge:ejudge /home/judges# chmod 755 /home/judgesДалее следует скачать в домашний каталог пользователя ejudge архив с исходными файлами текущ ей версии ejudge.Для установки ejudge стоит набрать в консоли следующ ие команды:$ tar -xvzf ejudge-VERSION.tgz$ cd ejudge$ ./configure PARAMS$ make && make installОписание параметров PARAMS приведено в таблиц е 1.Таблиц а 1 – Описание параметров установки системы EjudgeПараметрОписание--prefix = /home/ejudge/inst-ejudgeКорневой каталог системы--with-reuse = /home/ejudge/reusehttp://dvgups.antiplagiat.ru/ReportPage.aspx?docId=427.24091261&repNumb=114/2420.06.2016АнтиплагиатКаталог с reuse--enable-contests-home-dir = /home/judgesКаталог для турниров judges--with-httpd-cgi-bin-dir = /usr/lib/cgi-binКаталог cgi-bin сервера Apache2--with-httpd-htdocs-dir = /var/wwwКаталог, содерж ащ ий web-файлы (*.html, *.php, и т.д.)-- enable-ajaxВключает движ ок Ajax для системыТаким образом, команда ./configure будет иметь вид:$ ./configure –prefix = /home/ejudge/inst-ejudge --with-reuse = /home/ejudge/reuse --enable-contests-home-dir = /home/judges -with-httpd-cgi-bin-dir = /usr/lib/cgi-bin --with-httpd-htdocs-dir = /var/www/ --enable-ajaxЗдесь перечислены обязательные параметры для конфигурирования.