Yet Another Conference 2012

Осень, сезон конференций в самом разгаре. На этой неделе был на двух, еще несколько предстоит в этом месяце. В этом посте вкратце хочу рассказать о прошедшей в понедельник YAC2012 от Яндекса, чуть позже будет пост и о прошедшем сегодня HPC aka BitByte. На "яке" про highload не было совсем практически ничего, так что если Вас это не смущает - приступим.

Начало

Началось все с презентации Яндекс.Браузера - если в двух словах, то это форк Chromium (как следствие - в основе WebKit) с встроенным Opera Turbo и сервисами Яндекса. Я явно не являюсь их целевой аудиторией, но для не-айтишников совсем не знающих английский - может быть и окажется актуальным. К слову, когда проверял "рабочесть" ссылки узнал, что версии под Linux у него нет, что странно, так как сам Chromium прекрасно работает, им и пользуюсь ежедневно.

Всего на конференции было 4 потока, выбрать на какой идти было не сложно методом исключения:

  • Я не большой фанат виртуализации, так что "Облачные технологии" вычеркнул первыми;
  • С математикой знаком лишь по наслышке благодаря гуманитарному образованию, так что на "Интернет-математике" ловить тоже особо было нечего;
  • Разработка приложений под Android - дело неблагодарное, так что "Yandex Mobile Camp" также не стал моим выбором (кстати, у них якобы запустился "конкурент" Google Play);
  • В итоге я весь день провел во втором зале с названием "Фронтенд", который ближе к вечеру перетек в "Системное администрирование" - темы хоть и не совсем по моей части, но хочешь-не-хочень, а приходится иметь с ними дело чуть ли не каждый день.

Фронтенд

  • Charles McCathieNevileChaals (Яндекс)Yandex and W3C
    • В прошлом году Chaals выступал на YAC, представляя Opera и W3C, теперь он работает консультантом в Яндекс по этой же части.
    • Соответственно Яндекс недавно стал первым полным участником W3C из РФ, думаю в основном благодаря ему.
    • Вкратце про W3C - это международное сообщество компаний, которые сообща предлагают и развивают разного рода стандарты в сфере Интернета. Работа организована в ввиде нескольких десятков узкотематических рабочих групп; каждая из компаний-участников может присоединиться к любой из них выделив под это какую-то часть рабочего времени своих сотрудников. Работа и обсуждения в основном ведутся удаленно по e-mail, но регулярно проводятся и оффлайн встречи рабочих групп.
    • Участие платное, ориентировочно: полное участие стоит 70 тыс. евро в год, ограниченное участие для исследовательских центров, государств и т.п. - 7 тыс. евро в год, для стартапов - порядка 1 тыс. евро в год.
    • Почти неофициально было сказано, что первым стандартом, который предложит Яндекс будет prefetch карт в браузер.
  • Александр Чупахин (Яндекс) - Профилирование и ускорение сложных JavaScript-систем на примере API Яндекс.Карт
    • Мораль данного доклада: если у Вас в проекте много сложного JavaScript, то его стоит профилировать.
    • Собственно карты и прочая разного рода графика - один из немногих use case'ов, где есть большой простор для оптимизации производительности JS. Еще из потенциальных вариантов - клиентская часть при постоянном соединении между браузером и сервером. Для типичных же сайтов это актуально довольно редко.
    • Помимо собственной системы тестирования и оценки производительности они пользуются Google Speed Tracer - рекомендую взглянуть, если занимаетесь чем-то подобным.
  • Jan Jongboom (Cloud9) - The Architect Way
    • Выступал на хорошем западном уровне, но не знаю, что он забыл на фронтенд секции. Речь шла об их фреймворке под названием Architect для node.js
  • Дмитрий Барановский (Adobe) - Raphaёl - past, present and future
    • Автор, судя по всему, популярной библиотеки для "рисования" в браузере без флеша и canvas, о ней и рассказывал.
  • Владимир Агафонкин (Cogniance) - Progressive Enhancement: практичный подход к современной кроссбраузерной разработке
    • Докладчик - автор еще одной популярной JS-библиотеки, на этот раз для отрисовки карт - Leaflet, которая используется во многих крупных интернет-проектах, например в foursquare, Flickr и Wikimedia.
    • Суть доклада: нужно разрабатывать не для современных браузеров и потом добавлять "костыли" для старых и мобильных браузеров, а наоборот - сначала базовый HTML и функционал, потом базовые CSS и JavaScript, которые будут работать практически везде и дадут 80-90% желаемого внешнего вида и уже только потом реализовывать все более и более навороченные "фишки" из HTML5, CSS3 и прочих нынче модных аббревиатур.
    • С данным принципом в целом очень даже согласен, сам стараюсь по возможности в этом "направлении" работать, когда приходится иметь дело с фронтендом. Хотя в базовой HTML версии все же иногда имеет смысл пожертвовать частью функционала, но это уже детали.
  • Алексей Емелин (Яндекс) - Тестирование "безDOMных" объектов современных веб-интерфейсов на примере API Яндекс.Карт
    • Яндекс.Карты реализованы довольно хитрым "многослойным" образом - часть на canvas, часть на DOM-дереве, так что тестировать и правда сложновато.
    • Поверхностно показывали закрытую систему для тестирования карт, работает примерно так: "создается новый функционал вручную тестируется -> эта версия берется за эталон -> когда появляется новая версия старого функционала - открываются два окна браузера, в одном запускается эталон, в другом новая версия -> если скриншоты совпали - все ок, если нет - вручную смотрим что не так -> повторяем для всех популярных браузеров".
  • Константин Горский (Яндекс) - Что разработчикам интерфейсов нужно знать о дизайне
    • Довольно доходчиво и с картинками излагалась простая мысль, автором которой, кажется, является Стив Джобс: "Дизайн - это не как что-то выглядит, а как оно работает".
    • То есть чтобы стать дизайнером, не нужно заканчивать художественный ВУЗ, достаточно начать думать о том что, как и зачем делают пользователи и как сделать так, чтобы им это все давалось легче и приятнее.

Системное администрирование

  • Demir Ozgur (Snapfish/HP) - System Administration Automation in High Scale
    • Не смотря на многообещающее название, доклад оказался чрезвычайно примитивным. Базовая теория автоматизации админских задач, плюс какие-то общеизвестные байки о Facebook и ком-то еще.
  • Виталий Антоненко (ЦПИ КС) - SDN - технология удобного управления компьютерной сетью
    • Доклад был об OpenFlow - альтернативному открытому протоколу сетевой маршрутизации, основной сферой применения которого, по словам докладчика, являются научные и исследовательские проекты.
    • Я думаю, в сфере интернет-проектов он тоже применим, но о прецедентах не слышал.
  • Владимир Неверов (Яндекс) - Отказоустойчивость и балансировка нагрузки без регистрации и смс
    • Основная тема доклада - IPVS, метод балансировки нагрузки по-умолчанию в Яндекс.
    • Используется в совокупности с балансировкой на уровне DNS и проприетарными аппаратными решениями.
  • Владимир Иванов (Яндекс) - Как запускали IPv6 в Яндексе
    • Не смотря на небольшие проблемы с дикцией, Владимир живо и интересно закрыл секцию, апплодисменты были более чем заслужены.
    • IPv6 уже работает. В большинстве случаев. Но у некоторых интернет-провайдеров он капитально сломан, что может приводить к недоступности сайта у некоторого % пользователей.
    • Для минимизации ущерба в Яндекс используют whitelist'ы на DNS серверах, которые выдают IPv6 только пользователям определенных интернет-провайдеров.
    • К слову, Google вроде как уже перешел наоборот на blacklist'ы ISP, у которых IPv6 точно сломан. Подробнее тут.

Заключение

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

По организации все было в целом более-менее стандартно, подробнее можно почитать у меня в Твиттере (всегда рад новым фолловерам) или по хэштегу, пока не далеко еще опустилось по ленте.

P.S.: Я все еще в поисках бесплатного билета на HighLoad++ - если кто может с этим помочь, буду благодарен :)