Власенко Антон Павлович

Факультет компьютерных наук и технологий

Кафедра компьютерной инженерии

Специальность «Системное программирование»

«Модульная виртуализированная компьютерная система для учебного процесса»

Научный руководитель: к.т.н., доцент Самощенко А.В.

Индивидуальный раздел

Индивидуальный раздел посвящен проектам, в которых я участвовал во время обучения в ДонНТУ.


1. Установка сервера для обслуживания конференций.

Была решена задача подготовки сервера для обслуживания международных конференций, проводимых факультетом КНТ в ДонНТУ. На сервер была установлена операционная система Debian GNU/Linux и программное обеспечение для хостинга веб-сайтов конференций. В 2010 году, перед проведением ИКТ-2010, на сервер был установлен сервис потокового видеовещания, поэтому сейчас каждую конференцию, проводимую факультетом, можно видеть в онлайн режиме на сайте.

Используемые технологии: Debian GNU/Linux, Apache + nginx, MySQL, Wordpress, Red5


2. Установка сервера для научных исследований и модернизации существующих ресурсов.

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

Аппаратная платформа HP Proliant включает в себя высокопроизводительную платформу Intel Xeon, которая не может быть полностью загружена ни одним из существующих проектов на факультете. Таким образом, решался вопрос оптимального использования существующих ресурсов. Было принято решение применить на этой платформе технологию виртуализации, чтобы как можно более эффективно использовать и распределять аппаратные ресурсы.

Среди двух платформ - OpenVZ и Xen, была выбрана последняя, как самая перспективная. Последний год показал, что Xen становится решением де-факто в среде создания виртуализированных и облачных сервисов.

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

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

Используемые технологии: Debian GNU/Linux, Xen, Apache, Squid, WebDAV


3. Генератор отчета о поиске для магистров.

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

Утилита представляет собой онлайн-сервис, где можно ввести до 25 поисковых запросов одновременно. Каждый запрос обрабатывается API поисковых систем, которое возвращает количество страниц, найденных по теме. Особенностью этого приложения является то, что каждый запрос записывается в базу данных, чтобы в будущем служить справкой, если кто-либо запросил те же выражения.

Предположительный адрес будущего сервиса: http://search.donntu.ru

Используемые технологии: Python, Twisted, MongoDB, Twitter Bootstrap, git


4. Интернет-приложение для удаленного запуска FPGA проектов на плате Spartan E3.

Завершаются работы над проектом, который позволит производить прошивку плат Spartan E3 через веб-интерфейс и наблюдать результаты через веб-камеру, которая направлена на плату. Этот проект сделает работу в лабораториях проще и удобнее.

Используемые технологии: Debian GNU/Linux, Apache, PHP, Red5


5. Разработка менеджера виртуальных машин для модульной виртуализированной системы.

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

Утилита разрабатывается специально для использования при построении модульной виртуализированной системы для учебного процесса. В ДонНТУ она будет применяться при администрировании виртуальных машин факультета КНТ.

Утилита имеет графический интерфейс, написанный на популярной библиотеке Qt. Графический интерфейс является полностью опциональным, а движок - кросс-платформенным. Утилита может быть запущена как с GUI, так и в виде модуля, который можно встроить в веб-сайт, в другой GUI, или в другое приложение.

Используемые технологии: Debian GNU/Linux, Xen, Python, PySide (Qt), Paramiko, git


6. Разработка собственного шаблона для сайта магистра.

При разработке собственной страницы магистра код из стандартного шаблона для создания сайтов магистров не использовался. Вместо этого был разработан собственный шаблон, который использует фреймворк Twitter Bootstrap.

Bootstrap представлен компанией Twitter, и именно этот фреймворк используется для оформления всех страниц популярной социальной сети. Фреймворк имеет в базе большое количество различных компонентов. в том числе построенных на библиотеке JQuery. Например, кнопка «Контактная информация» использует компонент modal для создания анимации, верхнее меню - компонент Navbar, блок с ФИО - модифицированный hero-unit.

Фреймворк поставляется с отличной документацией и примерами, которые представлены на его главной странице. Кроме того, фреймворк служит отличным учебным пособием по HTML, CSS, Javascript, позволяя сразу же получать красивые результаты, имея хотя бы минимальные знания по каждой из этих технологий.

Используемые технологии: Twitter Bootstrap, HTML, CSS, Javascript (JQuery)


7. Другие проекты и разработки.

Утилиты для магистров

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

Список утилит:
  1. Отчет о поиске был сгенерирован с помощью собственного сервиса, который указан в 3 пункте данной страницы.
  2. Результаты отчета о поиске были автоматически обработаны специальным скриптом, который подсветил ячейки соответствующим цветом (зеленым или красным), если количество найденных страниц изменилось более чем на 25%. Загрузить исходный код
  3. Список ссылок был собран в файле формата Excel и преобразован в HTML с помощью специальной утилиты. Скрипт определяет какие поля являются заголовками разделов, а какие самими ссылками, после чего извлекает данные и автоматически подставляет их в код страницы «Ссылки». Нумерация также производится автоматически. Загрузить исходный код
  4. Требования безопасности подразумевают статичность всех страниц сайта на портале магистров. Это существенно затрудняет задачу, если нужно отредактировать одни и те же данные на всех страницах (например, актуализировать контактную информацию в pop-up окне) Для решения этой задачи был разработан небольшой скрипт, который позволяет производить изменения на всех страницах одновременно. Пользователь вводит регулярное выражение, в котором описывается блок, который нужно заменить, и заменяющий текст. Взаимодействие с пользователем выполнено с помощью консольных диалогов, поэтому утилитой можно пользоваться без знания командной строки, sed, grep и python; нужна лишь установленная версия python 3. Загрузить исходный код

Перевод статьи "PythonSpeed - PerformanceTips"

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

Используемые технологии: Python 3, Python 2 (xlrd), git