Рубрика «Блог компании Яндекс» - 69

imageСегодня мы хотим рассказать о том, как создавали такую, как иногда кажется, очевидную вещь, как интерфейс звонка в Яндекс.Shell. К нашему удивлению, за время работы мы поняли, как давно никто всерьёз не думал над тем, что в большинстве телефонов он функционально не улучшался уже много лет. А мир за это время ушёл вперёд. Настало время бросить ретроспективный взгляд на то, как он создавался, с какими задачами мы столкнулись и к каким решениям пришли.

Короткому и понятному английскому слову «dialer» еще только предстоит обзавестись гармоничным, не режущим слух русским эквивалентом. Если вы заглянете в словарь, то в качестве перевода вам будет предложен зубодробительный «номеронабиратель». Однако в живом языке больше прижились слова «звонилка», «дозвонщик» и «дайлер». В рамках своей внутренней кухни мы привыкли использовать именно последний вариант, его мы и будем придерживаться в этом посте.

К идее о том, что для нашей оболочки нужно создать собственный дайлер, мы пришли, отталкиваясь от того, что в этом сегменте ничего по-настоящему нового не появлялось уже достаточно давно. Существовавшие на тот момент в айфонах и андроидах родные и сторонние дайлеры были весьма убедительны и красивы. Но по функциональности все они недалеко ушли от того, что мы уже видели в обычных мобильниках досмартфонной эры. Необходимо было не просто наделить наш дайлер полным набором привычных ожидаемых функций, вроде списка избранных, журнала звонков или T9, но и пойти существенно дальше, а именно – внедрить в него разработки, до сих пор не встречавшиеся на рынке.

Нашим преимуществом в достижении поставленной цели стало то, что, в отличие от аналогов, Яндекс.Дайлер создавался изначально заточенным под Россию и другие страны присутствия Яндекса, что дало нам возможность учитывать интересы и особенности поведения именно «наших» пользователей. Кроме того, давно разработанные пользовательские сервисы — сильная сторона Яндекса, и именно с их помощью мы рассчитывали улучшить функциональность нашего дайлера.

Но обо всем по порядку.
Читать полностью »

Как устроен Яндекс.Диск: загрузчикМы уже рассказывали о том, как был сделан выбор в пользу протокола WebDAV, а также о проблемах, возникающих на серверной стороне, и их решении.

Сегодня — о том, как устроен загрузчик файлов на сервис, и о чём нужно не забывать, когда пишешь его для сервисов масштаба Яндекс.Диска.

image

Для начала рассмотрим архитектуру сервиса в целом. В основе сервиса лежит mpfs – Магическая проксирующая файловая система. Это бэкэнд, который содержит в себе всю бизнес-логику по работе с файлами, папками, каталогами: все операции по копированию или созданию новых файлов идут через эту систему. Эта же система отвечает и за хранение метаданных.
Читать полностью »

На прошедшем неделю назад чемпионате мира по командному программированию ACM ICPC 2013 было 11 задач, одну из которых за отведённое время не смогла решить правильно ни одна из команд.

Но кроме команд, есть и другие люди, которые профессионально решают задачи, — аналитики чемпионата. В течение трансляции они разбиваются на группы, распределяют задачи и потом рассказывают о них в студии. Множество зрителей следят за эфиром, пока эти ребята не разберут самую последнюю задачу. Кроме того, аналитики подсказывают ведущему, что происходит «на поле», высматривают интересные куски кода, следят за картинкой с веб-камер участников.

В этом году на ACM ICPC был 21 аналитик из Швеции, Нидерландов, США, Словакии, Беларуси и России. И 10 из них были из Яндекса. Все они в разные годы были призёрами ICPC. Специально для Хабра они разобрали все задания чемпионата.

Разбор задачи «Матрёшка» во время трансляции ACM ICPC 2013
Читать полностью »

Меня зовут Андрей Кармацкий, и я руковожу работой над дизайном Яндекс.Карт. Весной я ездил в Новосибирск на конференцию Codefest 2013, на которой рассказывал о том, как мы разрабатываем дизайн Яндекс.Карт. Это была хорошая возможность структурировать накопленные знания в небольшую историю, которой хочется поделиться и с вами.

Почему я люблю карты?

Карты завораживают меня своей красотой, за которой скрывается большой смысл, — информация, кропотливо собранная и структурированная.

Например, Carta Marina братьев Магнусов. Может показаться, что это просто красивая иллюстрация. На самом деле, это уникальный исторический документ, который содержит множество сведений и исторических фактов о Северной Европе XVI века. На сегодняшний день сохранилось только две копии этой карты.

Carta Marina братьев Магнусов

Сегодня, спустя много-много лет, технологии и алгоритмы позволяют творить в картографии невероятные вещи.
 Читать полностью »

Уже сегодня — 3 июля — состоится финал ACM ICPC 2013. Его принимает СПб НИУ ИТМО, команда которого четырежды становилась чемпионом. Яндекс помогает проводить Чемпионат и организовывает прямую трансляцию из Санкт-Петербурга, которая начнётся в 9:15 по московскому времени. Смотреть её можно будет здесь — icpc2013.ru.

Яндекс поддерживает AMC ICPC 2013

Главным ведущим и комментатором будет Fredrik Niemelä, хорошо знакомый тем, кто последние несколько лет смотрит контест в прямом эфире. Помогать Фредерику буду я и Чарльз МакКэтиНевил — представитель Яндекса в W3C. Во время трансляции мы будем брать интервью у гостей чемпионата, среди которых, например, создатель С++ Бьярн Страуструп.

Впервые в истории командного студенческого чемпионата мира любой желающий сможет решить те же задачи, что и участники, и отправить их через судейскую систему Kattis — icpc.kattis.com. Финалисты ICPC пользуются очень похожей.

В этом году в отборочных раундах ACM ICPC участвовали 2322 университета. Всего до финала добралось 120 команд.
Читать полностью »

imageКак многие знают, у нас есть прекрасный веб-сервис для чтения RSS/Atom-лент – Яндекс.Подписки. Однако у него был один небольшой недостаток – больше трех лет внешний API сервиса находился в состоянии бета-версии и практически не развивался, при этом внятная документация к нему отсутствовала. Из-за этого написать на его основе собственное приложение было проблематично. Но ситуация сдвинулась с мертвой точки: обновленный API Подписок официально можно считать открытым, а документация к нему стала доступна на странице Яндекс.API.Читать полностью »

Как Яндекс.Почта стала понимать, что вам нужноНесколько минут назад Яндекс.Почта анонсировала новый подход к чтению и написанию писем. Мы считаем, что современная почта должна быть намного умнее, чем сейчас. Она должна понимать написанное и сразу помогать отреагировать на него. А также лучше позволять своим пользователям делать что-то совместно. Чуть подробнее о новых возможностях можно почитать в нашем пресс-релизе. В этом посте мы хотим рассказать, как работает одно из самых важных нововведений, объявленных сегодня.

Яндекс.Почта умеет напоминать о событиях

Что именно мы сделали

Что если почта начнёт делать за вас рутинную работу, связанную с содержанием письма? Например, поможет не забыть о важном мероприятии, напомнит о предстоящем вылете к морю, даст нужные ссылки и полезную информацию. Мы с коллегами из отдела лингвистики применили совершенно особенную технологию, которая, как мы надеемся, изменит представление о том, что такое электронная почта.
Читать полностью »

Матчеры: когда они полезны и как легко их использоватьАпельсины здесь ни при чёмКак вы могли догадаться по картинке справа, речь пойдёт об автоматизированном тестировании. Точнее о такой технологии, как матчеры. Они помогают серьёзно сократить дублирование кода и упростить код тестов для восприятия, а создавать и использовать матчеры достаточно просто.

Сама по себе технология матчеров не новая — в текущем виде она была залита в репозиторий в июле 2012 года, а появилась и того раньше. Но, несмотря на это, многие о ней до сих пор не слышали или по каким-то причинам избегают. Мы хотим рассказать, как легко получать преимущества от её использования, и поделиться с вами нашей библиотекой матчеров.
Читать полностью »

Сегодня законопроект прошёл второе и третье чтение в Думе. Его окончательная версия ещё хуже, чем промежуточные. Все поправки интернет-отрасли, которые могли бы добавить в механизм регулирования немного здравого смысла, были полностью проигнорированы.

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

Вот её часть: «…лицо, предоставляющее возможность размещения материала или информации, необходимой для его получения с использованием информационно-телекоммуникационной сети, лицо, предоставляющее возможность доступа к материалу в этой сети, — информационный посредник — несёт ответственность за нарушение интеллектуальных прав в информационно-телекоммуникационной сети на общих основаниях, предусмотренных настоящим Кодексом, при наличии вины». Видимо, по мысли законодателей, перед размещением какой-либо ссылки где угодно — например, в комментариях в социальной сети — любому человеку надо заручиться согласием всех возможных правообладателей.

Статья, содержащая эту формулировку, добавляется в общие положения четвёртой части ГК РФ. Это значит, что она будет распространяться на все объекты исключительных прав, включая литературные произведения, фотографии, музыку, патенты, товарные знаки и т.д. Кроме того, в статье говорится, что уведомление провайдеру о блокировке какого-нибудь контента или ссылки на него может содержать только IP-адрес. Такой подход технически безграмотен и ставит под угрозу само существование поисковых систем и любых других интернет-ресурсов.

В такой редакции законопроект направлен против логики функционирования интернета и ударит абсолютно по всем — даже не только по пользователям интернета и владельцам сайтов, но и по самим правообладателям. Выбранный способ регулирования борется не с пиратами, а с интернетом — это все равно, что навсегда закрывать магистраль, на которой произошла одна авария.
Читать полностью »

Яндекс.Алгоритм 2013: новая платформа Яндекс.Contest и правила TCM/TimeЯндекс.АлгоритмЭтим летом Яндекс проведёт олимпиадное мероприятие мирового уровня — Яндекс.Алгоритм. Тысячи талантливых ребят со всех уголков земного шара, посетят нашу новую платформу Яндекс.Contest, где мы предложим им алгоритмические задачи самой разной сложности. Их будут готовить профессионалы из Японии, Польши и Беларуси.

Регистрация на чемпионат открылась 30 мая. И мы попросили одного из организаторов нашего чемпионата Alex_KPR рассказать, чем Яндекс.Алгоритм отличается от других соревнований. Он сначала хотел рассказать о правилах TCM/Time, гибкой системе отбора по GP30, Доме Учёных на берегу Невы. А затем задумался, а что такого особенного в соревнованиях по программированию? И вот какой рассказ у него получился.

«Наверное, самый ранний, самый яркий и неизгладимый след оставил Google Code Jam чёрт знает какой давности. Тогда я учился на первом курсе университета, но уже много и часто решал олимпиадные задачи. Так вышло, что отборочный на полуфинал я писал летом в деревушке Седово, что на берегу Азовского моря. Специально для этого выцепил у матери с работы старенький ноутбук, который не работал без батареи, положил на сим-карту много-много денег, чтобы хоть как-то сидеть в ужасно нестабильном интернете. Так и писал раунд. Проходило 500 участников, и после оглашения финальных результатов я оказался 537-м. Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js