01.06.2008

Что нового я узнал на PHPconf 2008

Пару дней назад прошла конференция PHPConf 2008, для веб-разработчиков с ориентацией на PHP-программистов. Чтобы закрепить свои впечатления решил написать пост, что лично я вынес с этой конференции. Не претендую на истину последней инстанции, так что наверняка других участников заинтересовало совершенно другое. Наверняка кто-то ездил с целью в основном пообщаться в кулуарах, кто-то с целью попробовать пиво Пилзнер Урквел. Я написал, что понравилось/не понравилось мне.

Итак, начинаем по пунктам рассматривать все выступления (возможно я что-то и забыл, но значит оно мне точно не очень понравилось).

  • Первым выступал Дмитрий Стогов (Zend) и рассказывал, что нового будет в PHP 5.3/6.0. Вкратце:
    • Главное - 5.3 будет отличаться от 6.0 только отсутствием юникода.
    • Одно из самых главных нововведений - namespace-ы. Вводятся достаточно граммотно пространства имен.
    • Затем появится сборщик мусора, что очень полезно для долгоживущих приложений на PHP.
    • Из приятных мелочей короткий оператор ?: ( $c=$a?$a:$b; то же самое что $c=a?:$b); ).
    • Также возможно кому-то был нужен динамический доступ к статическим данным, т.е. обращаться статически к элементам класса с динамическим именем ($classname::method(), $classname::$prop).
    • Очень веселая штука - пакеты phar на подобии явоских jar-ов. Правда нормальных реализаций упаковщика еще нет, но каким-то образом это уже работает.

  • Вторым выступал Михаил Красовский и рассказывал про управление данными. Рассказывал какие-то общие слова, в принципе что-то полезное возможно на подкорку попало, но чуть не заснул.
  • Затем опять вышел Дмитрий Стогов и рассказал про внутреннее устройство PHP (на Си++) и про то как на этом же Си++ писать библиотеки для PHP. Очень интересное выступление. Главное что я вынес из него - если какая-то конкретная функция на PHP работает медленно - вполне реально написать ее реализацию на более быстром языке.
  • Ильи Кантор рассказал, что существует готовая библиотека для сохранения достаточно большого количества данных в браузере (вроде куки, только больше объемом). Статья на подобную тему уже была на хабре (хранить в свойстве window.name), но Илья предложил другое решение - использовать недавно появившееся Browser Persistence (хранение данных в DOM), а браузерам, не поддерживающим это - сохранять данные
    через flash. Если это действительно везде работает, то приложений можно найти уйму. Библиотека уже написана и в презентации была ссылка на ее скачивание.
  • Алексей Борзов рассказывал про PostgreSQL. О базе PostgreSQL я слышал много, но ни разу ее пока не трогал. После этого выступления захотелось все-таки ее посмотреть. Алексей рассказывал достаточно подробно об оптимизаторе запросов в PostgreSQL, а также о возможных методах отладки запросов.
  • У Антона Терехова (РБК) было лично для меня самое интересное выступление в первый день PHPconf. Он рассказал историю жизни проекта photofile.ru, о том, как они пытались бороться с растущими нагрузками быстрыми заплатками, а также полным изменением архитектуры. В качестве веб-сервера там используется кластер с прокси на nginx, который распределяет нагрузку, но меня поразило, что на таком тяжелом проекте php выполняется не через fast-cgi, а через apache.
  • Большов Виктор рассказал как просто устроить трансляцию flv-видео на сайте. Ничего хитрого - просто отправляем в REQUEST-запросе позицию, с которой мы хотим начать смотреть видео и отправляем с сервера flv-файл, начиная с этой позиции. А на клиенте видео принимает flash-плеер, opensource реализация которого была тоже названа на презентации.
  • Затем выступал молодой парень из UMI. Он рассказывал как это хорошо - использовать шаблоны на XSLT. Тема была довольно интересная, а доклад уж очень невнятный, но все равно полезный. После выступления больше всего вопросов было насчет быстродействия, что является камнем преткновения в этой технологии.
  • В последнем рассказе разработчик из MySQL рассказывал про то, как организовать поиск по географическим координатам с ограничениями на расстояние между объектами. Ничего хитрого - было выведено две формулы - одна точная (для окружности с нужным радиусом) и вторая грубая (для квадрата со стороной в два радиуса), выражающие расстояние через географические координаты. Главная идея, которую взял на заметку - если нам нужно искать по базе что-то, которое зависит от очень хитрой формулы - нужно сначала ограничить число кандидатов на выборку какой-то более грубой, но намного более простой вычислитильно формулой (чтобы в ней использовался индекс), а уже потом применять нашу точную формулу.


2-й день оказался намного более насыщенным и интересным.
  • Отличный темп задал первый же доклад Маркуса Бёргера, рассазавшего основы ООП, они были очевидные, но это стало неплохой практикой по прослушиванию лекций на IT-темы на английском (там выдавали приемники для синхронного перевода, но слушать это в реальном переводе кажется было глупо). Затем началась более сложная и интересная, но мне в некоторых местах и непонятная часть. Он рассказывал про паттерны программирования, про итераторы и еще про разные другие умные штуки. Основные идеи, которые я вынес из выступления - надо почитать про паттерны программирования на PHP. И вторая: в Google можно попасть даже PHP программисту.
  • Затем выступали представители Microsoft. Первый из них (Алексей Шуленин) c шутками-прибаутками убедил, что пользоваться бесплатным SQL Server 2005 смысла нет никакого (хотя пытался сделать обратное). А второй (Андрей Бешков) очень интересно рассказал про новый скриптовый язык - PowerShell. Мне очень понравилось - написание скриптов для консоли наконец-то стало больше похоже на программирование, а не на что-то волшебное как в Bash. Главная особенность - язык стал объекто-ориентированным. То есть даже на стандартный запрос «ps» PowerShell возвращает коллекцию объектов. Наконец-то администраторам Windows-серверов станет возможно нормально админить сервера в консоли. А если еще прибавить выпущенную Windows без GUI размером в 100 мбайт, то становится вообще как-то теплее на душе по отношению к Microsoft.
  • Затем было два ужасных выступления от MySQL. Первое из них было построено на зачитывании списка багов из баг-репортов MySQL, второе - на ответе на тупые вопросы (да не обидятся хабровчане, которые их где-то в соседней теме задавали). Второе выступление правда спас один из программистов, который единственный из всех (как показалось) обладал интересной информацией и поделился планами о будущих разработках.
  • Следующее выступление стало для меня открытием технологии Sphinx. Ничего раньше о ней не слышал, а вот узнал теперь не только что он существует, но и как в общих чертах работает. Sphinx - база данных, нацеленная в основном на полнотекстовый поиск, и делающя его гораздо быстрее, чем MySQL, например. Ну и докладчик (Аксенов Андрей, создатель Сфинкса) просто отжигал.
  • Последним выступлением был обзор основанной целиком на XML базе данных XMLDB Sedna 3.0. Климов Евгений очень интересно о ней рассказывал, но идиоты-организаторы его остановили и стали три часа вручать бредовые призы, вместо того, чтобы дослушать интереснейший рассказ.
  • Особенность базы данных - все построено на XML, т.е. заточена под хранение древовидных данных. Если даже в DB2 Xml встроен просто типом данных в реляционной БД, то тут вообще нет таблиц в понимании реляционной БД. Вобщем очень интересная технология.
  • Второй частью доклада должно было стать рассмотрения технологии хранения данных в XML, но его все те же организаторы поменяли на распитие пива..



Вобщем примерно так все и было. Лично мне понравилось, и очень много нового узнал.

7 комментариев:

Анонимный комментирует...

Спасибо за обзор,
не смог попасть на конференцию.

Очень заинтриговали информацией о последнем выступление,
есть какие-нибудь ссылки? или презентация с доклада?

зы. фотки были бы тоже к кстати :)

Спасибо.

Pilot34 комментирует...

Игрок, обещали все презентации выложить, но на http://www.phpconf.ru/ их пока нету.

Фоток немного можно вот тут http://vkontakte.ru/photos.php?act=album&id=29262745 посмотреть. Их мало совсем и качество неахти, но все же) Если нет контакта, то поможет http://vnekontakta.spb.ru/

adw0rd комментирует...

Вот еще немного :)
http://vkontakte.ru/photos.php?act=album&id=29609656

Анонимный комментирует...

Много писали всего про пространства имён, но одного я не понял… зачем, если весь стандартный набор так и останется в глобальном пространстве?!

Pilot34 комментирует...

А зачем записывать стандартные функции в namespace-ы? Они в основном чтобы в каждом вашем файле локальные переменные не конфликтовали с остальными переменными в, например, фреймворке

Pilot34 комментирует...

на http://phpconf.ru появились презентации кстати

Анонимный комментирует...

Программа конференции PHPCONF 2009
http://phpconf.ru/

ФОРМАТ:

В 2009 году мы еще более жестко отфильтровываем доклады и допускаем на конференцию только самое ценное и самое важное. Мы ценим время участников конференции, поэтому конференция по прежнему будет проходить в течении двух дней.

День первый – WebArchitect WorkShop Day 8 октября (чт)
Это день полностью состоящий из мастер-классов. Их прочитают признанные гуру. Каждый мастер-класс могут посетить не более 30 человек. На данный момент планируется 3 потока по 6 часов. Каждый мастер-класс длительностью от 1,5 до 6 часов.

День второй – PHPCONF 2009 9 октября (пт)
Пополните ваши знания! Что нового произошло за 1,5 года? Какие методики разработки стали общепринятыми в профессиональной среде? Как их внедрить малой кровью? Как повысить эффективность вашей работы и работы вашей команды в разы?

P.S. Как всегда приедут непосредственный авторы PHP, MySQL, ZendFramework.

P.S.S. Программа будет опубликована после 25 августа 2009 года.

Регистрация PHPCONF 2009 уже открыта!

Отправить комментарий