Сегодня мы начинаем публиковать серию постов о машинном обучении и его месте в Яндексе, а также инструментах, которые избавили разработчиков поисковой системы от рутинных действий и помогли сфокусироваться на главном — изобретении новых подходов к улучшению поиска. Основное внимание мы уделим применению этих средств для улучшения формулы релевантности, и более широко — для качества ранжирования.
Без качественного тестирования невозможно разрабатывать и поддерживать крупный веб-сервис. На ранних этапах его развития часто можно обходиться только ручным тестированием по заданному тест-плану, но с появлением новых фич и увеличением количества тест-кейсов довольствоваться только им становится все сложнее и сложнее. В этой статье мы расскажем о том, как автоматизируем функциональное тестирование веб-интерфейса Яндекс.Почты с помощью Selenium WebDriver и Node.js.
Уже в момент запуска Яндекс.Диск дал многим разработчиками возможность использовать его в своих приложениях и программах. И обеспечивает это то, что протоколом для десктопных клиентов Диска мы выбрали WebDAV.
Так как именно протокол определяет то, как общаются между собой программы и сервер, от его выбора зависит примерно всё. И то, как будут устроены клиенты, и то, какие возможности работы с файлами у них будут.
Сегодня мы хотим рассказать о причинах, которые остановили наш выбор именно на WebDAV и сделали его протоколом для клиентов Яндекс.Диска.
В Яндекс.Почте совсем недавно появилась новая возможность — письма в смс. Мы сделали её не только для тех, кто любит бесплатно отправлять текстовые сообщения, но и для тех, кому нужна быстрая реакция получателя. Теперь из веб-интерфейса почты вместе с письмом вы можете оправлять смс-сообщение со ссылкой на копию самого письма.
Ссылка откроется в специальном мобильном интерфейсе, не требующем авторизации. Там же можно прочитать письмо и ответить на него. При этом совершенно не важно, на каком сервисе находится электронная почта получателя. Сегодня мы раскроем несколько секретов о технических деталях реализации.
Уведомить получателя об отправленном письме можно было и раньше, но с небольшими ограничениями. Например, если письмо было отправлено не на Яндекс.Почту, смс выглядело вот так:
Последнее время пользователи жалуются нам на объявления, в которых им якобы от имени Яндекса предлагают деньги в подарок. При этом человека просят ввести номер мобильного, а затем — код активации из полученного смс-сообщения. Если пользователь так и поступает, то, сам того не ведая, подключает платную смс-подписку. Ему начинают присылать смс, например, с прогнозом погоды, и каждый день списывают за это деньги с его мобильного счета.
Мы не имеем отношения к подобным объявлениям, даже если они появляются на фоне Яндекса. И, со своей стороны, стараемся оградить вас от действий злоумышленников. Сейчас Яндекс активно выявляет страницы, созданные с целью выманить номер телефона. Предупреждение о том, что на эти страницы лучше не заходить, появляется в результатах поиска, в Яндекс.Браузере и другом ПО.
Кроме того, мы выявляем сайты, на которых установлен код, запускающий показ объявлений злоумышленников. Наличие такого кода снижает качество сайтов, поэтому в результатах поиска они будут показываться ниже, чем более качественные ресурсы.
Команда дизайнеров и разработчиков Яндекс.Денег на основе открытых API Twitter и Яндекс.Денег сделала и запустила проект Twym: мгновенные переводы между пользователями Яндекс.Денег в твиттере — по хэштегу #twym.
Как это работает?
Вы идёте на twym.ru и привязываете свой твиттер-аккаунт;
Разрешаете Twym доступ к своему счёту в Яндекс.Деньгах и указываете лимиты дневных переводов (для спокойствия);
Пишете твит, в котором есть одновременно @имя получателя, сумма и хэштег #twym;
Робот Твимими видит запись и отправляет перевод — или просит вашего получателя подключиться к Twym, если тот ещё этого не сделал.
Деньги моментально списываются со счёта; получатель узнаёт об этом по твиту или из письма, если он подписан на уведомления. Отправить твит можно из любого твиттер-клиента или на сайте Twym.ru в форме быстротвита (чтобы выучить формулу).
Этой весной в Москве пройдёт ECIR — одна из самых значимых в мире научных конференций по информационному поиску. Её организаторами выступают Яндекс и Высшая школа экономики. Этот ECIR будет уже 35-м по счёту, но в России конференция пройдёт впервые.
С этого вечера пользователи приложения Яндекс.Такси для iPhone могут оплачивать свои поездки банковской картой. При этом им даже не нужно носить её с собой: сначала карту нужно привязать к своему счёту в Яндекс.Деньгах, а затем, расплачиваясь с водителем, ввести трёхзначный код этой карты (CVV2-CVC2).
Если карты нет, но есть деньги на счёте, в том же приложении можно платить и просто Яндекс.Деньгами.
Весь процесс занимает один клик, если вы платите Яндекс.Деньгами, и один клик + три цифры, если вы платите картой.
Яндекс.Деньги не передают данные вашей карты таксопарку, обработка платежа происходит полностью на стороне сервиса. Услуга оплаты привязанной картой — бесплатная, сервис не берёт дополнительных комиссий или процентов за обработку платежа. Вы вводите реквизиты карты только один раз, на стадии привязки, на защищённой по стандарту PCI DSS странице. Затем вам понадобится только CVV2-CVC2 код.
Яндекс.Деньги в пятницу запустили один из самых востребованных сервисов — защиту любой операции одноразовым SMS-паролем. Теперь на сайте есть три способа усиленной авторизации: таблица кодов, электронный токен и пароли в SMS.
Сервис бесплатный. Для того чтобы начать им пользоваться, нужно:
Сегодня я хочу рассказать о том, почему и как мы пришли к использованию препроцессора Stylus в разработке Яндекс.Почты, а также описать используемый нами метод работы со стилями для IE. Он очень легко реализуется именно с помощью препроцессоров и делает поддержку IE простой и удобной. Мы разработали для этого специальную библиотеку, которой тоже поделимся — if-ie.styl.
Это только первая статья из серии статей об использовании препроцессора Stylus в Яндекс.Почте, которые мы готовим к публикации.
Разработка интерфейсов — одно из важнейших направлений в Яндексе, сервисами которого пользуются миллионы людей. А ни один российский вуз, к сожалению, не готовит разработчиков интерфейсов. Все знания, которые необходимы современному верстальщику или фронтенд-программисту, приходится черпать из статей в интернете, книг, докладов на конференциях. Но зачастую этого бывает недостаточно. Почти каждого нового разработчика интерфейсов, которого мы принимали на работу, приходилось многому обучать.
За долгое время работы в Яндексе нам удалось систематизировать все наши знания и огромный опыт в создании фронтенда веб-сервисов. Результатом этого осмысления и длительной работы стала первая Школа разработки интерфейсов, занятие которой шли в московском офисе Яндекса. Вся практическая часть обучения проходила в реальных проектах Яндекса. Теоретическая же состояла из лекций, которые читали ведущие разработчики интерфейсов Яндекса: Сергей veged Бережной, Михаил mishanga Трошев, Алексей doochik Андросов, Михаил azproduction Давыдов и другие.
Сегодня мы выкладываем видеозаписи каждой из них. Весь курс систематизирован и поделен на пять блоков: инструменты разработки, технологии в разработке интерфейсов, языки программирования, фреймворки, дизайн.
Картинки — один из самых высоконагруженных сервисов Яндекса. Его ежедневная аудитория приближается к 6 миллионам человек, а количество просмотров изображений составляет почти 120 миллионов. Чтобы сделать его более быстрым и удобным, одновременно с полным редизайном в сентябре мы значительно обновили технологическую составляющую. Обновление интерфейса мы продолжаем и сейчас, для чего постоянно проводим новые эксперименты и тестируем родившиеся идеи.
Про то, как появляются и какой путь проходят идеи перед тем, как попасть в интерфейс массового сервиса, я и хочу рассказать сегодня.
В сентябре мы запустили новый интерфейс Яндекс.Картинок, в котором отказались от просмотра изображения на отдельной странице. Врезку предпросмотра, которая стала «раздвигать» картиночную выдачу, мы внутри команды назвали «распашонкой».
Сегодня Яндекс присоединился к ЦЕРНу. Наше партнёрство с Европейским центром ядерных исследований переходит на новую стадию развития: у ученых из ЦЕРНа появится доступ к технологии машинного обучения Матрикснет от Яндекса, а также новым вычислительным мощностям. А Яндекс становится ассоциированным членом европейского Центра ядерных исследований в рамках проекта CERN openlab. Кроме него членами openlab являются Intel, HP, Oracle, Siemens и Huawei.
Сотрудничество Яндекса с Центром началось в 2011 году, когда мы впервые предоставили ЦЕРНу свои серверные мощности. А в апреле прошлого года наши разработчики создали поиск по событиям эксперимента LHCb. LHCb — один из четырёх основных экспериментов ЦЕРНа и один из примеров того, насколько важными в современной науке стали не только данные опытов, но и их обработка. В ходе опытов LHCb исследуются соударения b-кварка (b от английского beauty, по-русски его называют прелестным). Объём информации об этих событиях только за год достигает тысяч терабайт. Благодаря созданнному нами поисковому индексу у учёных ЦЕРНа появилась возможность мгновенно получать нужную информацию.
В современной фундаментальной науке важную роль стали играть не только технические ресурсы для проведения опытов, но и вычислительные возможности для обработки и понимания их результатов. В наши дни, особенно в ЦЕРНе, данных становится так много, что без применения сложных алгоритмов даже учёному будет сложно делать точные выводы о результатах опытов. Технологии, которые можно применять для таких целей, имеет совсем небольшое количество компаний.
Мы расспросили Андрея Устюжанина, руководителя проекта партнёрства с ЦЕРНом в Яндексе, о подробностях того, для чего именно ЦЕРНу нужна помощь Яндекса и как устроена работа с данными экспериментов. Смотрите видео и читайте более подробную текстовую версию после ката.
Не так давно мы подробно рассказывали про новые аттачи в Яндекс.Почте. В декабре в у нас появился новый просмоторщик картинок. Работать с изображениями в Почте благодаря этим нововведениям стало действительно проще и удобнее.
Тем не менее, оставалась ещё одна сложность: в связи с браузерными ограничениями изображения нельзя было вставлять прямо в тело письма. Картинку нужно было сохранить на своём компьютере и уже оттуда прикрепить к письму, как любой другой файл.
Мы долго думали над этой проблемой. Можно было использовать java-апплет или flash, но у этих решений были существенные ограничения. Например, при использовании java-апплета нужно будет обязательно разрешать выполнение апплета в браузере. В итоге мы решили использовать новые возможности современных браузеров, такие как Clipboard API, File API и Drag n Drop.
Читайте в нашем посте о том, как вставлять в письмо картинки из буфера обмена или по публичному URL и как добавлять их в тело письма простым перетягиванием с рабочего стола.
Недавно мы писали о нашем валидаторе семантической разметки. А сегодня хотим рассказать, зачем и почему он был сделан, какие сложности возникли при разработке и как мы с ними справились. Одна из причин, по которой мы его сделали, конечно, в том, что мы хотели избавить роботов от встреч с ошибками вебмастеров. Но руководствовались мы не только этим.
Медленно, но верно семантическая разметка набирает популярность. Чуть больше десяти лет назад (в мае 2001 года) впервые был введен термин «семантическая паутина». В 2004 году появилось первое упоминание формата RDFa, примерно тогда же начали развиваться микроформаты. В июне 2011 года был запущен стандарт schema.org. Сейчас семантическую микроразметку поддерживают и Яндекс, и другие ведущие мировые поисковые системы.
Однако вебмастера часто сталкиваются с тем, что валидаторы HTML выдают массу ошибок.
Как многие знают, он — основатель проекта Openwall, автор свободного программного обеспечения (в том числе популярной программы для аудита безопасности паролей John the Ripper). Solar Designer был техническим рецензентом книги о компьютерной безопасности Silence on the Wire Михала Залевского и написал для нее предисловие.
С докладами о компьютерной безопасности Александр участвовал во многих международных конференциях — HAL2001, NordU, FOSDEM, CanSecWest, PHDays. На YaC 2012 он рассказывал «Как защитить миллионы паролей». Перед выступлением мы взяли у него небольшое интервью. Solar Designer рассказал, как стал специалистом по компьютерной безопасности и поделился своим взглядом на её современное состояние.
Сегодня Сбербанк России и Яндекс объявили о стратегическом партнёрстве. Объект сделки — компания Яндекс.Деньги, которая теперь становится их совместным предприятием. Сбербанк приобретает 3/4 доли в установном капитале Яндекс.Денег за 60 млн. долларов США, у Яндекса сохраняется блокирующий пакет (25% плюс один рубль).
Для конечных пользователей сервиса Яндекс.Деньги всё и технически, и юридически остаётся по-прежнему. Им не нужно подписывать новое пользовательское соглашение. Условия обслуживания, открытия и закрытия счетов не меняются, и идентификация не становится обязательной (но Яндекс.Деньги по-прежнему её рекомендуют, чтобы снять некоторые лимиты, продиктованные новой офертой).
После оформления документов все пользователи money.yandex.ru останутся клиентами Небанковской Кредитной Организации «Яндекс.Деньги», действующей на основании лицензии Банка России.
Cуть сделки — не в слиянии, поглощении, покупке или передаче прав. То, что произошло, называется «Сделка по продаже доли в Яндекс.Деньгах». У Яндекса — блокирующий пакет, потому что компании интересно развивать совместный сервис вместе со Сбербанком. Есть разница между финансовым партнёром и стратегическим — так вот, Яндекс.Деньги искали и нашли партнёра именно второго типа.
Сейчас всё больше мобильных приложений становятся геозависимыми. Одни просто не имеют смысла без знаний о местоположении пользователя, другие становятся с ним удобнее. Это так называемые Location Based Services (LBS): навигаторы, форскверы, инстаграмы с геотегами фотографий и даже приложения-напоминалки, которые срабатывают около конкретного места, например, рядом с офисом или магазином.
Для сервисов и приложений Яндекса мы создали собственную реализацию метода определения местоположения без GPS — Яндекс.Локатор. Он экономит время пользователя и делает наши приложения чуточку умнее. В Навигаторе и Картах она избавляет от ввода начальной точки маршрута, даже если вы на крытой парковке. А при выборе фильма в Киноафише или товара в мобильном Маркете помогает сразу показать, где их найти именно в вашем районе города. Ну и, разумеется, при поиске кафе и банкоматов — позволяет показывать вам сразу ближайшие, даже когда вы в метро.
Технологию мы давно открыли в виде бесплатного API. Сегодня хотим рассказать, как она устроена.
Сегодня мы объявляем о важных изменениях в поиске Яндекса. Теперь результаты поиска и поисковые подсказки будут персонализированными и могут отличаться для каждого пользователя, который задаёт запрос и получает на него ответ от Яндекса.
Специально для Хабрахабра мы взяли интервью у людей, которые занимались этим проектом, и спросили у них о том, для чего он нужен, как устроен, какие факторы мы учитываем, а также о том, как измеряем пользу от него.
Когда-то давно для того чтобы показать человеку результаты поиска, поисковым системам было достаточно пользовательского запроса и собственного индекса. Две эти сущности легко себе представить. Но со временем стало понятно, что есть ещё одна очень важная штука — контекст запроса. Кто, откуда и когда его задаёт.
Поисковые подсказки существуют в Яндексе уже больше четырёх лет. На профессиональном сленге мы называем их саджестом. Первоначально он формировался только на основе частоты тех или иных запросов. Со временем мы научили подсказки учитывать, из какого региона задаётся вопрос, связан ли он с каким-то недавним событием, можно ли показать пользователю сразу адрес сайта и какого. Ко всему прочему мы первыми из существующих поисковых систем внедрили технологию, которая позволяет саджесту учитывать предыдущий запрос пользователя и показывать ему контекстную подсказку. Теперь поисковые подсказки вступают с вами в диалог и меняются в зависимости от того, что вы только что искали.
Задача Яндекса — отвечать на вопросы, как заданные так и нет. Поиск — про заданные вопросы, но пользователю можно помочь их сформулировать.