Опыт разработки студенческого портала факультета КНТ

Идея создания централизованного ресурса для общения между сокурсниками, обмена файлами и новостями посещала многих студентов. Последнее время попыток реализации подобных проектов становится меньше, из-за возросшей популярности социальных сетей. Казалось, последние должны были полностью перехватить все коммуникации благодаря своей открытости, бесплатности, простоте и другим преимуществам. Однако стать подходящим средством коммуникации в учебном процессе им все еще не удается. Причинами тому есть сложности при обмене файлами, проблемы управления доступом, проблемы безопасности, наличием большого объема развлекательного материала.

Осознание необходимости чего-то своего появилось еще в зимнюю сессию на втором курсе. На летних каникулах попытались с одногруппниками создать online-игру. Попытка закончилась неудачей, один лишь энтузиазм не мог быть длительной мотивацией для создания столь сложных вещей. Однако наработки форумного движка остались. С началом нового семестра появилась просто страничка со ссылками на файлы, а 13 октября 2008 года появился полноценный сайт группы с форумом и той же страничкой со ссылками. Форум начал развиваться, как технически, так и наполняясь контентом. Появились поддержка форматирования сообщений, редактирование сообщений, разграничение прав доступа, настройки отображения и т.д. 23 января 2009 года сайт переехал на собственный домен: sp06n.org.ua. Вскоре появилась персональная почта на домене, сервис файлообмена, фотогалерея.

В июле 2009 года понял, что ресурс уже «вырос», пора было расширять аудиторию. Ниша образовательных порталов была свободна, а общение с форума постепенно перетекло в социальные сети и Instant Messenger’ы.

Доклад «Студенческий портал» на конференции ИКТ-2009 получил положительные отклики аудитории, что подтвердило актуальности проблемы и интерес потенциальных пользователей. А уже 18 декабря ресурс был запущен. По сути, он представлял собой переработанный предыдущий движок форума, но с более гибкой системой управления правами доступа.

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

Основные аспекты разработки

Основной сложностью в создании ресурса была его не коммерческая основа: проект развивался на чистом энтузиазме и силами одного человека, а все работы над сайтом велись в свободное время. Основной упор делался на разработку собственного движка, это позволило «расстрелять» целый прайд ;-) зайцев: обеспечить безопасность кода, отличное ориентирование в коде, высокая производительность за счет меньшей универсальности, получить бесценный опыт при разработке. Готовые движки не использовались, прежде всего, из-за необходимости в таком случае хорошо разбираться в их коде, и зависимости собственных решений от выбранного движка.

Сайт (еще сайт группы) сменил несколько хостингов. Сначала они были исключительно бесплатные. Затем попался сомнительный бесплатный хостинг с интригующим названием «kukarella», сомнительный, потому что однажды прекратил свою работу без предупреждения. А затем я решился взять в аренду VDS, чтобы ни от кого не зависеть.

 

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

  • Прежде всего, если планируется создание полноценного сайта, следует сразу обзавестись собственным доменным именем. Домен должен быть зарегистрирован только на вас. В крайнем случае возможно делегирование домена на компанию, которая занимается регистрацией, но с обязательным заключением договора между вами и компанией на право владение доменом.
  • Следующим важным аспектом является выбор хостинга. Если и выбирать бесплатный, то только из числа проверенных временем. В любом случае стоит поинтересоваться отзывами о будущем провайдере. Проверить, насколько понятны вам тарифы и технические конфигурация хостинга. Столкнулся с тем, что у провайдера hostpro.ua конфигурация сервера была выполнена таким образом, чтобы в случае «падения» приложений выполнялись дампы памяти в текущий каталог. Приложения, почему-то, падали очень часто, а дампы заполняли всю дисковую квоту. Пользователь, не разобравшись в чем дело, переходил на более дорогой тариф. А за смену тарифа на прежний взималась приличная пеня, соизмеримая с размером месячной абонплаты.
  • Поинтересуйтесь, как поступает хостер в случае форс-мажорных ситуаций: DoS, DDoS, исчерпание квот, различные хакерские атаки. Такой форс-мажор маловероятен, но наступает в самый неподходящий момент. Блокировка аккаунта и/или одностороннее расторжение договора – не лучшее решение со стороны провайдера.
  • Люди делятся на два типа: те кто еще не делает бекапы, и те кто уже делает.
  • Трафик – не самый дешевый ресурс. Если ваш провайдер предлагает безлимитный тариф для сайта, это еще не значит, что такие же условия и у посетителей сайтов. Сегодня широкополосный Интернет не проник повсюду, и многие пользуются беспроводными решениями с помегабайтной оплатой трафика. Кроме посетителей, «тяжелый» контент не нравится и поисковым системам. Известно, что поисковая система Google со времени своего создания придерживается принципа: любой поисковый запрос будет обслужен не более чем за секунду. Схожие требования она предъявляет и к сайтам. Если время отдачи контента сайтом велико, он может быть исключен из поисковой выдачи или сильно понижен в рейтинге.

Критика ресурсов университета

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

Удивительно, почему такие же требования не предъявляются к ресурсам университета. Например размер станицы центра информационных компьютерных технологий вместе с содержимым превышает 10 МБайт. Непонятно зачем там нужна жуткая анимация их помещений объемом во все те же 10МБ. Размер главной страницы сайта университета обычно колеблется в районе 5 МБайт. Особенно хочется отметить размещение на главной странице изображений, реальный размер которых в десятки (а то и сотни) раз превышает отображаемый.

Однако худшим сайтом, по праву, можно назвать сайт фото-, видео-конкурса к 90-летию ДонНТУ. И даже не в размере страницы в 65 МБайт. Хотя, для пользователей мобильного Интернета это катастрофа. Стоимость мегабайта сегодня колеблется от 0,1 грн. до 10,5 грн., при помощи несложных математических вычислений можно установить, что посещение страницы конкурса пользователю может обойтись примерно от 7 до 700 гривен. Но главной проблемой конкурса стало голосование. Сначала меня удивили рейтинги в десятки тысяч голосов. Но когда посмотрел как организовано голосование, удивил непрофессионализм организаторов.

Голосование за номинацию выполнялось GET-запросом без каких-либо хешей. Достаточно приобрести рекламу на посещаемом сайте и разместить ссылку на скрипт голосования с броским названием (например, «скачать порно бесплатно») и счетчик голосов устремится вперед. Организаторы попытались избежать накруток, поставив ограничение на голосование с одного IP. Но от такой DDoS-атаки с купленным трафиком это не спасет.