Все участники 404 фестиваля на одной странице

в 12:25, , рубрики: 404fest, Веб-разработка, Мероприятия, фестиваль 404, метки: , ,

Все участники 404 фестиваля на одной странице

Уже совсем скоро начнётся очередной 404 фестиваль. К его открытию я подготовил страницу, на которой собрал всех участников, чтобы они могли узнать друг друга в лицо ещё до начала фестиваля: antonshein.ru/404fest (осторожно, за ссылкой прячется трафик).

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

Ценность любого мероприятия состоит не только в читаемых на нём докладах и проводимых мастер-классах, но и в людях. Чем с большим количеством людей удалось познакомиться на мероприятии — тем лучше.

С новыми людьми гораздо легче знакомиться, если где-то их уже видел и что-то о них знаешь. Для этого на официальном сайте 404 фестиваля есть страница с участниками: 2012.404fest.ru/members.

Но читать сухой список скучно, и просмотреть таким образом более 700 участников практически невозможно.

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

Кроме того, зарегистрированные участники могут добавлять друг друга в избранное, и видеть кто добавил в избранное их. Это дополнительно снимает барьер при личном общении. Так как в таком случае, как минимум всегда есть тема для начала разговора.

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

Технические тонкости

Сама техническая реализация простая как пень. Сначала парсится страница участников 2012.404fest.ru/members/, после чего парсится информация каждого участника из списка. После чего остаётся только сохранить данные в базу и вывести их.

На этом можно было бы и закончить, но есть пара интересных моментов.

Юзерпики

В прошлом году я делал первую версию такой страницы и юзерпики участников просто брал с сайта организаторов. После чего сайт организаторов достаточно быстро упал.

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

Поэтому все превью юзерпиков были объединены в спрайты по 100 картинок в каждом. Всего получилось 8 картинок вроде этой:
Все участники 404 фестиваля на одной странице

Выдержит ли такая конструкция хабраэффект — скоро станет ясно. :)

Пол

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

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

Таких нехитрых мер хватило, чтобы рассортировать участников по полу. Но я не исключаю, что где-то закралась ошибка. Так что если вдруг система вас распределила не туда — дайте знать, я сразу поправлю. :)

Ручная обработка данных

Участники — не роботы, и вводят данные небрежно. Поэтому при группировке нельзя полагаться просто на строковое сравнение и приходится отрабатывать много вариантов вручную.

Например, для группировке по городу, его название приходится обрабатывать так:

function getCity(sRaw) {
    var sCity = $.trim(sRaw);
    var aCityTranslate = {
        'Yekaterinburg':'Екатеринбург',
        'г. Отрадный':'Отрадный',
        'Tolyatti':'Тольятти',
        'Novokuybuyshev':'Новокуйбышев',
        '55.895386,37.597364':'Москва',
        'Tula':'Тула',
        'ПГУ, Ижевск':'Ижевск',
        'Inc., Самара': 'Самара',
        'г. Самара': 'Самара',
        'Yoshkarola': 'Йошкар-Ола',
        'Zhigulevsk': 'Жигулёвск',
        'Cамара': 'Самара',
        'LLC, Самара': 'Самара',
        'Novomoskovsk': 'Новомосковск',
        '':'Неизвестинск'
    }
    sCity = aCityTranslate[sCity]?aCityTranslate[sCity]:sCity;
    return sCity;
}

Такие же списки используются для группировки по компаниям и профессиям, только в них гораздо больше элементов.

В остальном всё достаточно просто и по рабоче-крестьянски. Но если какие-то моменты интересны — спрашивайте, постараюсь рассказать.

P. S.: Кстати, сам я читаю на 404 доклад про управление временем: 2012.404fest.ru//themes/i-ll-be-back/.

Все участники 404 фестиваля на одной странице

Если вы из Москвы и не едете на 404 фестиваль, но вам интересно узнать о том как не заваливать дедлайны и найти время на развитие навыков и создание собственных проектов — напишите мне в личку. Если наберётся несколько желающих — прочитаю доклад завтра вечером (скорее всего, в коворгенге «Рабочая станция»).

Автор: Adrior

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js