🗺 Как мы повышаем детализацию Карт, чтобы слабые устройства не тормозили Яндекс Карты — это один из самых высоконагруженных мобильных сервисов Яндекса с широкой аудиторией. Сценарии в приложении уже сегодня не уступают по сложности отдельным игровым движкам. Но чем богаче визуальное и информационное наполнение, тем выше требования к устройствам, на которых оно работает.👨💻 Меня зовут Игорь Зверев, я руковожу группой разработки автонавигации в Яндекс Картах. Наша задача — находить баланс между развитием продукта и сохранением его стабильной и быстрой работы на самых разных устройствах.👷♀️ Сегодня я расскажу, как мы создали и используем систему RAM-классов для выпуска требовательных функций.⏭ А если хотите узнать, что мы изменили в процессе разработки, как строились и проверялись наши гипотезы и почему мы разделяем пользователей только по RAM-классам — читайте статью на Хабре.Подписывайтесь: 💬 @Yandex4Mobile📹 @YandexforMobile
Yandex for Mobile
@yandexformobile · 4.8K подписчиков
Посты канала Yandex for Mobile в SillyFeed: единая лента публичных Telegram-каналов со ссылками на оригиналы.
Канал о мобильной разработке от Яндекса. Рассказываем о наших командах, технологиях и приглашаем на мероприятия. Чат:https://t.me/mobilesubbotnikВопросы:@ksenya_degtyarevaВсе каналы Яндекса по стекам разработки:https://t.me/addlist/Hrq31w2p1vUyOGZi
Посты канала
⏭ Золотая защита для вашего UIПривет, коллеги! На связи Даниил Липаткин, тимлид в команде разработки курьерского приложения Яндекс Доставки. Сегодня поговорим об инструменте, который спасёт ваш интерфейс от регрессий, а нервную систему — от ручных проверок.Речь про golden-тестыКогда вы создаёте интерфейс, очень важно проверять, как он выглядит вживую. Для этого есть специальный инструмент — golden-тесты. Это разновидность widget-тестов, которая сравнивает скриншот виджета с золотым эталоном. Такой образец создаётся тем же тестом и обычно хранится прямо в системе контроля версий, например в Git.В контексте Flutter golden-тест считается проваленным, если находится хоть одно расхождение в пикселях по сравнению с эталоном. При этом фреймворк сам рисует наглядную картинку с различиями (diff, диффы) — сразу видно, что именно пошло не так.Зачем это нужно:🟠 Автоматизировать проверки UI🟠 Защитить код от регрессий🟠 Собрать живую и наглядную документацию🟠 Иметь вариативный визуальный тест для разных устройств и платформ🟰 Подробности и примеры кода ищите в полной статье, которая уже ждёт вас на Хабре.Это большой материал для тех, кто хочет основательно разобраться во всех тонкостях и сложных случаях: как создать golden-тест, настроить CI и работать с диффами. Так что выделите на чтение свободный вечер, если любите погружаться в тему с головой.Подписывайтесь: 💬 @Yandex4Mobile📹 @YandexforMobile
🎦 Всем привет, это Артур Василов! Я руковожу мобильной разработкой приложения Яндекс Браузер. Сегодня расскажу про наш продукт и команду🟰 Я пришёл в Яндекс с Алисой в 2017 году как Android-разработчик. За это время мы успели слиться с Яндекс Браузером, а я прошёл путь до руководителя мобильной разработки. Ещё я занимаюсь DevRel-активностями и процессами найма мобильных разработчиков. 🟠 Что мы разрабатываемВ первую очередь — Яндекс Браузер, одно из самых крупных приложений в России. Им ежедневно пользуются десятки миллионов человек. А ещё это чемпион по внедрению GPT-технологий и нейросетей. Кроме Браузера мы занимаемся стартапными проектами внутри Яндекса: Шедеврумом и Ритмом. В 2020 году мы объединили технические части Браузера и Яндекса с Алисой — это крупное приложение, которое заточено под поиск и интеграцию с информационными сервисами. Теперь у нас единая команда и общая кодовая база. 🟠 Как мы разрабатываемКогда разработчики думают про устройство браузера, они сразу представляют себе много кода на C++ — и им становится страшно. На самом деле мы в основном используем стандартный платформенный стек и библиотеки, так что большинство ребят даже и не погружаются в С++. Когда существующих технологий не хватает, мы создаём свои собственные инструменты. Например, в 2022-м выпустили в опенсорс BDUI-фреймворк DivKit, а ещё релизнули DI-фреймворк Yatagan. 🟠 Что планируем делать дальшеКажется, что в браузерах уже всё придумано, но это не так. Во-первых, всегда можно сделать так, чтобы стало ещё быстрее и удобнее. Во-вторых, можно упрощать специальные сценарии: так, например, в конце прошлого года мы написали ряд фич, чтобы сделать покупки в интернете проще и выгоднее. А в-третьих, GPT сильно подстегнули все сервисы — и нас активнее всего. Простор для развития огромный.Подписывайтесь: 💬 @Yandex4Mobile📹 @YandexforMobile
Ещё по теме «Технологии»
ТехнологииНа Реддите появились первые фотографии KTPocket R2. Счастливчик, получивший свой предзаказ, отмечает довольно высокое качество сборки (разве что шифты гремят при тряске) и ужасно работающий WiFi. Возможно, беспроводной сигнал глушит металлический корпус. Обещанной прошивки KOS ещё нет, устройство работает на совершенно голом Android.KTPocket - маленькая компания, буквально из одного человека. Первая портативка KT R1 не получила широкого распространения из-за высокой цены и низкого качества сборки. Она выпускалась в двух вариантах - крестовина сверху и стик сверху. Да-да, задолго до Retroid Pocket 6! Вторую модель можно предсказать на сайте, и вариативность просто зашкаливает:😒 Стик или крестовина сверху💀 Экран 4.5" 1620х1080 (3:2) или 4.2" 1280х960 (4:3)👹 Пластиковый, алюминиевый или магнезиевый корпус ◼️ 6/128, 8/256 или 12/512 Гб памяти😠 Только WiFi или WiFi+4G🐷 Пять вариантов расцветкиНекоторые ветки выбора взаимоисключающие (например, заявлено, что нет пластиковых корпусов для 3:2 экранов), но все равно, как-то многовато SKU для такой маленькой компании... Подозреваю, что многие опции так и останутся недоступнымиЦена R2, в зависимости от комплектации, составит 229-279 баксов.Да, чуть не забыл, KT R2 построена на чипе Mediatek D7300. Он обгоняет T820 на эпичные 15%. На мой вкус, при живой 476H, которая стоит почти в 2 раза дешевле, это лишает смысла 4:3 версию R2. А что до версии с экраном 3:2... Экран хорош, безусловно, но при такой цене он не перевешивает остального.#портативки #эмуляторы #ktpocket
Ровно перед майскими праздниками выстрелила и сильно прошумела CVE-2026-31431. Уязвимость в ядре позволяет проэксплуатировать LPE (Local Privilege Escalation) на почти всех дистрибутивах с 2017 года. Все говорят об LPE, но мало кто отмечает, что эту же уязвимость можно использовать для побега из контейнера в Kubernetes.Во-первых, об этом заявляют сами исследователи, которые обнаружили уязвимость. Обещают выпустить статью в блоге на этот счет (пока ещё не выпустили).Во-вторых, бага использует проблему в работе с кэшем страниц в ядре, а поскольку кэш страниц является общим для всех процессов на хосте, в том числе и за пределами контейнеров, скомпрометированный контейнер может повредить бинарные файлы с правами setuid, доступные другим контейнерам и ядру хоста.В качестве PoC советуем ознакомиться с репозиторием – Copy Fail (CVE-2026-31431) — Kubernetes Container Escape PoC. P.S. Мы также подтверждаем применимость этого в реальных условиях: в рамках аудита Kubernetes кластера нам удалось успешно использовать эксплойт. Демонстрацию можно увидеть на видео из нашего тестового окружения.






