Skip to content

DevConf 2010

28/05/2010
DevConf 2010

Надо бы уже записать впечатления от DevConf‘а, пока окончательно всё не забыл 🙂

Приехал я в Крокус Экспо, к сожалению, не к самому началу — поезд пришёл немного позже чем мне хотелось бы ) К счастью, регистрация продолжалась, видимо, до последнего, и свои бейджик и пакет я получил. В пакете оказалось много бумажного спама, программка, блокнот и ручка (очень кстати — я свои забыл :)).

Первый день

Посещал я только секцию PHP, так что тут будет только о ней. На доклад о MooSQL я не попал совсем, на Badoo — попал не полностью. С Badoo запомнились рассуждения «скорость VS масштабируемость» и призыв всегда разбираться с ошибками, даже самыми мелкими E_NOTICE и E_STRICT — они могут тормозить выполнение. Собственно, остальную часть доклада я пропустил 🙂

Программка, кстати, мне пригодилась: я прямо на ней ставил оценки прослушанным докладам 🙂 Остаток доклада по Badoo например получил 4+ по пятибалльной шкале 🙂

Создание демонов на PHP

Товарищ из компании AGUNGA рассказывал о том что данные можно держать прямо в висящих в памяти PHP-демонах. Подход интересный, конечно, и его можно понять. Основное преимущество — уже есть готовые структуры, к которым можно обращаться, нет затрат на инициализацию (впрочем, постоянное хранилище типа Redis тоже подошло бы по этому критерию, думаю). Демоны построены в evented-стиле вокруг библиотеки libevent, набор событий ограничен READ, WRITE и SIGNAL. В общем-то, для активно изменяющихся данных, с которыми нужно взаимодействовать, это интересный подход (компания занимается играми, так что как раз их сценарий).

Правда, с сохранностью данных пока так себе — используется некоторое подобие самодельного snapshotting’а: данные периодически сбрасываются в базу (раз в секунду). Выступающий товарищ показывал код —x там жонглирование очередью обработки событий происходит явно и прямо в коде. После Node.js конечно выглядит несколько громоздко, но работает. Чтение потоковое, через while(true) 🙂 Кстати, к асинхронным функциям всегда передаётся таймаут, по истечении которого функция завершается с ошибкой. Правда, таймауты реализованы как то странно — через открытие временного файла.

Основные подводные камни, о которых упомянул докладчик:

  • Очень мало информации и примеров таких установок
  • Необходимо следить за ресурсами (ну ещё бы)
  • Хитрости при чтении данных, превышающих размер буфера (тут я не очень понял какие)
  • Проблемы с отслеживанием сигналов (опять же, непонятно какие)

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

Моя оценка: 5

Redis

Этот доклад был мне интересен тем что Redis’ом я и сам планировал заняться в ближайшем будущем. В принципе доклад пересказывать мало смысла — перечисление типов данных, примерные бенчмарки, всё это можно найти в Интернете. Но рассказано было очень здорово, с примерами и объяснением. Также рассказали про атомарность транзакций и разные режимы репликации, функционал publish/subscribe и pipeline (отправка набора команд и отложенное получение ответа).

Моя оценка: 4

После Redis’а был обед, который получил от меня четвёрку ))) Покормили нас довольно неплохо. Кроме обеда были ещё несколько кофебрейков со вкусными булочками 🙂 Кроме того, между докладами можно было посидеть в холле и купить там же книги соответствующей эвенту тематики 🙂 Я там раздобыл «Джоэл о программировании» Спольски и «IT-проекты» Джо Мараско.

В ожидании PostgreSQL 9.0

Хоть Postgres я не интересуюсь (пока), доклад был очень интересным. Правда, записей от него осталось не очень много: в основном я слушал.

Оценка: 5.

Классификация систем хранения данных

Супер-доклад о целом зоопарке систем хранения: от Redis до распределённой GlasterFS, сравнение их по разным признакам. Большая часть доклада — таблицы сравнения хранилищ, перерисовывать которые было бессмысленно. Но сама методология сравнения и большое количество охваченных систем — очень здорово 🙂 Когда найду ссылку на презентацию, выложу сюда. Словами пересказывать очень долго 🙂

Моя оценка: 5+

PHP+REST: универсальная архитектура контроллера

Довольно интересный доклад про построение REST-контроллера на PHP. В принципе, вполне можно где нибудь потом реализовать. Интересное использование вложенных ресурсов для дополнительных действий, не предусмотренных обычными GET/PUT/DELETE, разделение на HTTP-методы (непосредственно обрабатывающие запрос и возвращающие отклик) и сублокаторы, порождающие вложенные ресурсы. Тут стоит найти презентацию и почитать ещё раз.

Моя оценка: 4

С последнего доклада (про особенности PHP 5.3) почти не осталось записей и совсем не осталось оценки. Видимо, уставший за день мозг уже отказывался что-либо воспринимать. В конце концов всем раздали пиво (тем кто не пьёт достались чай и кофе), обещанного в программке торжественного закрытия так и не было. Когда все выходили, лил достаточно неплохой дождь, но даже это не подпортило впечатлений от первого дня конференции 🙂

Второй день: RichClient

Второй день проходил уже возле ВДНХ, в гостинице «Оксана». Здесь я уже не ставил оценки и даже почти не записывал. Запомнились доклад Yehuda Katz про абстрагирование в JavaScript одних событий другими (надо будет попробовать), и доклад о JS-составляющей системы постановки задач, написанной на серверном V8. С докладчиком, который о ней рассказывал, мы впоследствии отлично побеседовали о перспективах серверного JavaScript. Понравилось модульное построение клиентской части — проект разделён на эдакие виджеты, которые довольно легко комбинируются и расширяются.

Обед во второй день тоже был, в ресторане на первом этаже гостиницы, не хуже чем в первый день 🙂 Вообще во второй день одновременно проходило очень много разных мастер-классов, и все их к сожалению посетить не удалось. Запомнился докладчик по Silverlight, который рассказывал и отвечал на вопросы о Microsoft с юмором 🙂

Наш доклад (про Node.js) прошёл в принципе для первого раза неплохо, хотя и немного скомканно на мой взгляд. Зато вопросы после доклада были очень хорошими, да и побеседовали мы потом с некоторыми слушателями неплохо. Думаю, в будущем лучше уже выступать не с обзорным докладом а с конкретным приложением, уже с опытом и готовыми данными. Жаль, но записать наше выступление не получилось (места не было ни на фотоаппарате, ни на телефоне).

Здесь мои остальные фото (хотя этого добра в Интернете должно быть навалом).

UPD: выложил наши слайды:

8 комментариев
  1. Если не ошибаюсь, здесь тебя спалил на многих фотках =)
    http://picasaweb.google.com/Dmitry.Bykadorov/DevConf

  2. На первой вроде есть, где на эскалаторе, не?

  3. Не понимаю, чем заинтересовал этот вот последний человек, у которого JavaScript на сервере и странные, очень странные виджеты на клиенте. При том, что до этого был ваш рассказ про node.js и отличный доклад про Dojo. Человеки просто страдают синдромом not invented here. Гордиться тут нечем.

    • Заинтересовал тем, что я и сам занимаюсь серверным JS ) А эти товарищи начали строить свою систему вокруг V8 еще до того, как Node.js стала юзабельной. Мне было интересно что они сделали.

      А что касается NIH: если при этом получаются интересные решения, то почему бы и нет)

    • Кстати, про доклад о Dojo я почему то забыл, действительно )

Trackbacks & Pingbacks

  1. Хранилища данных в Node.js: Redis « nodeJS

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s

%d такие блоггеры, как: