Pull to refresh
0
0

Пользователь

Send message

Улучшаем динамические таблицы YTsaurus с помощью алгоритмов

Reading time 17 min
Views 4.1K

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

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

В этой статье разберёмся, как работает xor-фильтр, в чём особенность чанкового хеш-индекса и как overload controller повышает стабильность работы. Все примеры разберём на примере YTsaurus, но они будут полезны любому разработчику СУБД.

Читать далее
Total votes 36: ↑35 and ↓1 +34
Comments 6

Китайский язык очень сложный. Мы сделали для него перевод видео

Reading time 6 min
Views 23K


Привет, меня зовут Артур Яковлев, я делаю голосовой перевод видео в Яндекс Браузере. Примерно с лета я работаю над тем, чтобы научить Браузер переводить с китайского на русский. Почему мы посчитали это важной и интересной задачей? Дело в том, что китайская часть интернета содержит значительное количество видеоконтента, который за пределами страны почти не смотрят.

Множество диалектов, влияющие на смысл тоны и грамматические нюансы — ряд особенностей китайского усложняют разработку распознавания речи. Сейчас я коротко расскажу читателям Хабра о трудностях языка и объясню, как мы их преодолели.
Читать дальше →
Total votes 114: ↑107 and ↓7 +100
Comments 56

Запуск кода CUDA на видеокартах AMD

Reading time 3 min
Views 36K

Большая часть приложений использующих ускорение при помощи видеоускорителей основаны на платформе CUDA. Есть ли выход из этой ситуации у владельцев видеокарт от AMD?

Читать далее
Total votes 71: ↑70 and ↓1 +69
Comments 16

[Pet] Двумерная симуляция взаимодействия небесных тел на C++

Reading time 6 min
Views 6.7K

Здравствуй, мир!

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

Больше
Total votes 19: ↑16 and ↓3 +13
Comments 23

Профайлер Бедного Человека: первое знакомство и (приятные) последствия

Reading time 9 min
Views 12K


Если вам приходилось оптимизировать работу программ, то вы могли слышать о Профайлере Бедного Человека. Этой идее даже посвящён целый сайт. ПБЧ собирает статистику времени выполнения отдельных функций программы, «подглядывая» в процесс её исполнения с помощью дебаггера. Концепт ПБЧ хорошо прижился у нас в движке баннерной крутилки — не буду в 100 500-й раз напоминать, что у Яндекса всё высоконагруженное, ресурсоёмкое и нуждающееся в профилировании. Статья будет полезна тем, кто пилит инфраструктуру, адаптирует какой-нибудь общеизвестный профайлер под себя или просто хочет больше знать про свои программы. Как мы пришли к необходимости в ПБЧ и что именно сделали? Сейчас постараюсь рассказать, местами буду закапывать глубоко в технологии (если переусердствую, пишите в комментариях). А начну со стандартного инструмента статистического профилирования в Linux — perf.
Читать дальше →
Total votes 30: ↑29 and ↓1 +28
Comments 20

Яндекс выпускает DivKit — фреймворк для server-driven UI с открытым кодом

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


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

Сейчас DivKit используется в приложении Яндекс, Алисе, Едадиле, Маркете, ТВ и других приложениях. В этом посте я постараюсь вспомнить историю фреймворка, затем мы напишем с его помощью небольшой просмотрщик ленты Хабра, а в конце я покажу ещё несколько простых примеров интеграции.
Читать дальше →
Total votes 124: ↑117 and ↓7 +110
Comments 49

Яндекс выложил в опенсорс бету фреймворка userver

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



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

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

Сейчас я расскажу о том, как возникла идея userver, как фреймворк развивался, в каких задачах его сейчас используют и почему именно выход в опенсорс был логичным следующим шагом. А затем приведу пример написания нового микросервиса.
Читать дальше →
Total votes 177: ↑173 and ↓4 +169
Comments 142

Яндекс выложил YaLM 100B — сейчас это крупнейшая GPT-подобная нейросеть в свободном доступе. Вот как удалось её обучить

Reading time 10 min
Views 116K

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

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

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

В этой статье мы поделимся не только моделью, но и нашим опытом её обучения. Может показаться, что если у вас уже есть суперкомпьютер, то с обучением больших моделей никаких проблем не возникнет. К сожалению, это заблуждение. Под катом мы расскажем о том, как смогли обучить языковую модель такого размера. Вы узнаете, как удалось добиться стабильности обучения и при этом ускорить его в два раза. Кстати, многое из того, что будет описано ниже, может быть полезно при обучении нейросетей любого размера.
Читать дальше →
Total votes 166: ↑165 and ↓1 +164
Comments 139

Максимально подробное FAQ с глупыми вопросами про зубы и пломбы

Reading time 11 min
Views 27K

Маленькое входное отверстие, через которое пробрались бактерии, иссечённая кариозная полость и пломба в конце

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

— Что такое пломба?


Это когда мы высверливаем вам кусок зуба и заливаем на его место цемент с полимером, который станет заменой тканей зуба.

— Я буду чувствовать что-то пломбой?


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

— То есть можно поменять эту верхнюю часть без особых проблем?


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

В общем, давайте поговорим про глупые вопросы про пломбы, которые оказываются не такими уж и глупыми.
Читать дальше →
Total votes 61: ↑58 and ↓3 +55
Comments 34

Россия уходит с криптовалютного рынка?

Reading time 5 min
Views 8.3K

Увеличение цен на железо в последнее время делало майнинг затратным процессом - приходилось долго ждать, прежде чем недешевые видеокарты окупятся, торги тоже были рискованным занятием из-за нестабильного курса биткоина. Однако последние события сделали добычу криптовалюты и сделки с ней еще сложнее. Nvidia и AMD ушли с российского рынка, а платформы блокируют российские банки и замораживают кошельки. Добывать и покупать криптовалюту в России стало почти невозможно… почти. Кто-то пророчит с этими событиями крах российского участия в криптовалютном бизнесе, осталась ли надежда?

Читать далее
Total votes 5: ↑3 and ↓2 +1
Comments 19

KB2 — Или успеть на все платформы

Reading time 22 min
Views 9.4K

King’s Bounty II, на первый взгляд визуально простая игра, но в ней сосредоточено огромное множество сложных и комплексных технических решений, продиктованных одновременным выходом на все платформы. Отдельным, и, пожалуй, самым сложным  испытанием для команды стало портирование на Nintendo Switch.

Осторожно, Лонгрид!
Рекомендую заготовить чай с печеньками.
Много интересной информации про очень разные технические аспекты разработки.

Читать далее
Total votes 15: ↑15 and ↓0 +15
Comments 7

Собеседования в Яндекс: взгляд бэкендера

Reading time 12 min
Views 48K
Меня зовут Максим Бабенко, и, может быть, вы знаете меня как преподавателя ШАДа (или как автора рассказа про технологию YT на Хабре).

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

В Яндексе я работаю уже больше 12 лет и повидал все наши изменения процесса собеседования. Сегодня я расскажу о наших интервью, попробую разобрать самые популярные мифы и объяснить, чем они обусловлены.
Читать дальше →
Total votes 70: ↑52 and ↓18 +34
Comments 106

Магистратура и аспирантура в Японии: 10 лет спустя

Reading time 7 min
Views 9K

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

Основной особенностью отлаженной системы является её отлаженность. А это значит, что за истекшие десять лет мало что поменялось, и предыдущая статья по большей части актуальна. Кое-где обновились ссылки, слегка подкорректировались процедуры, но не более того. Моё же собственное понимание среды, надеюсь, стало немного более выпуклым, трёхмерным. Поэтому имеет смысл поделиться несколькими соображениями о том, как это всё выглядит по прошествии некоторого времени. (КДПВ: агитация времён локдауна).

Читать далее
Total votes 17: ↑16 and ↓1 +15
Comments 6

Генераторы на корутинах C++

Reading time 5 min
Views 11K

Я уже пару лет как развлекаюсь написанием различных программ на C++ с использованием корутин. Но до сего момента это были асинхронные приложения. Я активно использовал co_await, но ни разу еще мне не понадобился co_yield. И вот, после трех дней вынужденного ничегонеделанья в больнице, я решил этот пробел восполнить и попробовать написать собственный генератор. А заодно и получше разобраться с promise_type и coroutine_handle

Читать далее
Total votes 19: ↑16 and ↓3 +13
Comments 8

Я нашел 18K+ игр в NVIDIA GeForce NOW

Reading time 4 min
Views 91K

Я, как и многие пользователи NVIDIA GeForce NOW, жду пока там добавят те игры, в которые действительно хотелось бы поиграть. Но бывало и наоборот, игры которые уже были добавлены, позже внезапно удаляли из GFN сервиса. В моем случае я хотел там пройти игры Mafia, и потом их все убрали.

Спустя время, их так и не вернули. И я решил попытаться разблокировать запретные игры NVIDIA GeForce NOW сервиса. Но нашел там то, что никак не ожидал увидеть.

Читать далее
Total votes 202: ↑198 and ↓4 +194
Comments 72

Мультиарендный подход к инфраструктуре работы с данными. Доклад Яндекса

Reading time 16 min
Views 2.9K
Времена, когда для экземпляра базы данных выделялся отдельный компьютер, давно прошли. Сейчас повсюду управляемые решения, поднимающие необходимые процессы в виртуальных машинах. Для вычислений применяется еще более прогрессивный подход — «бессерверные вычисления», например AWS Lambda или Yandex Cloud Funtions. И уж совсем на острие прогресса находятся бессерверные БД. Руководитель отдела разработки систем хранения и обработки данных Yandex.Cloud Андрей Фомичёв Anfo рассказал о бессерверных решениях, которые еще до всеобщего хайпа стали популярны в Яндексе и по-прежнему используются для хранения и обработки данных.

— Всем привет. Если вы не очень знаете, что означает слово «мультиарендный» (multitenant) в названии доклада — ничего страшного, я расскажу поподробнее, и станет понятно.

Доклад будет из четырех разделов. Сначала я расскажу, что такое многопользовательские и multitenant-системы и чем они отличаются. Потом приведу примеры мультиарендных multitenant-систем в Яндексе: Yandex Database (YDB) и Yandex Query. Затем расскажу, как мы все эти системы реализовываем, какие в них особенности. В заключение подведу итоги доклада.
Читать дальше →
Total votes 10: ↑9 and ↓1 +8
Comments 4

Тесла верит своим Богам! Так она находит путь

Reading time 5 min
Views 9.8K

C 2018 года все счастливые обладатели Tesla в России получили обновление Европейской навигации в которой России уже не было, официально это объясняется поддержанием баланса веса карт и удалением регионов, не входящих в зону официального обслуживания.

Как же использовать большой экран Tesla на полную силу? Видеть маршрут, какой процент батареи останется? С какой скоростью ехать? Можно ли сделать даунгрейд на старые карты?

Тесла использует для построения маршрутов Valhalla -это механизм маршрутизации с открытым исходным кодом и сопутствующие библиотеки для использования с данными OpenStreetMap.

Читать далее
Total votes 3: ↑2 and ↓1 +1
Comments 11

О фейковых криптовалютах (Ethereum, Tron, Ripple и пр)

Reading time 10 min
Views 305K

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

Это закономерно привело к появлению муляжей криптовалют, которые якобы используют те же технологии, но при этом дают преференции их создателям, т.е. не такие уж децентрализованные. Для пользователей всё равно, а создателям профит. Самый распространённый из таких муляжей - Ethereum.

Читать далее
Total votes 286: ↑261 and ↓25 +236
Comments 538

Новогодняя резолюция

Reading time 3 min
Views 3.5K

В: Какая у вас новогодняя разрешение резолюция?
О: Конечно же, 1024х768! А что?

Ну да шутки в сторону. Здесь в лаборатории Oscilloclock мы придумали особую форму новогодней резолюции — 日進月歩 или Nisshin-geppo, что вольно переводится как «Устойчивый прогресс день за днем». Она отражает нашу цель завершить проводимые раз в десятилетие работы по изменению дизайна и вернуться к изготовлению красивых продуктов Oscilloclock. Помимо этого, ей подчеркивается уверенность в том, что глобальные проблемы, заполнившие сегодня весь мир, будут шаг за шагом преодолены.

Согласно местным традициям, Oscilloboy написал этот слоган японской каллиграфией, после чего традиционный этап закончился, и началось истинное веселье! К вашему вниманию любезно предоставленная комплектом VGA Core от Oscilloclock – Новогодняя Резолюция на красивом 7-дюймовом осциллографе!
Total votes 45: ↑43 and ↓2 +41
Comments 0

Information

Rating
Does not participate
Location
Москва и Московская обл., Россия
Date of birth
Registered
Activity