🇰🇿 В Казахстане утверждена Типовая методика оценки стоимости продуктов цифровых данных для госорганов, госюрлиц и субъектов квазигоссектора (Приказ №3 от 27.04.2026, вводится в действие с 12.07.2026). Документ формирует правовую основу для признания данных самостоятельным активом, который может быть предметом сделок, передачи, лицензирования и отражения в учете. ⬇️Основные изменения• впервые на уровне НПА закреплен подход к оценке стоимости цифровых данных как экономического актива• определены случаи обязательной оценки: сделки, отчетность, залог, вклад в капитал, банкротство, страхование, лицензирование и уступка прав• предусмотрены три подхода оценки: доходный, рыночный и затратный• для постановки на баланс рекомендован затратный метод, для продажи — доходный или рыночный• стоимость данных предлагается определять с учетом доходности, затрат на создание, хранения, безопасности и рыночного спроса• данные могут признаваться активом при наличии экономической выгоды и достоверно определяемой стоимости✔️Для комплаенса и корпоративного управления это важный шаг: цифровые данные становятся объектом имущественных прав, а значит возрастают требования к прозрачности владения, оценке, передаче, защите и недопущению злоупотреблений при распоряжении такими активами.

🏠 За выходные собрал семейный AI-архив здоровьяBig Tech продаёт это по $20 в месяц + vendor lock. У меня вышло 0 злотых.Мы с женой живём в Польше. У нас опилась стопка PDF-анализов на польском, направления, рецепты, выписки из клиник. Каждый раз перед визитом к врачу - паника: где тот результат витамина D от прошлого квартала? В каком письме было железо? Очевидное решение - Notion / Google Drive. Очевидная проблема - в том, что потом по этим данным невозможно нормально искать. PDF - мёртвый формат для анализа. Ты не спросишь у папки с файлами "покажи динамику железа за год".А мы хотим большего. Ожидаем, что в ближайшие годы AI-агенты дорастут до прогностической медицины - анализ трендов, раннее выявление отклонений, персональные рекомендации на основе истории. Для этого нужна база, а не разрозненные сканы в Downloads. Поэтому решили собирать сейчас - в структурированных MD-файлах, с тегами, датами и значениями, с доступом в любой момент через Telegram.Сел в субботу днём, закончил в воскресенье вечером. Получился рабочий продукт.📦 Что вышлоЖена кидает фото или PDF в Telegram-бота. Бот говорит "принято". Через 1-3 минуты документ обработан: текст распознан, поля извлечены (анализы, даты, врачи, клиники), сделан перевод на русский, добавлены теги, всё лежит в архиве. Вика пишет "железо" в чат - бот возвращает все документы где этот показатель был, с датами и значениями.🔧 Под капотомCloudflare Worker (бесплатный тариф) на entry point. Telegram webhook кидает файлы в R2 (object storage) и D1 (SQLite). Это always-on intake-слой - можем слать документы в любое время суток, даже если Mac выключен, обработается потом и удалится из Cloudflare. Долгосрочно данные хранятся локально в Obsidian - ничего чувствительного в облаке не остаётся.На MacBook Air крутится Python-агент. Раз в минуту дёргает Cloudflare, видит pending-айтемы, прогоняет через пайплайн:1️⃣ pypdf пытается вытащить текст из PDF2️⃣ если вышел мусор (типичная история с польскими лабораториями - встроенные subset-шрифты, pypdf возвращает control-символы) - падает в OCR через Tesseract с польским и английским словарями3️⃣ извлечённый текст идёт в Ollama, локально, qwen2.5:7b-instruct4️⃣ модель возвращает structured JSON: тип документа, даты, лабораторные значения с референсами и статусами, краткое резюме на русском5️⃣ всё пишется в локальный SQLite + Markdown-ноту в Obsidian-совместимом vaultПосле обработки агент пушит компактный summary в D1 - hot-path кэш для поиска. Когда жена пишет "железо" в Telegram, Worker лезет не на Mac (может быть оффлайн), а в D1-табличку - миллисекунды.
Локальная модель справляетсяОжидал что 7B-моделька будет тупить на польской медицине и придётся подключать Anthropic API. Оказалось нет. Замер на лабораторном PDF:
16 анализов из 16 распознаны корректно
референсные диапазоны распаршены правильно
статусы within_range / above_range / deficit проставлены корректно
резюме на русском с flagging-ом железа ниже нормы
3 минуты 36 секунд на трёхстраничный скан с OCR-фоллбэкомДля одностраничной фотки pipeline отрабатывает за 35 секунд. Это уже не "локальный AI как игрушка", это рабочий tool.Cost:
Cloudflare Worker, R2, D1 - free tier (нам нужны крохи от лимитов)
Ollama + qwen2.5:7b-instruct - open weights, бесплатно
MacBook Air M4 - и так уже есть
Telegram bot - бесплатноИтого 0 злотых в месяц на бесконечно растущий архив, который потом можно будет даже детям передать для их прогностических агентов.🤔 Что я из этого выношуТочка где локальные модели становятся достаточно хороши для нетривиальных задач - уже пройдена. На M-series Mac, бесплатной модели и пайплайне на коленке получается продукт, который год назад нужно было бы строить командой.Вангую что через 1-2 года таких персональных "архивов чего угодно" будет много. Все компоненты уже бесплатны, не хватает готового UX. Когда-то появятся модели, способные строить предиктивную медицину по персональной истории. Мы собираем данные уже сегодня.#library #tools

В новостях пишут, что отключат мобильный интернет с 5 по 9 мая. Так как я часто испытываю панические атаки, то решила отвлечься и сделать мини пет-проект по этой теме. Помимо приложухи для экстренного снятия приступа паники я запилила сообщество в ВК на ИИ-движке — для тех, кому надо успокоиться. Настроен ежедневный постинг поддерживающих фраз и дважды в неделю — автосуммаризация последних статей про ПТСР и панику с pubMed. Что-то там писать не обязательно, можно просто читать молча. Если это кого-то поддержит, буду считать свою социальную миссию выполненной. Читайте, его не отключат на праздники. https://vk.com/tishina_ru

#семантический_поиск #языковые_моделиБазовый минимум. Часть 3: RAG-системы⭐️◽️◽️◽️◽️📖 Читать

🍿 Что скрывает auto(x): новый синтаксис C++23В C++23 появился синтаксис auto(x) и auto{x}. Это не очередной сахар для объявления переменных. На самом деле — это именованная операция, у которой есть точная семантика. 🥳 Что происходит под капотом:auto(x) — это decay-copy: создаётся prvalue того же типа, что и x, но после применения std::decay. То есть:• Ссылки снимаются• Cv-квалификаторы (const/volatile) удаляются• Массивы → указатели• Функции → указатели на функцииconst int& r = 42;auto copy = auto(r); // int, не const int&⚡️ До C++23 для того же результата писали:auto copy = std::decay_t<decltype(r)>(r);❓ Зачем нужна явность? В простых случаях auto copy = r тоже даст int — auto и так делает decay. Но в обобщённом коде важно явно сигнализировать намерение: "я хочу копию, а не прокси или view".Главное применение — защита от UB при модификации контейнера. Классический пример — реализация pop_front:void pop_front(auto& container) { std::erase(container, auto(container.front())); // Без auto() — UB: front() может инвалидироваться // в процессе удаления элементов}Без auto() мы передаём ссылку на элемент, который erase может разрушить до сравнения. С auto() — сначала создаётся копия значения, потом происходит удаление. Безопасно и читаемо.❗️ auto(x) закрывает целый класс subtle-багов в шаблонном коде — там, где случайная ссылка вместо копии приводит к UB или неожиданному поведению.📍Навигация: Вакансии • Задачи • СобесыБиблиотека C/C++ разработчика#константная_правильность