ПРИКЛАДНАЯ ИНФОРМАТИКА ________—
'— Ш2(14) 2008
Студенческая конференция «Современные информационные технологии: проблемы и методы их решения» в Московской финансово-промышленной академии
27 февраля 2008 года в Московской финансово-промышленной академии (МФПА) прошла внутренняя студенческая конференция «Современные информационные технологии: проблемы и методы их решения».
Команда докладчиков в основном состояла из студентов 4-го и 5-го курсов факультета программирования МФПА и ведущих преподавателей вуза, в то время как в качестве слушателей выступали... студенты младших курсов того же факультета (а также факультета информатики). На первый взгляд такой формат мероприятия, проводимого в одном из крупнейших вузов Москвы, может показаться странным, не соответствующим статусу учреждения, узким, искусственно минимизированным, ограниченным или, как минимум, сжатым. Однако подобная точка зрения возможна лишь в том случае, если в расчет не принимаются цели мероприятия и ряд дополнительных аспектов.
Рассмотрим все указанные аспекты подробно.
Состав участников был ограничен лицами, имеющими непосредственное отношение к МФПА, поскольку такое специализированное мероприятие проводилось впервые и необходимо было его, что называется, «обкатать». Сейчас, уже после завершения конференции, можно с уверенностью сказать, что она прошла четко, гладко и лаконично. Организаторы приняли решение проводить конференцию ежегодно, а состав участников расширить за счет приглашенных извне докладчиков.
На мероприятии присутствовали только будущие и нынешние специалисты в облас-
ти информационных технологий. Дело в том, что конференция была специализированной по отрасли разработки программного обеспечения (ПО). В России ежедневно проходит хотя бы одна (а чаще всего не одна) конференция, имеющая отношение к информационным технологиям. Однако «иметь отношение» и «являться специализированной» — разные вещи. Организаторы хотели, чтобы на конференции речь шла не о применении ПО в какой-либо отрасли, не о его продвижении и даже не о его пользе и значении (которые бесспорны и известны каждому), а именно о его разработке. В данном случае сама разработка ПО рассматривалась как отрасль. Таких конференций значительно меньше. Общение же на подобные темы требует специализированных знаний терминологии и технологий, поэтому состав участников был ограничен (впрочем, вход был свободным).
Проведение конференции, как обычно, преследовало сразу несколько целей, хотя не все из них были стандартными.
Как было отмечено, основной состав докладчиков представляли студенты старших курсов факультета программирования, т. е. нынешние и будущие дипломники, которым предстоит итоговая государственная аттестация в форме защиты дипломного проекта. Защита, как известно, предполагает доклад, поэтому выпускникам особенно показаны «тренировочные» публичные
127
N92(14)2008
I
со
I
I
I
I
I
выступления. В данном случае они выступали перед всем факультетом (причем своим), и, следует сказать, это дало ощутимые плоды, но и повод для размышлений. Были ясно видны все плюсы и минусы выступлений: их сильные стороны, а также недостатки в проработке материала (особенно это было заметно в ходе неожиданно возникших бурных дискуссий), в оформлении презентаций и даже в манере выступления (например, некоторые докладчики выглядели вялыми, в то время как другие вели себя по отношению к аудитории чрезмерно агрессивно). Конечно, манера выступления часто обусловлена темпераментом субъекта, но, как правило, она поддается значительной корректировке, а для этого необходим опыт.
По отзывам аудитории, слушатели вынесли много полезного из этого мероприятия. Студенты младших курсов получили представление о том, какие темы и проекты разрабатываются старшекурсниками, какие технологии применяются в современных разработках и т. п. Возможно, это заставит их задуматься над тем, в какой области они будут специализироваться. Конечно,рано или поздно администрация факультета программирования и заведующие выпускающими кафедрами помогут с этим определиться, но ведь лучше раньше, чем позже. Кроме того, самостоятельный, осознанный выбор специализации и направления работы все-
Рис. 1. Преподаватели и студенты факультета программирования
Рис. 2. В.В.Артюхин, к.э.н., доц., декан факультета программирования
гда более продуктивен, поскольку наличие свободы выбора стимулирует творческий потенциал любого человека. Кстати, необходимо отметить, что по ряду технологий слушатели демонстрировали уровень знаний, не уступающий таковому у докладчика, что приводило к жарким предметным дискуссиям (рис. 1).
Наконец, конференция преследовала объединяющую цель. В своем вступительном слове декан факультета программирования МФПА Валерий Викторович Артюхин (автор данного репортажа) сказал: «Конечно, студенты всех курсов и специальностей общаются в рамках научных кружков, а также на дискотеках и в других местах за пределами академии, но, по-моему, мы впервые собрались всем составом факультета ради столь нужной конференции, служащей интересам нашей общей науки и вашего образования!»
Доклады на конференции «Современные информационные технологии: проблемы и методы их решения» показали широту интересов выступавших, а также глубину и качество их знаний и навыков. Приведем тезисы наиболее интересных выступлений.
Темой работы студента 5-го курса Михаила Невского стало создание интерактивной рекламы с применением современных технологий разработки ПО (иными словами, создание компьютерной игры в целях рекламы). Главной здесь была попытка связать маркетинг и рекламу с миром фантазии и выдуманной реальности с применением игровых технологий (рис. 3).
В своем докладе М. Невский рассказывал:
128
Nq2(14)2008
Рис. З. M. Невский, студент 5-го курса
«Обычная реклама, в которой потенциальному потребителю навязываются или предлагаются те или иные товар или услуга, давно всем надоела — набила оскомину. Другое дело, если рекламу преподнести как некую игру. Например, рассмотрим рекламу домов, на которой и сосредоточена данная работа. Мы можем создать виртуальные трехмерные дома, а также создать для пользователя персонажа, который будет бегать по созданному миру, рассматривать эти дома, изучать обстановку в них, общаться с другими персонажами, т. е. с NPC (Non-Playable Characters — неигровые персонажи, управляемые компьютером). Он будет получать информацию об этих домах и предметах обстановки и впоследствии на основе полученных сведений сможет совершить реальную покупку.
Для того чтобы реализовать подобный продукт, в первую очередь необходимо создать игровой движок (англ. engine — двигатель или движок. — Прим. ред.) или воспользоваться готовым. На сегодняшний день на рынке имеется большое количество готовых движков, однако большинство из них дороги или чрезвычайно дороги — все зависит от того, какие аппаратные и программные графические технологии ими поддерживаются. Нам необходимо что-либо не столь затратное. Если осуществить систематизированный поиск по Интернету, то можно обнаружить довольно много движков, не являющихся самыми новыми, но поддающихся модификации, они дешевые либо даже бесплатные. Именно бесплатными движками я и предлагаю воспользоваться.
Наиболее популярными бесплатными движками на сегодняшний день являются:
• Ogre3d (www.ogre3d.org). Позиционируется как графический движок. Поддержи-
вает компиляторы Visual C++ б, Visual C++. Net;
• Genesis3d (www.genesis3d.com). Работает с Visual C++ б, Borland C++, Delphi, Visual Basic;
• Storm3d (http://storm3d_engine.php0h. com);
• Qvision (это бесплатный модифицированный игровой движок Quake 2, исходные коды которого id Software выпустила в 2001 году. Скачивания и модификация возможны в соответствии с GNU General Public License. Инициатором разработки (совместно с группой из семи разработчиков) стал Victor Luchits, известный под псевдонимом digima. Проект написан на языке C (Си), его можно использовать как на Windows-платформах, так и на Unix. Движок также позволяет загружать графику (уровни, модели, текстуры) из Quake 3);
• gemRB (http://linux.prinas.si/gemrb/doku. php);
• а также Torque Engine, на котором, чуть позже, мы остановимся подробнее.
Помимо движка, необходим инструмент для создания качественных текстур, чтобы у пользователя не возникло ощущения дешевизны проекта (проще говоря, "халтуры"). Для создания текстур могут, в частности, применяться следующие продукты:
• Adobe Photoshop (www.adobe.com) — этот продукт хорошо всем знаком, но несколько труден в освоении, если требуется работать с текстурами;
• TextureMaker (www.texturemaker.com) — программа имеет не меньшие, а в некоторых аспектах, касающихся текстур, даже большие возможности, чем предыдущая, причем создавать текстуры с ее помощью можно значительно проще и быстрее;
• MapZone2.6 (www.mapzoneeditor.com) — программа основана на запатентованной технологии FXMaps и дает возможность редактировать процедурные текстуры, создавая диффузные карты, карты нормалей и отражения. Такие карты не зависят от разреше-
129
№2(14) 2008
ния и являются бесшовными, т. е. могут быть свободно нанесены на любую модель независимо от ее геометрических особенностей.
Следующий аспект, о котором следует позаботиться, это выбор инструмента для создания моделей и анимации. Программных продуктов очень много, перечислим самые популярные:
^ • 3DsMax; § • Maya;
^ • Blender (www.blender.org) — поддер-
é живает шейдеры, осуществляет разворачи-
g вание UV-карт, создание анимации, визуа-
lu лизацию (рендеринг), а также физику час-
g тиц и создание игрового приложения в ре-
з альном времени; £ • AC3Modeller.
SÍ
ц Для того чтобы наше приложение (как
[Ц и любое другое интерактивное) производило на пользователя комплексное впечатле-
^ ние и откладывалось в памяти, необходимо
¡I дополнить изображение на экране аудио-
si рядом, т. е. мелодиями, голосами и звуками.
¡3 Реклама чаще всего запоминается нам имен-
§ но по своему аудиоряду, в частности, по
! различным песенкам-слоганам (в англий-
Ц ском языке для них есть термин jingle, кото-
J рый не переводится на русский. — Прим.
ред.). Основными программными продукта* ми, применяемыми для создания звукового
! сопровождения, являются: %
I
• SoundForge — наиболее полноценный <§ продукт из всех приводимых, позволяет вы-§ полнять практически любые задачи по рабо-jc те со звуком. Остальные программы пред-tu назначены для отдельных задач, поэтому g используются, как правило, в комплексе;
Sí • Awimedia Powerful Audio Tool; IS • Antechinus Audio Editor; =E • Tec Sound Recorder (программа для Ц записи звука);
• ReFX Nexus VSTi (cинтезатор для Windows и Mac OS X).
130
Итак, для создания игровой программы в целях интерактивной рекламы были выбраны следующие программные продукты:
• движок Torque Engine — включает язык TorqueScript, синтаксис которого схож с синтаксисом C++. Имеет встроенный редактор с возможностью управления мультитексту-рированием и освещением. Поддерживает возможность импорта файлов MAYA, 3DStu-dio MAX, LightWave, Blender, MilkShape и других программ. Присутствует возможность обсчета физики объектов. Способен работать по многопоточным алгоритмам расчета теней. Позволяет использовать многие другие возможности современной трехмерной графики;
• Paint Shop Pro — применяется для создания текстур. Разработана компанией Corel. Является одной из профессиональных программ для работы с изображениями. Позволяет работать с фотографиями и текстурами, включая применение различных эффектов (грифель, карандаш, кисть, стекло и т. д.);
• MilkShape 3d — включает скелетный аниматор. Применяется для создания моделей с малым числом полигонов;
• QUARK — применяется для создания интерьеров. Это редактор карт для таких игр, как Quake 1, 2, 3, Heretic 2, Hexen 2, Sin, Soldier of Fortune и многих других. Позволяет осуществлять предварительный просмотр карты в различных режимах перед ее созданием;
• Audacity — используется для создания и редактирования звуков в игровом приложении. Это свободно распространяемый, простой в пользовании звуковой редактор для Windows, Mac OS X, GNU/Linux и других операционных систем. Audacity можно использовать для записи звука, оцифровки аналоговых записей (кассеты, грампластинки), редактирования файлов в различных форматах (Ogg Vorbis, MP3 и WAV), физического редактирования нескольких файлов (вырезание, склейка, сведение), изменения скорости и высоты тона записи.
№2(14) 2008
Несколько слов хотелось бы сказать об экономической эффективности данного проекта. Если рекламный ролик сложный, т.е. включает компьютерную графику или другие технологии, то цена его начинается от 500 тысяч. Средняя зарплата программиста, естественно, ниже этих сумм, к тому же мы не несем никаких затрат на закупку специального программного обеспечения. Для реализации подобного проекта потребуется 3-4 программиста средней квалификации. Размещаться такой продукт может в Интернете — например, в качестве "довеска" к более крупным программным продуктам».
Тема работы студента 4-го курса Петра Соколова помимо разработки ПО включает инженерный компонент. Речь идет о построении полноценного мобильного аппаратно-программного комплекса, предназначенного для приема и расшифровки сигналов различных датчиков, фильтрации входящих данных и оценки погрешности работы датчиков в реальном времени (рис. 4).
Приведем несколько тезисов докладчика.
«В настоящее время на отечественных самолетах устанавливаются зарубежные датчики, необходимые для оценки их состояния и управления. Следует отметить, что подобными датчиками часто оснащены и автомо-
Рис. 4. П. Соколов, студент 4-го курса
били. Однако отечественные датчики используются в единичных случаях, поскольку производятся (если вообще производятся) в очень малых количествах.
Тем не менее отечественная промышленность развивается, в частности, и в области высоких технологий. Компании-производители остро нуждаются в программах и технологиях оценки погрешностей работы своих датчиков перед запуском их в промышленное производство.
Для такой проверки необходимы:
• в первую очередь сами датчики;
• аппаратное обеспечение (в частности, процессор или процессоры), с помощью которого осуществляются расчеты на основе получаемых от них данных;
• интерфейс между этими двумя компонентами;
• программное обеспечение, с помощью которого осуществляются связывание компонентов воедино, анализ информации, получаемой от датчиков, фильтрация сигналов, а также оценка погрешности работы.
Для данной разработки было принято решение использовать датчик угловой скорости "Оптолинк" ОИУС-1000, а в качестве аппаратной платформы, непосредственно взаимодействующей с ней, — процессорную плату PC-104. Выбор PC-104 обусловлен следующими факторами:
1) обработка информации от датчика должна происходить, по сути, в реальном времени, а PC-104 вполне может нести на себе Intel Pentium или Celeron, что позволяет быстро производить расчеты;
2) компания-производитель "Оптолинк" имеет ряд филиалов и заинтересована в создании именно мобильного комплекса. Процессорная плата PC-104 имеет размер 9х11 см и малую массу, что, безусловно, полезно при транспортировке или полевых испытаниях датчиков в самолете. Применение в качестве аппаратной платформы стандартного системного блока персональ-
131
Нв2(14) 2008
1
S ü £
I
SÍ
5
§
1 I
Ü I
i t
I t
Ü
i
I 00
0 U
¡I
f §
¡5
1
n
ного компьютера типа Mini Tower или Midi Tower в таком случае нецелесообразно из-за его значительных веса и габаритов;
3) наконец, несмотря на то что каждая плата типа PC-104 обладает малой функциональностью, комплекс может наращиваться по высоте за счет присутствующего на каждой плате 104-пинового (104 pin) разъема ISA. Одна плата может содержать процессор, другая — порты ввода-вывода, третья — видеоплату с видеовыходом и т.д. Подобный высокотехнологичный "бутерброд" можно увеличивать до достижения необходимой функциональности. В результате такого расширения можно получить полноценный компьютер.
В качестве операционной системы для комплекса после тщательного анализа была выбрана QNX Neutrino. Это операционная система реального времени весьма экономична по затратам памяти.
В качестве интерфейса между PC-104 и ОИУС-1000 по протоколу с контролем четности SSP2.1 использовалась витая пара из двух проводов с промышленным названием RS-485.
Для обработки поступающей от датчика информации — а она каждый квант времени поступает с шумом и погрешностью — использовались алгоритмы сглаживания и фильтрации.
В целом функциональность комплекса, к которому подключен датчик, заключается в медианной фильтрации, оценке погрешности по методу и организации системы ввода-вывода (т. е. взаимодействия с датчиком). К такому комплексу может быть подключено несколько различных датчиков — например, наряду с датчиком угловой скорости планируется одновременное подключение датчика ускорения».
Студент-дипломник Владимир Иванов рассказал о технологиях, применяемых при разработке современных интернет-магазинов, а также об особенностях разрабатываемого им программного обеспечения интернет-магазина достаточно оригинального типа (рис. 5).
Рис. 5. В.Иванов, студент-дипломник
«Ни для кого не секрет, что за последние годы в сети появилось множество интернет-магазинов. Пользуясь ими, можно сэкономить время, сделав заказ прямо через Web-ин-терфейс или по телефону.
Интернет-магазин, о котором пойдет речь, продает виртуальные вещи. Сегодня сеть используется не только для работы и общения, но и для развлечений. В частности, существует множество многопользовательских онлайн-игр — например, игр в жанре RPG (от англ. Role Playing Game — ролевая игра). В таких играх пользователь создает свой персонаж на основе выбранных им характеристик: класс, поле, внешний вид, характеристики (сила, ловкость, интеллект и т.д.) и навыки. С помощью этого персонажа пользователь путешествует по огромному виртуальному миру. В ходе выполнения специальных заданий, или квестов, и стычек с "врагами", кем бы они ни были согласно фабуле конкретной игры, персонаж пользователя получает опыт, а также новые предметы экипировки. И то и другое влияет на повышение его характеристик.
Такие онлайн-RPG, как World of Warcraft, Everquest 2, Line Age 2, Ultima Online и др., насчитывают сотни тысяч и миллионы пользователей по всему миру. Существует несколько категорий игроков: случайные, нерегулярно играющие, регулярно играющие и резиденты (играющие каждый день по нескольку часов). Любая онлайн-игра описываемого жанра в первую очередь рассчитана на игроков третьего и четвертого типов. Это объясняется следующим:
1) разработка и развертывание крупного проекта онлайн-игры обходятся для компании очень дорого, поэтому он производится
132
с отнюдь не альтруистскими целями: пользователи платят за игру на серверах компании, как правило, на ежемесячной основе;
2) виртуальные миры настолько огромны, количество квестов, "врагов" и других игроков так велико, что играя, скажем, 2 часа, вы и тысячной доли всего заложенного разработчиками ассортимента не изучите. Таким образом, многопользовательская игра затягивает, пользователь может играть в нее очень долго, если не бесконечно.
Поиск определенных предметов экипировки может занять продолжительное время, а легендарные и уникальные вещи встречаются, вообще, крайне редко. Обладание же такими вещами важно для регулярно играющих и особенно для резидентов. Часто пользователи идут на обмен предметами или на их покупку-продажу внутри игры. Однако некоторая (и довольно немалая) часть игроков готова покупать виртуальные предметы за реальные деньги (или покупать виртуальную валюту за реальные деньги, т.е. производить конверсию). Такие сделки давно практикуются между игроками, кроме того, растет популярность специализированных интернет-магазинов.
Разрабатываемый интернет-магазин позволяет приобретать виртуальные вещи для онлайн-игры, создаваемой в настоящий момент, с оплатой через WebMoney или Яндекс-деньги.
Для создания сайта интернет-магазина, как и для других типов интерактивных Web-сайтов, применяется множество технологий. Рассмотрим кратко некоторые из них:
• HTML (от англ. Hyper Text Markup Language — язык гипертекстовой разметки документов) является фундаментальной, базовой технологией Интернета. HTML служит в качестве цемента, соединяющего элементы страницы. Практически все содержимое Web-узлов, которое отображается на экране подключенных к Интернету компьютеров, является набором документов, содержащих код HTML.
№2(14) 2008
• Зачастую у Web-дизайнера возникает необходимость применить в процессе создания HTML-документа сложное форматирование — от абзаца к абзацу менять шрифт, расположение текста, его цвет, формировать различные таблицы данных. Эту проблему можно решить с помощью стандартных средств HTML: описывать каждый абзац отдельным набором многочисленных тэгов, но в этом случае итоговый документ будет иметь большой размер, да и само создание кода становится весьма трудоемкой работой. Можно пойти другим путем: подключить к странице внешний файл (или вставить прямо в код HTML специальный блок), выполненный в стандарте CSS (от англ. Cascading Style Sheets — каскадные таблицы стилей), в котором с помощью специального макроязыка один раз задать связь между тэгом (например, "<h1>", "<р>" и др.) и форматом (шрифт, цвет и т.д.) текста, на который он влияет. Другими словами, файл CSS выполняет роль некоего шаблона, применяемого для форматирования текста, таблиц и иных элементов в документе HTML. Можно подключать один и тот же физический файл CSS к различным Web-страницам сайта. CSS можно использовать практически на любом сервере без каких-либо ограничений.
• Язык программирования Java разработан около 14 лет назад компанией Sun Microsystems. По синтаксису близок к хорошо знакомому программистам С++, однако по архитектурным составляющим имеет ряд фундаментальных отличий. Например, в Java отсутствует возможность работы напрямую с указателями, отсутствует оператор goto, byte-код, генерируемый транслятором с языка, является интерпретируемым и т.д.
• Наряду с апплетами (т. е. приложениями Java в byte-коде, ссылки на которые вставляются в Web-страницы) активно используется язык JavaScript. Последний, имеясинтак-сис Java, позволяет интегрировать фрагменты кода — скрипты или сценарии непосредственно в исходный текст HTML-страницы и за счет выполнения на клиентской стороне самим Web-браузером и взаимодействия
133
№2(14) 2008
с его объектной моделью значительно расширять возможности документа.
• VBScript (Visual Basic Script) — язык, разработанный компанией Microsoft, по функциональности аналогичен JavaScript с той лишь разницей, что его синтаксис заимствован из языка Visual Basic производства той же компании. Среди разработчиков язык VBScript популярен несколько меньше, поскольку интерпретатор с этого языка имеется только у браузеров Microsoft Internet Ex-
^ plorer. Значительно большее распростра-
§ нение он получил как основа для серверной
^ технологии ASP. 00
• Технология Flash может применяться ig для интерактивного взаимодействия с поль-lu зователем, но чаще используется "для кра-g соты". Технология включает инструменты з для создания Flash-презентаций, содержа-£ щих векторную графику, а также специаль-I ные проигрыватели, устанавливаемые на ц стороне клиента в виде отдельного прило-[Ц жения или компонента Web-браузера.
• Технология CGI (англ. Common Gates' way Interface — Общий шлюзовой интер-| фейс) подразумевает использование в со-I ставе ресурса Интернета интерактивных ¡3 элементов на базе приложений, обеспечила вающих передачу потока данных от объекта ! к объекту. Именно так во Всемирной сети § организовано большинство чатов, конфе-J ренций, досок объявлений, гостевых книг, ■1. поисковых машин и систем подсчета рей* тинга. В общем случае принцип работы CGI ig выглядит следующим образом: пользова-I тель заполняет на Web-страничке ту или
иную форму и нажимает на специальную
<§ кнопку, после чего встроенная в код HTML
§ строка вызова CGI-скрипта передает дан-
ig ные формы на сервер, где запускается со-
<ц ответствующая программа обработки ин-
g формации. Для написания CGI-скрипта мо-
i гут применяться языки Perl или PHP.
Ig • SSI (англ. Server Side Includes — сервер-
ig ные включения) — технология, тесно взаи-
Ц мосвязанная с CGI. На основе макроязыка, очень напоминающего С, SSI позволяет реализовать такие возможности, как вывод в до-
134
кументе того или иного текста в зависимости от определенных условий или согласно заданному алгоритму, формировать файл HTML из динамически изменяющихся фрагментов или встраивать результат работы CGI в какой-либо его участок.
• РНР (от англ. Personal Home Page tools — инструменты для персональных домашних страниц) — это интерпретируемый язык, предназначенный для добавления к Web-страницам элементов интерактивности. Код, написанный на языке РНР, встраивается в документ HTML подобно подпрограмме: в тот участок документа, где необходимо разместить интерактивный элемент, просто вставляется сценарий РНР. Сервер, передавая клиенту HTML-страницу, «натыкается» на PHP-скрипт и выполняет его, после чего передает клиенту результат и оставшуюся часть страницы. Методики, которые позволяют серверам корректно распознавать файлы, содержащие скрипты РНР, различны и зависят в первую очередь от типа конкретного сервера. Считается достаточным назначить такому файлу расширение .php, иногда — с добавлением номера версии используемого языка (например, .php2 или .php3). Технология РНР позволяет организовать на Web-странице счетчик посещений, подсчитывать статистику обращений к тем или иным разделам сайта, защитить доступ к какому-либо HTML-доку-менту паролем и многое другое.
• Язык Perl по функциональности аналогичен PHP. Значительную часть Perl составляет работа с регулярными выражениями, которые осложняют его освоение.
• ASP (от англ. Active Server Pages — активные серверные страницы). Для того чтобы сделать Web-страницу интерактивной с применением технологии ASP, необходимо встроить в ее код соответствующий скрипт, написанный на VBScript. Сценарий (оформленный специфическим образом во избежание передачи его текста клиенту) распознается, интерпретируется и исполняется непосредственно на сервере (по аналогии с PHP), после чего пользователь-
Нв2(14) 2008
Рис. 7. А. Попова, студентка 5-го курса
ся внутренней для компании-заказчика (лидера по поставке банкоматов и терминалов самообслуживания на российском рынке).
Доклад студентки Ирины Руссу (рис. 8) на тему «Разработка автоматизации служб клиентских запросов для комплекса управления взаимодействием с клиентами CLARIFY» также содержит внутреннюю информацию компании.
Рис. 8. И. Руссу, студентка 5-го курса
Рис. 6. Главное окно интернет-магазина
скому браузеру отправляется уже готовый HTML-документ с результатами работы сценария ASP. Таким образом, для страниц, содержащих ASP, не имеет значения, какое программное обеспечение установлено на пользовательском компьютере. Зато принципиальное значение имееттип сервера,на котором планируется использовать ASP, поскольку отнюдь не все они поддерживают данную технологию.
Сайт интернет-магазина виртуальных предметов, о котором идет речь (рис. 6), разрабатывается на основе технологий CGI, PHP и JavaScript».
Анастасия Попова (рис. 7) представила доклад на тему «Комплекс бизнес-приложений на терминалах самообслуживания: реализация принципов декларативного программирования уровня представления». К сожалению, мы не можем разместить тезисы ее доклада в нашем журнале, поскольку информация, содержащаяся в нем, являет-
Студент 5-го курса Иван Соколов рассказал о своем проекте разработки портала универсальных справочников с применением многопользовательской системы ограничений на базе технологии ASP.NET AJAX (рис. 9).
Приведем основные тезисы доклада.
«ASP.NET AJAX построен на основе .NET Framework 2.0 и добавляет функциональность, позволяющую эффективнее использовать возможности клиентского Java-Script-кода и объекта XmlHttpRequest. Он включает серверную часть, которая упрощает модернизацию существующих приложений ASP.NET, а также библиотеку клиентских сценариев, используемую элементами управления и сервисами Atlas.
Используемая технология Microsoft .NET Framework представляет модель программирования для платформ .NET. .NET Framework предоставляет среду управляемого исполнения, возможности упрощения разработки и развертывания приложений, а также возможности интеграции в одном приложении элементов, разработанных на разных языках программирования.
1
и
Рис. 9. И. Соколов, студент 5-го курса
135
Nb2(14) 2008
1
I ü £
I
5
§
1 I
ü i
£
t I t
Ü
i
I 00
и t
f §
¡5
I
Ii
К преимуществам использования AJAX можно отнести следующее:
• экономия трафика — использование AJAX позволяет значительно сократить трафик при работе с веб-приложением благодаря тому, что часто вместо загрузки всей страницы достаточно загрузить небольшую изменившуюся часть;
• уменьшение нагрузки на сервер — AJAX позволяет несколько снизить нагрузку на сервер. Например, в Gmail, когда отмечаете прочитанные письма, серверу достаточно внести изменения в базу данных и отправить клиентскому скрипту сообщение об успешном выполнении операции, вместо повторного создания страницы и отсылки ее клиенту;
• ускорение реакции интерфейса — поскольку нужно загрузить только изменившуюся часть, пользователь видит результат своих действий быстрее.
Таким образом, реализуя портал универсальных справочников (а они действительно могут иметь любое назначение) по указанным технологиям, получаем более эффективное решение, чем те, которые существуют на текущий момент».
Темой работы студента 5-го курса Вячеслава Комракова стала разработка программного обеспечения защиты информации от несанкционированного доступа на основе протокола CHAP (рис. 10).
Приведем основные тезисы автора.
«Многие предприятия и офисы фирм пользуются внутренними сетями. В этом случае пользователи обращаются к внутренним серверам, на которых хранятся различные данные, например данные бухгалтерии. Такие сети часто бывают весьма уязвимы извне, поскольку имеют свои нюансы (незашифрованные данные, открытый доступ, те или иные открытые порты и т. п.).
Мы хотим реализовать сеть с дополнительным сервером с подключением пользователей по типу VPN. Если пользователь хо-
Рис. 10. В. Комраков, студент 5-го курса
чет получить доступ в Интернет, он вводит пароль и получает этот доступ на некоторый период времени. Собственные данные предприятия не используют этот сервер, они хранятся независимо на другом сервере. Данные подключения пользователя шифруются с использованием протокола CHAP, с которым все не так просто, как может показаться на первый взгляд. Схема работы включает шифрование логина пользователя 128-битным алгоритмом хэширования данных MD5 с использованием его пароля.
Алгоритм MD5 включает несколько этапов, или циклов, шифрования и устойчивость хэша, который в результате сильно зависим от исходного пароля. В своей работе мы увеличили количество этих циклов (взяв за основу исходные тексты операционной системы Unix Free BSD), что увеличило длину хэша и повысило устойчивость криптосистемы. Однако это не снимает с пользователей ответственности за выбор сложного пароля, содержащего помимо букв и цифр еще и специальные символы».
В рамках конференции выступили и преподаватели МФПА. Одним из нетривиальных выступлений стал доклад преподавателя кафедры иностранных языков Татьяны Алисаговны Соколовой (рис. 11).
136
№2(14) 2008
Как преподаватель, отвечающий за языковую подготовку программистов, Т.А. Соколова давно уже стала для факультета программирования «своей». Она осветила ряд аспектов, касающихся особенностей и стандартов специализированной подготовки ИТ-специалистов в области английского языка (см. ее статью, размещенную в данном номере журнала), а кроме того, рассказала о перспективах научных исследований, объединяющих лингвистику и информационные технологии.
«Сегодня, как вы видите, существует разрыв между дисциплинарными направлениями, между науками — например, между лингвистикой и программированием. Существует виртуальная жизнь одной, которая абсолютно независима от другой. Часто то, что позиционируется как программа изучения иностранного языка, на поверку имеет смещенные акценты в область бизнеса, финансов, экономики и прочего. Именно этот разрыв мы и преодолеваем, пытаясь дать возможность каждому реализоваться в своей профессии. Например, в течение двух лет мы реализуем проект дополнительного образования ТОЕ1С+1Т, который позволяет студентам ИТ-специальностей общаться в профессиональной среде на уровне международных стандартов.
Что такое язык сегодня, каким он должен быть — мы должны решить с вами вместе, никто не предлагает готовых справочников. Например, студенты в моих группах уже выполняют научные работы на тему эквивалентного перевода терминов в различных областях с английского языка на русский и наоборот. Это вообще удивительная область, перспективная для дипломных и научных работ. Помимо эквивалентности перевода, актуальны исследования в области компьютерного сленга, словообразования и прочего. Например,
Рис. 11. Т.А. Соколова, преподаватель кафедры иностранных языков
можно ли создавать свои неузнаваемые и нечитабельные понятия и термины и вводить их в жизнь, а главное — стоит ли это делать? Приглашаю вас к активному участию в разработке этих тематик».
Рис. 12. И.А. Нестеров,
к.т.н., заведующий кафедрой системного программирования
В завершение конференции с заключительным словом выступил один
из ее организаторов — к.т.н., заведующий кафедрой системного программирования Игорь Александрович Нестеров (рис. 12).
«Уважаемые коллеги! По-другому я уже не могу вас называть.
Наша профессия очень интересна, потому что мы постоянно находимся на ключевых направлениях развития научного прогресса. У вас есть очень мощный инструментарий для исследования окружающего мира: это математика, программирование, это весь тот комплекс знаний, который позволяет исследовать не только экономику, как делают экономисты, не только людей, как делают психологи, — вы можете исследовать любую область. Вы видите: круг тех задач, доклады о которых были заслушаны сегодня, очень широк.
Если вам интересна какая-то конкретная область или задача, приходите к нам. Мы поможем вам вникнуть и изучить ее, а такие конференции (мне очень понравилась та веселая, спокойная и доброжелательная атмосфера с всполохами дискуссий, которая царила у нас сегодня) как раз и создаются для того, чтобы вы могли обменяться результатами своих исследований с коллегами».
Следующая общая специализированная конференция факультета программирования МФПА состоится в I квартале 2009 года.
Материал подготовил Артюхин В.В.
137