4 июня(суббота) 2011 Москва

Телефон: +7 (495) 502-33-78
E-mail: 2011@devconf.ru

Архив 2011года - актуальная информация тут


Новости

12/07

PDF версии докладов уже на сайте.

[Подробнее]
04/06

Интервью с Юрой Богдановым.

[Подробнее]
31/05

Компания Mail.Ru Group стала партнером конференции DEVCONF 2011

[Подробнее]
30/05

Компания Badoo стала партнером конференции DEVCONF 2011

[Подробнее]
28/05

Интервью с Hannes Wallnöfer, создателем RingoJS.

[Подробнее]
27/05

Интервью с Дмитрием Сошниковым

[Подробнее]
25/05

Интервью с Олегом Подсечиным.

[Подробнее]

Интервью с Юрой Богдановым.

Добрый день, Юрий. Ваш доклад посвящен эффективному программированию на NodeJS. Расскажите о Вашем опыте работы с этой платформой?

Юрий Богданов: Все началось полтора года назад, при работе над экспериментальной версией Eventr.com (социальный RSS ридер) - PHP & ZF.
Возникли проблемы при обработке большого количества внешних RSS/Atom потоков в реальном времени, было решено переписать эту часть на тогда еще совсем "сырой" NodeJS - удалось повысить производительность в 10 раз. После чего некоторые части системы тоже успешно мигрировали на него.
Уже полгода я занимаюсь другим проектом. За кулисами современного веб-сервиса приложение работает с инфо-социальным графом, распределенными вычислениями, алгоритмами коллаборативной фильтрации. И все это - nodejs/mongodb/redis.
В ходе разработки образовалась собственная "философия" асинхронного программирования, которой хотелось бы поделиться с другими.

Для каких решения каких задач лучше всего подойдет NodeJS? Что Вы думаете о последних попытках приспособить синхронное программирование в асинхронном окружении?

Юрий Богданов: Эффективность использования NodeJS прямо пропорциональна количеству времени I/O против времени CPU в приложении с высокой конкурентностью. Другими словами, если основной задачей приложения является выбор данных из БД (95% времени) и выдача в формате JSON (5%), NodeJS действительно может оказаться лучшим решением. Также хорошо подходит для приложений реального времени с большим количеством одновременных соединений: игр, чатов, трансляций и т.д.
На сегодняшний день NodeJS можно считать довольно узконаправленным инструментом. Но, учитывая современную RIA/Cloud тенденцию, а также рост популярности JavaScript, предполагаю, в будущем Node может стать серверным движком "по умолчанию".

Как показала практика, синхронные и асинхронные подходы могут использоваться вместе в рамках одного приложения без особых проблем. Но event-driven парадигма является весьма непривычной для большинства backend-разработчиков, а также порождает много неочевидных, на первый взгляд, моментов. Об этом я и хотел бы рассказать в своем докладе.

Вы много работали с высоконагруженными проектами, какими технологиями Вы пользовались?

Юрий Богданов: Большую часть своей профессиональной дейтельности я посвятил PHP и ZendFramework.
В основном, работал с mysql, memcached, memcacheq, apachemq, capistrano.
На данный момент: nodejs, mongodb, redis, elasticsearch, nginx.

Вы являетесь основателем проекта Eventr.com, пока ресурс не доступен через свободную регистрацию, можете приоткрыть завесу тайны?

Юрий Богданов: 
Eventr.com эволюционно перерос в совершенно другой проект, изменилось даже название.

Новый проект - это сервис целевой коммуникации, основанный на коллаборативной фильтрации.
Вы все увидите сами, регистрируйтесь в конце июня.

Интервью предоставлено JS секцией: Айвазян Ольга (www.Akshell.com)

04/06/2011