Главный баг открытых проектов Яндекса

10 ноября 2010, 18:17
Идеология разработки с открытыми исходниками предполагает также и открытый процесс разработки. Следуя этому духу мы сегодня решили открыто исправить серьёзный баг, которому в той или иной степени подвержены почти все open source проекты Яндекса.

ID1
SummaryНикто не знает про открытые проекты Яндекса
DescriptionУ наших разработчиков уже довольно много опубликованных компонентов, библиотек и готовых решений. Их никто особенно не скрывает, но также про них никто и не рассказывает. Надо рассказать!

» PIRE https://github.com/dprokoptsev/pire

Perl Incompatible Regular Expressions library родилась в недрах разработки поискового робота, где специфика задач позволяет отказаться от поддержки эзотерических возможностей стандартных перловых регулярок, и за счёт этого существенно повысить скорость обработки. В поисковом роботе не бывает, чтобы что-то работало слишком быстро. Вот небольшая выдержка из тестов производительности, которые использовались также в известной статье "Regular Expression Matching in the Wild":

Файл 500 МБ, регулярка: .*$
pcre31,67 МБ/сек
re2242,28 МБ/сек
pire756,32 МБ/сек
Файл 500 МБ, регулярка: ABCDEFGHIJKLMNOPQRSTUVWXYZ$
pcre153,67 МБ/сек
re2653,76 МБ/сек
pire755,98 МБ/сек
Файл 2 МБ, регулярка: (\d{3}-|\(\d{3}\)\s+)(\d{3}-\d{4})$
re2423,76 МБ/сек
pire775,89 МБ/сек

Особенно ценная черта PIRE — это способность работать также и с очень длинными регулярками, и это очень мало сказывается на производительности.

» Xiva https://github.com/highpower/xiva

Xiva — это асинхронный HTTP-сервер для реализации серверной части протокола WebSocket из HTML5. Он не является сервером общего назначения (например, не умеет обрабатывать POST-запросы), за счёт чего получился компактным и быстрым. Он идеально подходит для веб-чатов, live-виджетов и других похожих задач, где надо, чтобы на веб-странице что-то обновлялось по сигналу с сервера. Есть пример реализации серверной части простого веб-чата на Питоне.

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

» NwSMTP https://github.com/khanton/NwSMTP

Об NwSMTP можно думать как о "Nginx для SMTP". Это прокси-сервер, который работает перед основным почтовым сервером и может обеспечивать например поддержку SSL, фильтрацию по RBL, антиспам и антивирусную проверки. Именно он работает сейчас на нашей Почте.

Документация к нему предлагается в духе unix-традиций в виде откомментированного конфиг-файла. Обратите внимание, что проверку на спам через яндексовую Спамооборону доступна "из коробки".



Это, конечно, не все открытые проекты Яндекса. Мы потихоньку будем собирать информацию о них в едином месте. Пока же можно, например, следить на Github за списком проектов пользователя yandex-opensource.

ResolutionFixed

13 комментариев
Подписаться на комментарии к посту
у вас же есть http://opensource.yandex.ru/
почему бы там не сложить все ссылки на проекты?
Дело, зачатое в рунете автором nginx, в технологическом и политическом планах цветёт, пахнет и плодоносит!
Яндекс открывает маленькие секреты ))
Отлично, молодцы, что выбрали github.
Велишаев Ленур
10 ноября 2010, 21:37
"В Яндексе он работает в новом интерфейсе Почты, где обслуживает мгновенные уведомления о новых письмах. Попробуйте при открытом окне почты прислать себе письмо из какой-нибудь другой почтовой системы."

Даво заметил эту фичу, очень удобно и не нужно нажимать F5, чтобы посмотреть, а не появилос ли новое письмецо. Молодцы яндексоиды :)
Спасибо, Илья!
Xiva наверняка вещь, надо пробовать.
Это открытые технологии Яндекса, почему бы не поместить их как подменю в раздел "Технологии". Там же есть mystem ;)
Вот если бы этот SMTP-прокси работал бы наоборот - принимал бы почту от локальщиков, да отдавал бы ее яндексу...
Хотя, наверное, он-то так и умеет. А вот Я.ПДД это не приемлет.
А что мешает поставить для этого локальный почтовый сервер?

Так и сделано. Причем очень давно.

Но на то, чтобы поправить обратную зону у провайдера ушло около года :)

Интересно, а сколько у вас не проектов, а так неких "офисных" разработок.
Которые полезные, да размеров до проекта не дотягивают
А не лучше ли Git репозиторий у себя поднять?
http://opensource.yandex.ru/
У вас там какой-то xscript валяется в Subversion, выкиньте, поставьте github, всё в одном месте будет.
Шикарно, порадовало описание PIRE. Как раз то, во что мы сейчас упираемся в справочно-правовой системе Право.ру. Попробуем.
А чё бы вам не сконвертировать yandex-opensource в Oraganization и перетащить все репозитории туда?