Habr.com

Syndicate content Хабр
Все публикации подряд на Хабре
Updated: 29 min 21 sec ago

Как устроен нейропрофиль пользователя в рекомендациях VK

37 min 36 sec ago

Привет! Меня зовут Михаил Трапезников, я руководитель группы рекомендательных технологий в AI VK.

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

В этой статье я расскажу:

Как мы создали нейропрофиль — единую трансформерную модель, которая объединяет сигналы пользователя из разных сервисов VK и формирует целостное представление о его интересах.

Как устроена его архитектура, какие данные она использует и как обучается на миллиардах взаимодействий с контентом.

Как кросс-доменный подход помогает улучшать рекомендации в VK Видео, VK Клипах и других продуктах экосистемы.

Читать далее

[Перевод] Как я перестал бояться и полюбил ассемблер

57 min 43 sec ago

Эта статья посвящена путешествию в мир ретропрограммирования. Надеюсь, в ней у меня получится передать вам то чувство восхищения, которое я испытал и которое заставило меня написать этот пост. Пост о том, как создавать ПО для компьютерной системы Atari ST, выпущенной в 1985 году.

Atari ST относится ко второй крупной волне домашних компьютеров. Первая волна, созданная на основе 8-битных CPU, принесла в наши дома такие знаковые машины, как Commodore C64 и Sinclair Spectrum. Вторую волну разрабатывали на основе 16-битных CPU; она породила Apple Macintosh, Commodore Amiga и, разумеется, Atari ST.

Atari ST 1040 STF с цветным монитором Atari SC1224

Типичный Atari ST (например, 1040 STFM) имел CPU Motorola 68000 с тактовой частотой 8 МГц и 1 МБ ОЗУ; он загружал ПО с 3,5-дюймовых гибких дисков. Его графические возможности состояли из монохромного режима высокого разрешения 640x400 и 16-цветного режима 320x200, получившего наибольшую популярность в играх.

Рабочий стол GEM Atari ST имел интерфейс, очень похожий на разработанный Xerox и Apple, у него были диспетчер файлов, иконки и многооконность. Это его монохромная версия высокого разрешения.

Если у вас нет реального Atari ST, то его можно просто эмулировать на современном компьютере. Первые эмуляторы появились ещё в 90-х. Хорошим считается Hatari, который существует для большинства современных платформ. В эмуляторе также есть современные инструменты разработки. В прошлом приходилось пользоваться неуклюжим ПО разработки, которое загружалось с дискет, а сегодня можно просто писать всё в VSCode и компилировать современным GCC. У нас есть доступ к современным графическим редакторам наподобие GIMP, и мы даже можем просить помощи у ИИ.

Читать далее

Монолит больше не приговор: строим быстрые и гибкие микрофронтенды на ES-модулях

58 min 2 sec ago

Меня зовут Иван Соснович, я сеньор фронтенд-разработчик в СберТехе, тружусь в команде Platform V Kintsugi — это графический инструмент для сопровождения, мониторинга и диагностики Postgres-like СУБД. По итогам прошлой статьи мнения читателей разделились.

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

Сразу скажу, что код проекта будет писать ИИ через GigaCode CLI, навыки останутся в репозитории.

Читать далее

Тимлид и subnet-полукровка: как одна строчка в YAML стоила $50 000 и двенадцати часов прода

58 min 26 sec ago

Однажды, морозным ноябрьским утром 2024 года, я, как новоиспечённый тимлид не такой уж и маленькой команды, поверил в себя и в то, что спустя полгода изучения проекта и передачи дел от предшественника я полностью понимаю, как там всё устроено. Судьба обычно наказывает за самоуверенность. Не стал исключением и мой случай.

Для понимания контекста добавлю, что я НЕ девопс - мне пришлось этим заниматься, и всё пишу через призму своего понимания проблемы. Возможно, сейчас придёт корифей AWS/CDK и скажет, что всё можно было сделать проще. Другими словами, не является индивидуальной инвестиционной рекомендацией.

Смотреть страху в лицо

Платформа — не самоцель: когда ML-разработку стоит унифицировать, а когда лучше остановиться, обсудили на «ИТ-Пикнике»

58 min 55 sec ago

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

На «ИТ-Пикнике» Сергей Кузнецов, руководитель разработки платформы рекомендаций и поиска MWS, показал на трех кейсах, почему в одних случаях лучше работатьиз этого вырастает с полноценнойая ML-платформа, а в других — выгоднее остановиться на уровне библиотеки.

Читать далее

4 пьесы про время жизни токена доступа

1 hour 6 min ago

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

Читать далее

Пишем логи в journald с помощью Logback и FFM API

1 hour 14 min ago

Разворачивать бэкенды для личного использования с помощью systemd удобно, но stdout плохо интегрируется с journald, а устанавливать софт только для просмотра логов не хочется. В статье - простой пример, как можно писать логи из Java-приложения в journald так, чтобы их потом удобно просматривать

Читать далее

Я сменил страну Apple ID и потерял 10 532 трека. Вот как я вернул 6 453 из них

1 hour 33 min ago

17 лет с покупки первого айфона я складывал музыку в одну медиатеку. Она начиналась с mp3-шек на жёстком диске, пережила переезд в стриминг (через iTunes Match) и росла до марта 2026-го. Плейлисты «Deepden», “Kizaru”, “повтор” — собранные под себя, годами.

Потом сверху решили, что оплачивать Apple Music в России никак нельзя. Я закинул 2000 ₽ на счёт Apple, чтобы не умерла синхронизация с iCloud, остальные подписки отменил — с мыслью, что за год решения, как обойти ограничения, найдутся. Так и жил без подписки: медиатека на месте, слушать нельзя. В августе 2026-го понадобился особенный трек, которого не было в Я.Музыке (худший сервис — и, к сожалению, ровно потому, что соблюдает законы РФ). Завёл американский аккаунт — тем более после покупки MacBook Air в американском сторе подарили три месяца халявы. Регистрируюсь, соглашаюсь на триал, открываю «Музыку».

Пусто.

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

6 453 трека и все плейлисты вернулись на место. Ниже — как именно.

Как я вернул 6 453 трека

Костыль на костыле: как я больше двадцати лет лечил остатки вместо того, чтобы найти причину

1 hour 41 min ago

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

Я сделал его в 2002 году, выбрал хранить, и получил вместе со скоростью проблему на двадцать лет вперёд.

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

Причина оказалась не в триггерах и не в производительности. Она в том, что одно бизнес‑правило было записано в коде шесть раз в разных местах, а в седьмом его забыли написать.

Читать далее

Немного про «утечки» памяти: почему PM2 перезапускал Next.js-воркеры и при чём здесь gcTime TanStack Query

1 hour 43 min ago

В проекте периодически перезапускались PM2-воркеры. Сами рестарты сначала и были проблемой: процесс завершался, PM2 запускал новый, какое-то время всё работало нормально, затем ситуация повторялась.

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

И я пошёл искать причину.

Читать далее

Источники сбора угроз ИБ для систем ИИ

1 hour 43 min ago

Всего за несколько лет технологии ИИ заслужили популярность среди компаний – согласно отчёту McKinsey в 2025 году 88% компаний заявляли об использовании ИИ хотя бы в одной бизнес-функции.

Наряду с этим для злоумышленников ИИ становится и целью, и инструментом атаки. Такой факт подтверждается майским отчетом Google AI Threat Tracker – его обзор опубликован в моём канале.

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

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

Угрозы тут –>

Как провести нагрузочное тестирование правильно. Часть 1: как думать о тестировании производительности

1 hour 49 min ago

Меня зовут Алексей Тиньков, я занимаюсь тестированием производительности уже 8 лет. В первой статье цикла хочу поделиться своим опытом организации процесса нагрузочного тестирования (НТ), рассказать о том, как правильно думать о тестировании производительности и чем оно принципиально отличается от привычного функционального тестирования.

Читать далее

Ваш кэш в Redis неэффективен, что с этим делать?

1 hour 53 min ago

Однажды в проде контейнеры одного из сервисов начали падать по OutOfMemory. Контейнерам было выделено по 4 ГБ оперативной памяти, нагрузка была вполне обычной: десятки страниц в секунду.

Расследование показало, что проблема была в JSON-конфиге.

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

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

Казалось бы, если мы запрашиваем один и тот же JSON, размер не должен так критично влиять.

Но всё оказалось интереснее…

Читать далее

2160 раундов симуляции без кнопки «стоп». Исследование MiroFish, часть 3

2 hours 2 min ago

Третья, заключительная статья об исследовании MiroFish, открытого стека мультиагентной симуляции общества. В первой части изложены методология и Silent Failure; во второй слепота отчёта, управляемая графом. В этой части: как одна фраза запроса превращается в конфигурацию запуска, что систему ограничивает на длинной дистанции, и общая карта находок серии.

Читать далее

Путь джедаев: создание компонента IAM в Astra Cloud Platform 2.1

2 hours 5 min ago

Хабр, и снова здравствуй) На связи Алексей Боровиков, архитектор Astra Cloud. Тут такое дело, мы выкатили мажорный релиз нашей облачной платформы. Работа была проделана колоссальная, я не буду писать все изменения, иначе это будет не статья, а книга. Поэтому решил сфокусироваться на одном компоненте и рассказать, как мы его сделали и почему. Речь идет про IAM — Identity and Access Management. Он отвечает на главные вопросы облачной безопасности: кто, что сделал и имел ли на это право. Итаааак…

Читать далее

OpenClaw и Hermes на одном VPS: чего стоит связать двух агентов безопасно

2 hours 18 min ago

Поставил OpenClaw и Hermes на один VPS и связал их между собой: первый принимает задачи из Telegram, второй исполняет их в своей песочнице. Через час после установки обнаружил, что панель управления агентом открыта в интернет, а ещё через полчаса — что фаервола на сервере нет вообще. Хроника нескольких вечеров про то, чем ИИ-агент опасен на своём сервере и сколько стоит поставить его по-человечески.

Читать, что сломалось

Как я разобрала 4 848 постов маркетологов в Threads и почему самые частые приёмы работают в минус

2 hours 23 min ago

Каждая вторая статья про «алгоритм Threads 2026» держится на цифрах, которых никто не показывает. Я решила посчитать сама и заодно проверить, переживут ли выводы тест на случайность.

200 аккаунтов русскоязычных маркетологов, 16 724 поста. После чистки осталось 4 848 профессиональных постов от 103 авторов. Метод — нормализация внутри автора плюс перестановочный тест. На четырёх признаках из двенадцати это переворачивает знак эффекта относительно наивного подсчёта.

Результат неприятный: три самых частых приёма у маркетологов работают в минус, а приём с самым сильным плюсом встречается всего в 6% постов.

Дальше — сбор данных, метод с кодом и точными p-value, результаты и раздел про ограничения, которых тут хватает.

Threads принадлежит компании Meta, которая признана в России экстремистской организацией и её деятельность запрещена.

Читать далее

Защита от блэкаута: тестируем системы РЗА в REPEAT VISION

2 hours 24 min ago

Релейная защита и автоматика (РЗА) является главным элементом безопасности любой энергосистемы. Сбои в работе питания, возникновение коротких замыканий, неселективная работа защит могут остановить не только работу предприятия, но и целых городов и даже стран, как было в истории с блэкаутом в Испании в 2025 году [1]. Поэтому, чтобы избежать таких случаев, от РЗА требуются максимального быстродействия, точности и надежности.

Модели REPEAT VISION позволяют подробно изучить структурные схемы и принципы действия защит, а также проводить эксперименты, моделирование аварийных случаев и подключение к терминалам защит. Ранее мы писали о моделировании электроприводов в REPEAT VISION [2]. Давайте разберем, как моделирование систем РЗА применяют для тестирования и предупреждения аварийных ситуаций на примере высокочастотной дифференциально-фазной защиты (ДФЗ) линий электропередач.

Читать далее

Дефекты трафаретного нанесения паяльной пасты

2 hours 28 min ago

Недавно мне показали фото свеженамазанной платы от клиента. Выглядело изделие как попытка пьяного кондитера нарисовать зодиакальное поздравление. На вопрос о сути происходящего, технолог выдал универсальный ответ: «Паста плохая». Спойлер – попутный визит нашего наладчика показал, что паста ни при чем. Виновником был трафарет новенького принтера, который, как в анекдоте про бабку и врача, тоже надо мыть. Не последнюю роль сыграла и влажность в цеху, пляшущая на 50% туда-сюда, в зависимости от того, открыта ли дверь на склад.

Читать далее

AI-хакатон в GlowByte: как мы решали задачи для вымышленной розничной сети «МегаБайт»

2 hours 28 min ago

Всем привет! На связи команда BI-практики GlowByte.

У нас прошел внутренний хакатон AI Seasons. Он вдохнул жизнь в корпоративное обучение и дал участникам ощутимую бизнес-ценность. Хочу поделиться этим опытом и подкинуть вам идею для масштабирования истории у себя. Ниже расскажу подробно, а пока вкратце опишу основную идею, как это реализовали у нас в GlowByte.

Итак, мы взяли вымышленную розничную сеть «МегаБайт» с сотнями магазинов и миллионами заказов. Поставили перед командами задачу реализовать DWH/BI-кейс, решать задачки нужно было с помощью ИИ. На старте участвовали 28 команд, до финиша добрались три: было по-спортивному напряжённо, горячо и энергично, так что не все смогли потянуть битву в таком темпе.

Под катом я расскажу:

● как устроен наш хакатон;

● как оценивались задания;

● какие ошибки мы допустили;

● что было ценного и что мы уже забираем в текущие рабочие процессы.

Будет здорово, если вам зайдет тема и организуете подобный «боевик» для специалистов у себя. Потом обязательно поделитесь в комментариях! 

Читать далее

Who's online

There are currently 0 users and 0 guests online.