Блоги yandex: Поиск по блогам — Поиск. Справка

Блог Яндекс Диалогов

Программа поощрения лучших навыков: итоги октября

24 октября, 18:00

Подводим итоги программы поощрения лучших навыков в октябре.

Премия Алисы: победители осеннего этапа

30 сентября, 11:00

Объявляем победителей осеннего этапа нашего главного конкурса для разработчиков голосовых навыков Алисы.

Программа поощрения лучших навыков: итоги сентября

22 сентября, 18:00

Подводим итоги программы поощрения лучших навыков в сентябре.

Номинанты на осеннюю премию Алисы

15 сентября, 18:00

Публикуем шорт-лист навыков, которые были отобраны нашими жюри для осенней премии Алисы.

Программа поощрения лучших навыков: итоги августа

24 августа, 18:00

Подводим итоги программы поощрения лучших навыков в августе.

Программе поощрения лучших навыков 1 год: подводим итоги и оглашаем победителей июля

25 июля, 17:00

Сегодня программе поощрения лучших навыков исполняется ровно год — поздравляем разработчиков и делимся важными результатами.

Премия Алисы: победители летнего этапа

7 июля, 18:00

Объявляем победителей летнего этапа нашего главного конкурса для разработчиков голосовых навыков Алисы.

Программа поощрения лучших навыков: итоги июня

24 июня, 15:30

Подводим итоги программы поощрения лучших навыков в июне.

Номинанты на летнюю Премию Алисы

20 июня, 17:00

Шорт-лист навыков, которые наше жюри отобрало для весенней Премии Алисы.

Программа поощрения лучших навыков: итоги мая

24 мая, 18:00

Подводим итоги программы поощрения лучших навыков в мае.

Победители весеннего этапа премии Алисы

26 апреля, 17:00

Настало время подвести итоги весеннего этапа премии Алисы в 2022 году.

Программа поощрения лучших навыков: итоги апреля

25 апреля, 16:30

Подводим итоги программы поощрения лучших навыков в апреле.

Номинанты на весеннюю премию Алисы

1 апреля, 18:31

Настало время опубликовать шорт-лист навыков, которые наше жюри отобрало для весенней Премии Алисы.

Программа поощрения лучших навыков: итоги марта

28 марта, 17:00

Подводим итоги программы поощрения лучших навыков в марте.

Программа поощрения лучших навыков: итоги февраля

14 марта, 18:15

Подводим итоги программы поощрения лучших навыков в феврале.

Премия Алисы в 2022 году: этапы конкурса

11 февраля, 18:00

Премия Алисы для разработчиков навыков продолжается! 

Программа поощрения лучших навыков на Станциях продолжается!

4 февраля, 17:00

Рассказываем об этапах программы поощрения в 2022 году и подводим итоги января!

Победители зимнего этапа премии Алисы

29 декабря 2021, 18:00

Подводим итоги главного конкурса для разработчиков навыков Алисы.

Программа поощрения лучших навыков: итоги декабря

23 декабря 2021, 18:00

Навыки-номинанты на зимнюю Премию Алисы

16 декабря 2021, 15:00

Настало время опубликовать шорт-лист навыков, которые наше жюри отобрало для новой Премии Алисы.

Обратная связьВсе блоги сервисов© 2013–2022  «Яндекс»

Яндекс, Москва — Как мы делаем Яндекс / Статьи / Хабр

spiralis

Блог компании Яндекс Open source *Открытые данные *Машинное обучение *Экология

Всем привет! Я работаю в MaritimeAI, и вместе с Yandex Cloud мы строим систему, которая позволяет учёным в НИИ биологии Иркутского государственного университета мониторить экологию озера Байкал.

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

Читать дальше →

Всего голосов 20: ↑20 и ↓0 +20

Просмотры

2. 8K

Комментарии 13

alejes

Блог компании Яндекс Поисковые технологии *Программирование *Алгоритмы *Машинное обучение *

У вас бывало, что открываешь поиск, ищешь что-то по программированию и не находишь ответ? Тогда эта история для вас. 

Меня зовут Алексей Степанов, я руковожу службой исследований машинного обучения поиска Яндекса. Сегодня я расскажу непростую историю. Она про проблему, до решения которой у нас слишком долго не доходили руки. Из поста вы узнаете, почему стандартная метрика качества поиска не учитывала интересы разработчиков и как мы её улучшили. Расскажу про новую нейросеть CS YATI, обученную понимать таких же айтишников, как и мы. Ну и про грабли на нашем пути тоже расскажу, куда без них.

Этот пост основан на моём докладе с Data Fest 2022, но не во всём (мой коллега Максим Хурсанов @Maxim2207 существенно расширил историю).

Читать далее

Всего голосов 89: ↑87 и ↓2 +85

Просмотры

28K

Комментарии 66

mryab

Блог компании Яндекс Open source *Машинное обучение *Распределённые системы *Искусственный интеллект

Привет, это снова Максим Рябинин, исследователь в Yandex Research. В прошлом году я рассказывал на Хабре о том, как вместе с Hugging Face, Университетом Торонто и волонтёрами мы обучили state-of-the-art модель для бенгальского языка и написали об этом статью на конференцию NeurIPS. Теперь хотим поделиться новым результатом: оказывается, технологии для обучения на нестабильном железе находят приложение и внутри привычных всем кластеров.

Используя вычислительную платформу Яндекса, мы обучили RuLeanALBERT — нейросеть, показывающую сравнимые с другими открытыми моделями и где-то даже близкие к state-of-the-art результаты на бенчмарках по пониманию русского языка — Russian SuperGLUE и RuCoLA. Наша модель хотя и имеет миллиарды параметров, но вполне способна вместиться в одну домашнюю GPU: вы можете использовать её в своих проектах для классификации предложений, представления текстов и других языковых задач, не требующих генерации. В статье можно прочитать о подробностях обучения, которые мы реализовали в открытом коде, а чекпоинт теперь тоже доступен всем желающим.


Примерно так выглядит процесс обучения на множестве независимых серверов


Читать дальше →

Всего голосов 52: ↑52 и ↓0 +52

Просмотры

10K

Комментарии 8

korgov

Блог компании Яндекс Разработка мобильных приложений *Тестирование мобильных приложений *Компьютерное железо DIY или Сделай сам

Все новые сервисы Яндекса, а также апдейты к существующим приложениям и сайтам нужно тестировать: на айфонах, андроидах, десктопах, умных колонках, телевизорах. Раньше часть тестировщиков работали на личных телефонах и компьютерах, а часть — использовали для тестов корпоративные девайсы. Процесс не был гибким и с трудом масштабировался. Поэтому мы сделали свою клауд-ферму устройств. Сначала ей пользовались только отдельные команды тестирования, но со временем ферма стала особенно популярна и среди разработчиков. В итоге мы собрали почти 800 разных девайсов, которые теперь доступны 24/7.

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

Читать дальше →

Всего голосов 106: ↑106 и ↓0 +106

Просмотры

23K

Комментарии 50

Tayrinn

000Z» title=»2022-08-26, 08:55″>26 августа в 08:55

Блог компании Яндекс Open source *Разработка мобильных приложений *Интерфейсы *GitHub *

Привет! Сегодня Яндекс выкладывает в опенсорс DivKit — фреймворк для отрисовки интерфейсов из ответа сервера. Серверная вёрстка поможет ускорить разработку: наладить отправку апдейтов от сервера разным версиям приложения, создать прототип или просто написать интерфейс один раз для нескольких платформ.

Фреймворк включает в себя несколько библиотек: клиентскую часть по отрисовке интерфейсов для Android, iOS и веба, а также DSL для формирования ответа сервера на Kotlin, TypeScript и Python. Исходный код опубликован на Гитхабе под лицензией Apache 2.0.

Сейчас DivKit используется в приложении Яндекс, Алисе, Едадиле, Маркете, ТВ и других приложениях. В этом посте я постараюсь вспомнить историю фреймворка, затем мы напишем с его помощью небольшой просмотрщик ленты Хабра, а в конце я покажу ещё несколько простых примеров интеграции.


Читать дальше →

Всего голосов 124: ↑117 и ↓7 +110

Просмотры

34K

Комментарии 45

ieBoytsov

Блог компании Яндекс Поисковые технологии *Алгоритмы *Машинное обучение *

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

В параметрическом поиске Авто.ру действует правило: незачем строить за пользователя предположения о том, что он имел в виду. Мы в любом случае покажем все объявления, соответствующие поисковым фильтрам в запросе. Роль движка ранжирования — отсортировать карточки так, чтобы наиболее релевантные для конкретного пользователя оказались выше, не более. Я работаю над этим уже несколько месяцев, сейчас расскажу об устройстве движка и первых результатах.

Читать дальше →

Всего голосов 19: ↑16 и ↓3 +13

Просмотры

3K

Комментарии 6

sdukanov

5 августа в 09:55

Блог компании Яндекс Браузеры Машинное обучение *Софт Искусственный интеллект

Осенью прошлого года мы рассказали читателям Хабра, как работает голосовой перевод видео в Яндекс Браузере. За первые десять месяцев пользователи посмотрели видеоролики с закадровым переводом 81 миллион раз. Механизм действует по запросу: нейросеть получает аудиодорожку целиком, а звук на понятном пользователю языке появляется с задержкой в пару минут.

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

Чтобы всё заработало, перезапустите Яндекс Браузер. Анонсы новых устройств, спортивные соревнования, вдохновляющие космические запуски — этот и другой контент теперь можно смотреть сразу на родном языке. Закадровый голосовой перевод сейчас доступен для некоторых каналов на YouTube, а в будущем, конечно, включить дубляж можно будет в любой YouTube-трансляции. Чтобы адаптировать механизм перевода для стримов, потребовалось переработать всю архитектуру.

Читать дальше →

Всего голосов 47: ↑46 и ↓1 +45

Просмотры

14K

Комментарии 14

poldnev

Блог компании Яндекс Высокая производительность *Программирование *Администрирование баз данных *

В любой команде разработки бывают курьёзные случаи, которые разработчики потом вспоминают за пиццей. Сторонний человек, тоже пришедший отведать пиццы, обычно эти внутренние байки не понимает, потому что не был в комнате в тот момент, когда «треснул шард» или «движку поплохело».

Я делаю баннерную крутилку, делаю давно и уже оброс такими историями со всех сторон. Мне удалось уговорить команду рассказать на камеру хотя бы часть историй — с контекстом, чтобы зритель не чувствовал себя тем самым сторонним человеком. Надеюсь, читателям Хабра наши грабли покажутся интересными. Всего будет семь историй.

Высвобождение ресурсов

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

Читать дальше →

Всего голосов 32: ↑30 и ↓2 +28

Просмотры

9.2K

Комментарии 14

antoshkka

Блог компании Яндекс Высокая производительность *Open source *C++ *GitHub *

Сегодня мы анонсируем выход в опенсорс фреймворка userver для создания высоконагруженных приложений. Для нас это важный способ поделиться опытом в разработке микросервисов, который мы накопили. Вот ссылка на Гитхаб-репозиторий c исходным кодом, документацией, примерами, шаблоном для создания своих сервисов (с настроенным CI, сборкой и тестовым окружением) и сервисом динамических конфигов. Всё это опубликовано под лицензией Apache 2.0.

🐙userver позволяет быстро создавать эффективные микросервисы на языке C++ и уже много лет активно используется в Яндекс Go, Еде, Лавке, Доставке, Маркете, финтехе и других проектах. Вот из каких требований мы исходили в процессе разработки:

  • Простота. Стажёр или студент, приходя к нам, может уже через неделю написать и отправить в продакшен новый микросервис.
  • Надёжность. Многие ошибки, в том числе и связанные с многопоточностью, можно поймать на этапе компиляции. Кроме того, фреймворк даёт подсказки по исправлению проблем.
  • Полнота. В userver есть всё необходимое для тестирования, работы с разными базами данных, кеширования, логирования, трейсинга, распределённых блокировок, работы с JSON, BSON, YAML, изменения параметров сервиса на лету и так далее.

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

Читать дальше →

Всего голосов 177: ↑173 и ↓4 +169

Просмотры

54K

Комментарии 140

Arturka

Блог компании Яндекс Разработка мобильных приложений *Разработка под Android *Kotlin *Gradle *

Tutorial

Всем привет! Наверняка каждый Android-разработчик хоть раз сталкивался с проблемой скорости сборки своего проекта. После нехороших слов в адрес кодогенерации, покупок более мощного железа, многочисленных попыток распилить проект на небольшие параллельно собираемые модули и прохождений всех стадий торга мы продолжаем искать решение этой проблемы. К счастью, за годы развития и в Gradle, и Android Gradle Plugin (AGP) появилось много полезных штук для ускорения сборки, о которых я расскажу дальше.

Несмотря на шутку в адрес многомодульности, это действительно полезный подход, но для большого проекта с богатой историей модуляризация может быть очень сложным процессом. Поэтому пока давайте посмотрим, что можно сделать без больших болей на уровне Gradle и AGP.

Я расскажу на примере мобильного Яндекс Браузера. У нас было ~150 Gradle-модулей, ~2 млн LoC на Java/Kotlin, десяток Gradle-плагинов, тысячи строк кода в buildSrc и лёгкая дрожь от вопроса, сколько ещё может переварить билд-система. Не скажу, что это всё было категорически необходимо, но к написанным строчкам кода надо проявлять уважение.

Читать дальше →

Всего голосов 30: ↑30 и ↓0 +30

Просмотры

9.8K

Комментарии 19

antoshkka

Блог компании Яндекс Программирование *C++ *Компиляторы *IT-стандарты *

На недавней встрече комитет C++ «прорвало», и в черновую версию C++23 добавили:

  • std::mdspan
  • std::flat_map
  • std::flat_set
  • freestanding
  • std::print("Hello {}", "world")
  • форматированный вывод ranges
  • constexpr для bitset, to_chars/from_chars
  • std::string::substr() &&
  • import std;
  • std::start_lifetime_as
  • static operator()
  • [[assume(x > 0)]];
  • 16- и 128-битные float
  • std::generator
  • и очень много другого

Подробности

Всего голосов 82: ↑81 и ↓1 +80

Просмотры

18K

Комментарии 177

andruy94

Блог компании Яндекс Программирование *Математика *Визуализация данных *Звук

Разработчики всего мира потратили миллионы часов на создание визуализаций музыки в приложениях и плеерах. Наверняка многие из вас помнят анимации в старом-добром Winamp. Или разные скины JetAudio. Олды вообще скажут: «Погоди-ка, ты забыл про Atari Video Music, всего-то 1976-й был!» — и будут правы.

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

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

Меня зовут Андрей Бобков, я Android-разработчик, и в этом посте я расскажу, как при помощи высшей математики и цифрового анализа сигнала мы научили Мою волну чувствовать треки, которые вы слушаете, и визуализировать частоты.

Читать дальше →

Всего голосов 39: ↑37 и ↓2 +35

Просмотры

11K

Комментарии 48

svipy

Блог компании Яндекс Блог компании Яндекс Практикум Python *C++ *Go *

Один из вариантов мини-IDE в интерфейсе урока

Привет! Меня зовут Павел Свиридов, я руководитель группы разработки в Яндекс Практикуме. Сегодня я вместе со своим коллегой, разработчиком Владимиром Лукьяновым, хочу рассказать о том, как наша команда развивала онлайн-тренажёры в вебе — это такие маленькие среды разработки, встроенные в курсы Практикума. Основное внимание уделю тренажёрам Python и С++, а о других языках скажу пару слов в самом конце и покажу на примере, как создать тренажёр для языка Go.

Читать дальше →

Всего голосов 29: ↑27 и ↓2 +25

Просмотры

11K

Комментарии 5

danis_gaiazov

Блог компании Яндекс Data Mining *Геоинформационные сервисы *Accessibility *Машинное обучение *

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

Я Данис Гаязов из внутреннего сервиса Crowd, команды полевого краудсорсинга. Полевого, потому что мы работаем «в поле», то есть не в офисе. Сегодня по случаю запуска я расскажу, зачем Картам пешеходы и как они помогали и помогают делать сервисы более полезными.


Результат работы пешехода на заре проекта схем ТЦ

Читать дальше →

Всего голосов 24: ↑22 и ↓2 +20

Просмотры

6.2K

Комментарии 20

yupych

Блог компании Яндекс Производство и разработка электроники *Компьютерное железо DIY или Сделай сам Звук

«Не бывает неинтересных задач, бывают неинтересные исследователи».
— Александр Михайлович Гуськов, профессор МГТУ им. Н. Э. Баумана

Привет, меня зовут Григорий Анненков, я тот, кто предложил и внедрил апериодическую решётку для Яндекс Станции 2. Она установлена под тканью, вокруг динамиков и других компонентов.

Кто-то скажет, что работать над формой решётки — никому не нужный перфекционизм. Для меня как для инженера это была интереснейшая задача, результаты которой (и я это сейчас докажу) повлияли на качество звука колонки, пусть и не настолько же сильно, как, скажем, подбор моделей динамиков. Только улучшение это условно-бесплатное, поскольку мы используем тот же объём пластика, разве что формы чуть сложнее привычных.

Под катом — история прототипирования, очень много картинок, гифок и акустических экспериментов. Трёхмерные модели решётки мы выложили на Гитхаб, подробности — в конце поста.

Читать дальше →

Всего голосов 111: ↑111 и ↓0 +111

Просмотры

27K

Комментарии 74

MichaelEk

Блог компании Яндекс Open source *Алгоритмы *Машинное обучение *Natural Language Processing *

Больше примеров — в конце поста

В последние годы большие языковые модели на архитектуре трансформеров стали вершиной развития нейросетей в задачах NLP. С каждым месяцем они становятся всё больше и сложнее. Чтобы обучить подобные модели, уже сейчас требуются миллионы долларов, лучшие специалисты и годы разработки. В результате доступ к современным технологиям остался лишь у крупнейших IT-компаний. При этом у исследователей и разработчиков со всего мира есть потребность в доступе к таким решениям. Без новых исследований развитие технологий неизбежно снизит темпы. Единственный способ избежать этого — делиться с сообществом своими наработками.

Год назад мы впервые рассказали Хабру о семействе языковых моделей YaLM и их применении в Алисе и Поиске. Сегодня мы выложили в свободный доступ нашу самую большую модель YaLM на 100 млрд параметров. Она обучалась 65 дней на 1,7 ТБ текстов из интернета, книг и множества других источников с помощью 800 видеокарт A100. Модель и дополнительные материалы опубликованы на Гитхабе под лицензией Apache 2.0, которая допускает применение как в исследовательских, так и в коммерческих проектах. Сейчас это самая большая в мире GPT-подобная нейросеть в свободном доступе как для английского, так и для русского языков.

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

Читать дальше →

Всего голосов 166: ↑165 и ↓1 +164

Просмотры

78K

Комментарии 134

danilchenkoandrey

Блог компании Яндекс Поисковые технологии *Алгоритмы *Геоинформационные сервисы *Машинное обучение *

Раньше Карты, Поиск и Алиса отвечали на запросы об организациях, во многом основываясь на данных от самих организаций. Это был нормальный компромисс, но всегда можно сделать лучше.

Теперь учитываются ещё и реальные отзывы людей. Тем самым запросы, по которым раньше выдача была менее релевантной, обрабатываются качественнее, и мы можем решить больше пользовательских задач. Давайте расскажу, как мы к этому шли, и покажу примеры.

Читать дальше →

Всего голосов 17: ↑16 и ↓1 +15

Просмотры

3.6K

Комментарии 18

Rugged

Блог компании Яндекс Разработка мобильных приложений *Проектирование и рефакторинг *Разработка под Android *Kotlin *

Однажды ты просыпаешься и понимаешь: избыточность компонентов и рассинхронизация в твоём приложении начинают вредить пользователям. Однажды ты смотришь на написанное давным-давно ядро, плачешь горькими слезами, и приходит это некомфортное, но вместе с тем немного соблазнительное ощущение — что рефакторинг назрел. Добро пожаловать на экскурсию по рефакторингу Музыки, начиная с ресёрча и заканчивая эксплуатацией! Я покажу вам реальный код и постараюсь в деталях вспомнить, как мы формировали требования к механизмам и разрабатывали их, рисовали у себя в голове и в коде границы ядра, по одной переделывали очереди и внедряли то, что получилось, в SDK.

Читать дальше →

Всего голосов 57: ↑54 и ↓3 +51

Просмотры

30K

Комментарии 111

sergio42

Блог компании Яндекс Высокая производительность *Анализ и проектирование систем *Серверная оптимизация *Распределённые системы *

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

Меня зовут Сергей Фомин, я разработчик Yandex Planner. Мой пост будет посвящён тому, как мы эффективно решаем задачу планирования вычислительных мощностей.

Сначала я расскажу, что такое Yandex Planner и почему мы решили писать своё решение. После этого мы поговорим про то, в чём заключается задача планирования, почему она не такая простая, как может показаться на первый взгляд. И в качестве одного из способов решения задачи мы рассмотрим дефрагментацию ресурсов. Поехали.

Читать дальше →

Всего голосов 47: ↑47 и ↓0 +47

Просмотры

8.6K

Комментарии 2

victor-homyakov

Блог компании Яндекс Разработка веб-сайтов *JavaScript *Интерфейсы *Node.JS *

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

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

Разрабатывая проект на JavaScript (TypeScript, ClojureScript или каком-то другом языке, транслируемом в JavaScript), мы привыкли создавать объекты, массивы, строки и вообще писать код, как будто память бесконечна. Это не так. Я расскажу о видах проблем с памятью, о том, какие ограничения мы часто забываем и как их можно преодолеть. В ответ браузеры и пользователи скажут вам спасибо.


  • Категории проблем с памятью
  • Ограничения по памяти для разных типов данных
     Heap
     Buffer, TypedArray
     String
     Map, Set
     Call stack
     Типичные задачи, в которых можно наткнуться на ограничения по памяти
  • Soft-утечки
     Пример из продакшена
     Как получаются soft-утечки
     Как их обнаружить
     Как найти причину
      1. Memory Allocation Timeline
      2. Техника трёх снапшотов
      3. queryObjects
      Тренируемся находить утечки
  • Hard-утечки
     Пример из продакшена
     Как бороться
  • Нестандартные оптимизации памяти в Node.js
     Исходный код
     Module._pathCache
     Несколько версий пакета в node_modules
     require(‘./data.json’)
  • Заключение

Читать дальше →

Всего голосов 55: ↑55 и ↓0 +55

Просмотры

24K

Комментарии 12

записей в блоге — Codeforces

Блог Яндекса

Алгоритм Яндекса 2021 открыт!

Всем привет,

Рады сообщить, что Яндекс снова включает Яндекс. Алгоритм в чемпионат по программированию. Трек «Алгоритм» — отличная возможность решить интересные задачи, посоревноваться с участниками со всего мира и выиграть денежные призы. В этом году чемпионат будет проходить полностью онлайн.

Расписание:

  • Пробный этап начинается 20 сентября в 12:00 и заканчивается 26 сентября в 23:59

  • Отборочный этап начинается 27 сентября в 12:00 и заканчивается 3 октября в 23 :59. Он будет организован в виде виртуального конкурса.

  • Финальный тур состоится 16 октября. Время будет объявлено дополнительно. В финальный тур попадут участники, набравшие не менее пяти баллов в квалификационном раунде.

Задания Алгоритма доступны на английском и русском языках.

Prizes:

  • 1st place: 300,000 rubles

  • 2nd place: 250,000 rubles

  • 3rd place: 200,000 rubles

  • 4th place: 150,000 rubles

  • 5th place: 100,000 rubles

Будут футболки для топ-30 в каждой категории.

Регистрация открыта до окончания отборочного тура. Чтобы узнать больше и зарегистрироваться, перейдите на сайт: https://yandex.com/cup/algorithm/

Хочу поблагодарить команду Алгоритма и лично тимлида категории Chmel_Tolstiy

UPD: Идет отборочный тур. Это двухчасовой виртуальный конкурс, и участник должен начать участие (необходима регистрация) до 23:59 3 октября (время московское, UTC+3).

UPD2: Квалификационный раунд завершен. Спасибо всем за участие! Upsolving: https://contest.yandex.ru/contest/29878/enter/

UPD3: Квалификационный раунд Редакция: https://codeforces.com/blog/entry/95880

UPD4: Алгоритм 2021 закончен! Поздравляем победителей ksun48, Radewoosh и Um_nik

Отдельное спасибо туристу за отличное выступление и первое место вне конкурса.

Все желающие могут зарегистрироваться для просмотра задач или дорешения: https://contest.yandex.ru/contest/30228/enter/

Полный текст и комментарии »

яндекс, алгоритм яндекс, яндекс кубок

  • +147
  • Яндекс
  • 15 месяцев назад
  • 80

Яндекс. Алгоритм возвращается!

Всем привет,

Рады сообщить, что Яндекс снова включает Яндекс.Алгоритм в чемпионат по программированию. Трек «Алгоритм» — отличная возможность решить интересные задачи, посоревноваться с участниками со всего мира и выиграть денежные призы. В этом году чемпионат будет проходить полностью онлайн.

Расписание:

  • Пробный этап начинается 21 сентября в 12:00 и заканчивается 18 октября в 23:59

  • Отборочный раунд начинается 19 октября в 12:00 и заканчивается 25 октября в 23:59. Он будет организован в виде виртуального конкурса. Участникам будет предложено шесть задач, на решение которых отводится 120 минут.

  • Финальный тур состоится 7 ноября. Время будет объявлено дополнительно. В финальный тур попадут участники, набравшие не менее пяти баллов в квалификационном раунде.

Задания Алгоритма доступны на английском и русском языках.

Призы:

  • 1 -е место: 300 000 рублей

  • 2 -е место: 150 000 рублей

  • 3 -е место: 100 000 рублей

Регистрация открыта до конца. Узнать подробности и зарегистрироваться можно на сайте: https://yandex.com/cup/algorithm/

UPD:

Финал Algorithm 2020 завершен! Спасибо всем за участие!

Более подробная информация доступна в комментарии Chmel_Tolstiy

До встречи на следующих соревнованиях!

Полный текст и комментарии »

яндекс, алгоритм яндекс, чашка яндекс

 

 

 

 

  • +254
  • Яндекс
  • 2 года назад
  • 63

С днем ​​рождения, Codeforces!

Уважаемый Codeforces,

С 10-летием Яндекса! За последние десять лет вы стали больше, чем просто площадкой для соревнований, превратившись в хаб сообщества, где люди могут общаться, обсуждать интересные задачи и заводить полезные знакомства — большая часть жизни каждого соревновательного программиста. Продолжайте в том же духе – продолжайте расти и развиваться!

Codeforces с ее огромным вкладом в спортивное программирование очень важен для всего сообщества спортивных программистов по всему миру. Яндекс активно поддерживает конкурсы и соревнования по программированию и ценит то, что делает Codeforces, благодаря большому количеству талантливых сотрудников с опытом работы в соревновательном программировании. Без этого сообщества все было бы иначе.

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

P.S. Это официальный аккаунт Яндекса. Следите за нами на Codeforces и следите за обновлениями!

Полный текст и комментарии »

 

 

 

 

  • +1417
  • Яндекс
  • 3 года назад
  • 19


Яндекс и вопросы конфиденциальности данных | Аваст

Сеть блоггеров по безопасности SBN News

от блога Avast, 8 апреля 2022 г.

Частные данные могут быть собраны из тысяч приложений для Android и iOS с помощью Яндекса, ведущей поисковой системы в России, считают исследователи безопасности. Вопрос вращается вокруг того, как эти данные могут быть доступны российским госорганам. Помимо того, что Яндекс является поисковым порталом, он также создает комплект для разработки программного обеспечения (SDK) под названием AppMetrica, который занимается аналитикой использования приложений и маркетингом и похож на Google Firebase. SDK был включен в более чем 52 000 различных приложений, включая игры и приложения для обмена сообщениями.

Спонсорство доступно

Более тревожным является то, что этот SDK был использован для создания 2000 новых приложений, которые были недавно добавлены в магазины приложений после российского вторжения в Украину, а также используются в сотнях VPN, включая 21 из них, недавно добавленных после вторжение. Похоже, эти приложения предназначены для отслеживания перемещений украинских пользователей. Исследователи, чьи утверждения были подтверждены независимо, обнаружили, что данные сотен миллионов пользователей собираются и отправляются на серверы как в России, так и в Финляндии.

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

Статья, первоначально опубликованная в британской газете Financial Times, привлекла внимание Google, которая «признала, что у нее есть еще много работы, чтобы обеспечить пользователям прозрачность того, какие SDK используются для создания приложений, и заявила, что проведет расследование». Apple рекламировала свои рекомендации по прозрачности отслеживания приложений для разработчиков, но исследователи нашли множество способов обойти эти рекомендации, например, используя отпечатки пальцев устройства или холста. После российского вторжения поставщик мобильных игр Gismart и VPN Opera удалили код AppMetrica SDK из своих приложений в качестве меры предосторожности, даже до того, как стало известно о его возможном злоупотреблении.

У пользователей нет простого способа определить, используется ли SDK их мобильными приложениями, без доступа к различным инструментам разработчика, хотя с внедрением соответствующих законодательных рамок, законов и политик эта информация постепенно становится все более доступной. доступны пользователям. Например, в ЕС многие из этих функций отслеживания регулируются GDPR, который накладывает строгие ограничения на то, какие данные отслеживаются и как их можно обрабатывать. Все, что нарушает это соответствие, потенциально может быть оштрафовано ЕС, а также может быть обнаружено различными поставщиками средств безопасности.

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

Освежите свои методы обеспечения конфиденциальности мобильных данных

Ондрей Дэвид, аналитик вредоносных программ и разработчик Android в Avast, предлагает несколько советов, которые следует учитывать, чтобы обеспечить максимальную безопасность ваших данных.

«Придерживайтесь известных брендов, с которыми вы знакомы, и обязательно ознакомьтесь с их лицензионными соглашениями и условиями. Особенно обратите внимание на разделы этих материалов, посвященные конфиденциальности и обработке данных, поскольку компании обычно обязаны информировать пользователя о том, как обрабатываются и хранятся их данные, и из этого можно извлечь много подсказок. Обычно используемые SDK для отслеживания также перечислены в этих документах».

Кроме того, Дэвид советует людям использовать функции, связанные с конфиденциальностью, которые предоставляют современные устройства, включая отключение отслеживания рекламы в настройках ОС, включение доступа к приложению только при его использовании (или при необходимости), а не просто автоматическое предоставление разрешений приложениям. потому что они просят их, и проверяя настройки приложения на наличие соответствующих настроек конфиденциальности и рекламы. Это означает, что нужно уделять особое внимание этим разрешениям, когда вы запускаете приложение после его установки.

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

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *