Как стать автором
Обновить
0
0

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

Отправить сообщение

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

Время на прочтение17 мин
Количество просмотров4.2K

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

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

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

Читать далее
Всего голосов 36: ↑35 и ↓1+34
Комментарии6

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

Время на прочтение6 мин
Количество просмотров23K


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

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

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

Время на прочтение3 мин
Количество просмотров36K

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

Читать далее
Всего голосов 71: ↑70 и ↓1+69
Комментарии16

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

Время на прочтение6 мин
Количество просмотров6.7K

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

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

Больше
Всего голосов 19: ↑16 и ↓3+13
Комментарии23

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

Время на прочтение9 мин
Количество просмотров12K


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

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

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


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

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

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

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



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

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

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

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

Время на прочтение10 мин
Количество просмотров116K

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

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

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

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

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

Время на прочтение11 мин
Количество просмотров27K

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

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

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


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

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


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

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


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

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

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

Время на прочтение5 мин
Количество просмотров8.3K

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

Читать далее
Всего голосов 5: ↑3 и ↓2+1
Комментарии19

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

Время на прочтение22 мин
Количество просмотров9.4K

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

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

Читать далее
Всего голосов 15: ↑15 и ↓0+15
Комментарии7

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

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

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

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

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

Время на прочтение7 мин
Количество просмотров9K

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

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

Читать далее
Всего голосов 17: ↑16 и ↓1+15
Комментарии6

Облачный крестоносец: графический интерфейс Яндекс.Диска в GNU/Linux через Krusader

Время на прочтение25 мин
Количество просмотров15K

Яндекс.Диск в графике в GNU/Linux? Легко и просто.

Читать далее
Всего голосов 13: ↑12 и ↓1+11
Комментарии5

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

Время на прочтение5 мин
Количество просмотров11K

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

Читать далее
Всего голосов 19: ↑16 и ↓3+13
Комментарии8

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

Время на прочтение4 мин
Количество просмотров91K

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

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

Читать далее
Всего голосов 202: ↑198 и ↓4+194
Комментарии72

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

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

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

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

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

Время на прочтение5 мин
Количество просмотров9.8K

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

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

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

Читать далее
Всего голосов 3: ↑2 и ↓1+1
Комментарии11

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

Время на прочтение10 мин
Количество просмотров305K

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

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

Читать далее
Всего голосов 286: ↑261 и ↓25+236
Комментарии538

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

Время на прочтение3 мин
Количество просмотров3.5K

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

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

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

Информация

В рейтинге
Не участвует
Откуда
Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность