Как стать автором
Обновить

Комментарии 34

Сделал себе на коленке за два вечера онлайн-расписание. Из очевидных минусов у меня — расписания автоматически разбираются из Word-документа, и если учебная частьтм правит документ ручками, то и результат будет соответствующим. Думаю надо будет обновлять движок из-за увеличения масштабов данных(появилось больше групп)
<offtop>Хабраэффект в наглядном виде</offtop>
Сразу видно, что человек не заглянул дальше главной страницы. Фамилии преподавателей с названием предметов, дублирующиеся фамилии из-за отсутствующего пробела и прочее — там проблем не обобраться.
Зато сам сайт — REST API, так что «выгрузку» делать это… смешно.
Как исправлю критичные баги и сделаю автосинхронизацию с локальной сетью политеха — так сразу.

Кстати, у нас расписание могут радикально менять несколько раз на неделю. Ваш сервис это учитывает?
вообще учитывает. Если делаем интеграцию, то да, раз в сутки проверяем и сравниваем. Если есть изменения, то уведомляем об этом.
Привет, Ренат.
Я немного проясню ситуацию с расписанием в НГУ. Текущее расписание создается программой составления расписания, написанной в 90-бородатом году и экспорт расписания на сайт был сделан как дополнение. С тех пор прошло уже почти 20 лет, а программой как пользовались так и пользуются, даже люди составляющие расписание не меняются.
У нас в университете используется специализированная УИС («У» — университетская), разрабатываемая здесь же, и содержащая всю необходимую для составления расписания информацию. До лета этого года у руководства не было потребностей в Онлайн-расписании, и потому соответствующий модуль для ИС находился в зачаточном состоянии. Сейчас разработка модуля уже есть в планах.
Кстати, упомянутый список студентов в xml выгружается из УИС.
P.S. Ссылка на расписание лежит на главной странице в блоке «Образование»
Хорошее начинание! Ибо задача-то несложная должна быть.
Автоматизированное составление расписания NP-полная задача (доказано академиком Ершовым, ЕМНИП).
Понятно, что полной автоматизации не добиться. Все также будет сидеть пара человек и составлять расписание, но уже при помощи нового ассистирующего инструмента.
вы так говорите об NP полноте, будто это эквивалентно неразрешимости)
там другие факторы более существенны, например, то что оно не очень-то и меняется из года в год и вряд ли кто-то вообще будет его пересчитывать заново
Я и не говорю о том, что она неразрешима, а только ее сложности.
Насчет неизменности расписания Вы не отчасти не правы. Да, бОльшая часть остается неизменной, но меняются преподаватели и/или их пожелания, вроде «я могу только в среду после обеда и каждую вторую пятницу до обеда».
с точки зрения реализации это задача хорошо известная и есть куча алгоритмов, адаптированных в частности к этому случаю (генетический, имитации отжига и т.д.), также есть куча статей. Кроме того в НГУ есть даже и суперкомпьютер
И к тому же я не думаю, что будет реализован именно составитель расписания. Скорее это будет инструмент помогающий человеку, способный проверить отсутствие коллизий и выполнения формальных требований.
на сколько я слышал, уже не один студент защитился на проектах нового расписания, однако на сайте почему-то до сих пор старое. Это замечательно, что вы поставили ссылку и на самом деле я ожидал, что после того как я сделаю своё расписание, ваш ответ в виде обновлённого расписания НГУ появится довольно быстро, но вот уже полгода прошло (

Ко всему, очень хорошо, что у вас используется специализированная УИС («У» — университетская), но какой смысл был это упоминать?
Проблема в том, что они защищаются, но ни один не пришел и не стал его писать у нас.

Про УИС, чтобы было понятно, что не все так плохо.
Нам бы Ваши проблемы. В МАИ расписание составляется шариковой ручки на бланках образцов 90х годов. Все предложения со стороны студентов перейти на электронное расписание, даже с предоставлением рабочих Web и мобильных прототипов, сваливались в корзину. Обидно даже.
Не поддерживают со своей стороны — можно самостоятельно поддерживать.
Для того, чтобы найти собственное расписание мне приходилось начинать свой путь с главной страницы сайта, переходить на “старый сайт”, затем “информационные системы”, далее “расписание занятий”,
Справедливости ради, это можно сделать проще:
картинка
а есть информация о том насколько давно появилась эта возможность?
примерно полгода назад я обсуждал это со знакомыми и ни у кого не получалось увидеть такую ссылку на главной, только через старую версию сайта
А в чем физический смысл разделять в расписании «студентов» и «студенток». Это же вроде не расписание клуба знакомств?
расписание не разделяется, это статистика, реализованная «just for fun»
Вуз, на самом деле помимо занятий еще и отличный клуб знакомств.:) Так что такая статистика несет еще и глубокое прикладное значение!:)
В УрФУ расписание выглядит так. Это лучшее расписание из тех, которое я когда-либо видел.
О, спасибо за идею для дизайна. Буду придумывать для своего нового что-то похожее
очень понравилось, что можно искать аудитории «с розетками» или «открытые», но по человеку поиск на нашёл
Офигеть!
очень удобное расписание.
Неплохо было бы запоминать группу.
Неплохо было бы сделать подписку на мыло на изменения.
Скрытый текст
Примечательно, что возможность загружать файлы присутствует у всех посетителей.
Просьба не бросаться проверять, поверьте на слово. Незачем там свинарник устраивать.
Как человек из команды разработчиков StudyTime, хочу сказать, что мы были приятно удивлены резко подскочившей посещаемостью за вчера. Сервис в процессе активной разработки, если интересны подробности — можем написать пост, на Хабре есть наш главный разработчик c58, правда он в read-only :)
1. Нельзя вычислять размер массива в цикле:
// а-та-та
for ($k=0;$k<count($s2->student);$k++)


2. Сущность Student однозначно определяют параметры, устанавливаемые в свойства. Равно как и не может быть студента без имени и т.д. Т.е. это должны быть параметры конструктора.

3.
$grouplist=file_get_contents($groupFile);
$dom2 = new domDocument;
$dom2->loadXML($grouplist);

Можно записать как
$xml = new DOMDocument();
$xml->load($fileName);


4. Если файла нет — Exception
file_exists($filename) || throw new \InvalidArgumentException('...')


Согласен с замечаниями, спасибо. Могу исправить если это не считается здесь дурным тоном
Раз тут такая тема пошла, то когда-то давно писал для себя нотифаер, который сообщает на почту об изменении файла с расписанием. Для НГУ.
Вот такой: likhter.ru/misc/checker.sh.txt
такая забавная деталь: я в августе заметил, что последнее изменение расписания было в марте и опубликовал скрин. После этого со страницы убрали дату модификации и надпись «расписание меняется ежедневно» изменили на «обновление происходит дважды в сутки», притом согласно «Last modified» сегодня это дважды ещё не наступало (17-Sep-2013 17:53)
Несмотря на то, что университет для меня уже закончился, скрипт всё ещё продолжает работу (хороший повод наконец его отключить, да :)).
Запускается он у меня один раз в день в 11 часов по Новосибирску. Сейчас посмотрел по входящей почте — изменения указанного в скрипте файлика происходят нестабильно (4, 5, 6, 7, 11, 12, 14-го числа я получал письма). В прочем, припоминается, что в начале семестра всегда так, потом — где-то ближе к октябрю — устаканивается.
Полтора года назад сделал онлайн-расписание на дипломный проект. До этого все через эксель создавалось, и у студентов доступ был только к печатному варианту. Расписание ЧИ БГУЭП
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории