SILLYFEED

Yandex for Mobile

@yandexformobile · 4.8K подписчиков

Открыть канал в Telegram

Посты канала Yandex for Mobile в SillyFeed: единая лента публичных Telegram-каналов со ссылками на оригиналы.

Канал о мобильной разработке от Яндекса. Рассказываем о наших командах, технологиях и приглашаем на мероприятия. Чат:https://t.me/mobilesubbotnikВопросы:@ksenya_degtyarevaВсе каналы Яндекса по стекам разработки:https://t.me/addlist/Hrq31w2p1vUyOGZi

Посты канала

Yandex for Mobile
🗺 Как мы повышаем детализацию Карт, чтобы слабые устройства не тормозили Яндекс Карты — это один из самых высоконагруженных мобильных сервисов Яндекса с широкой аудиторией. Сценарии в приложении уже сегодня не уступают по сложности отдельным игровым движкам. Но чем богаче визуальное и информационное наполнение, тем выше требования к устройствам, на которых оно работает.👨‍💻 Меня зовут Игорь Зверев, я руковожу группой разработки автонавигации в Яндекс Картах. Наша задача — находить баланс между развитием продукта и сохранением его стабильной и быстрой работы на самых разных устройствах.👷‍♀️ Сегодня я расскажу, как мы создали и используем систему RAM-классов для выпуска требовательных функций.⏭ А если хотите узнать, что мы изменили в процессе разработки, как строились и проверялись наши гипотезы и почему мы разделяем пользователей только по RAM-классам — читайте статью на Хабре.Подписывайтесь: 💬 @Yandex4Mobile📹 @YandexforMobile
Yandex for Mobile
⏭ Золотая защита для вашего UIПривет, коллеги! На связи Даниил Липаткин, тимлид в команде разработки курьерского приложения Яндекс Доставки. Сегодня поговорим об инструменте, который спасёт ваш интерфейс от регрессий, а нервную систему — от ручных проверок.Речь про golden-тестыКогда вы создаёте интерфейс, очень важно проверять, как он выглядит вживую. Для этого есть специальный инструмент — golden-тесты. Это разновидность widget-тестов, которая сравнивает скриншот виджета с золотым эталоном. Такой образец создаётся тем же тестом и обычно хранится прямо в системе контроля версий, например в Git.В контексте Flutter golden-тест считается проваленным, если находится хоть одно расхождение в пикселях по сравнению с эталоном. При этом фреймворк сам рисует наглядную картинку с различиями (diff, диффы) — сразу видно, что именно пошло не так.Зачем это нужно:🟠 Автоматизировать проверки UI🟠 Защитить код от регрессий🟠 Собрать живую и наглядную документацию🟠 Иметь вариативный визуальный тест для разных устройств и платформ🟰 Подробности и примеры кода ищите в полной статье, которая уже ждёт вас на Хабре.Это большой материал для тех, кто хочет основательно разобраться во всех тонкостях и сложных случаях: как создать golden-тест, настроить CI и работать с диффами. Так что выделите на чтение свободный вечер, если любите погружаться в тему с головой.Подписывайтесь: 💬 @Yandex4Mobile📹 @YandexforMobile
Yandex for Mobile
🎦 Всем привет, это Артур Василов! Я руковожу мобильной разработкой приложения Яндекс Браузер. Сегодня расскажу про наш продукт и команду🟰 Я пришёл в Яндекс с Алисой в 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
k8s (in)security
Ровно перед майскими праздниками выстрелила и сильно прошумела CVE-2026-31431. Уязвимость в ядре позволяет проэксплуатировать LPE (Local Privilege Escalation) на почти всех дистрибутивах с 2017 года. Все говорят об LPE, но мало кто отмечает, что эту же уязвимость можно использовать для побега из контейнера в Kubernetes.Во-первых, об этом заявляют сами исследователи, которые обнаружили уязвимость. Обещают выпустить статью в блоге на этот счет (пока ещё не выпустили).Во-вторых, бага использует проблему в работе с кэшем страниц в ядре, а поскольку кэш страниц является общим для всех процессов на хосте, в том числе и за пределами контейнеров, скомпрометированный контейнер может повредить бинарные файлы с правами setuid, доступные другим контейнерам и ядру хоста.В качестве PoC советуем ознакомиться с репозиторием – Copy Fail (CVE-2026-31431) — Kubernetes Container Escape PoC. P.S. Мы также подтверждаем применимость этого в реальных условиях: в рамках аудита Kubernetes кластера нам удалось успешно использовать эксплойт. Демонстрацию можно увидеть на видео из нашего тестового окружения.
ISA Roman | AGI•GO
🤔 Ты смотришь на это как на картинку, а я смотрю как на продажу.🔥 Я на всех выступлениях и обучениях повторяю одну простую вещь: нейросети нужны не для того, чтобы сделать красивую картинку.Они нужны, чтобы усиливать продажи.➕Вот пример. Парикмахер может не спрашивать клиента:«Ну что, как стрижёмся?»А сделать фото человека прямо на месте, за пару минут собрать 5-7 вариантов причёсок под его лицо, длину волос и типаж - и показать: вот так ты можешь выглядеть.➕Стилист может ещё до продажи не просто говорить:«Я подберу вам образ».А показать человеку несколько вариантов стиля прямо на нём: деловой, casual, дорогой минимализм, яркий образ, вечерний вариант.И это не значит, что вы всё отдали бесплатно.Это значит, что вы встроили нейросеть в первую точку касания с клиентом.Вы дали больше ценности, чем конкуренты.🟢 А когда человек уже увидел себя в новом образе, в новой причёске, в новом стиле - ему гораздо проще сказать:“Хочу. Делаем.”✅ Смотрите на любые генерации не как на игрушку.Смотрите на них как на инструмент внутри вашей воронки:🟢 привлечь внимание🟢 усилить доверие🟢 показать результат до покупки🟢 повысить ценность консультации🟢 довести клиента до заявкиНе знаете, как это встроить именно в ваш бизнес?Пишите мне - разберёмся.Нейросети должны работать на вас.А не вместо вас.🆕 Все генерации делал в этом боте: ЛАЗАРЬ Промпты оставил в комментариях.
Ассоциация комплаенс и деловой этики
🇰🇿 В Казахстане утверждена Типовая методика оценки стоимости продуктов цифровых данных для госорганов, госюрлиц и субъектов квазигоссектора (Приказ №3 от 27.04.2026, вводится в действие с 12.07.2026). Документ формирует правовую основу для признания данных самостоятельным активом, который может быть предметом сделок, передачи, лицензирования и отражения в учете. ⬇️Основные изменения• впервые на уровне НПА закреплен подход к оценке стоимости цифровых данных как экономического актива• определены случаи обязательной оценки: сделки, отчетность, залог, вклад в капитал, банкротство, страхование, лицензирование и уступка прав• предусмотрены три подхода оценки: доходный, рыночный и затратный• для постановки на баланс рекомендован затратный метод, для продажи — доходный или рыночный• стоимость данных предлагается определять с учетом доходности, затрат на создание, хранения, безопасности и рыночного спроса• данные могут признаваться активом при наличии экономической выгоды и достоверно определяемой стоимости✔️Для комплаенса и корпоративного управления это важный шаг: цифровые данные становятся объектом имущественных прав, а значит возрастают требования к прозрачности владения, оценке, передаче, защите и недопущению злоупотреблений при распоряжении такими активами.
Цифровое и корпоративное право (ЦифроПро) - Digital Law Channel+DLC_LEC(DLCpro)
❤️ Маркеры, которых не должно быть: как «невидимые» автомобили сломали защиту базы данныхИногда доказательства в спорах об интеллектуальной собственности выглядят как из детектива. В этом кейсе правообладатель буквально «подложил мину» в свою базу данных — и она сработала.Суть конфликта: общество «Трансдекра» против общества «Полис Онлайн». Предмет — база данных «База данных по стоимости моторных транспортных средств» и компенсация за нарушение исключительного права. Но самое интересное — не сам факт нарушения (он как раз почти не спорился), а то, как суды «потерялись» в расчёте компенсации.Что стало ключевыми фактами:⭕️правообладатель внедрил в базу фиктивные транспортные средства как маркеры защиты;⭕️эти «несуществующие автомобили» были обнаружены на сайте ответчика при оформлении ОСАГО;⭕️использование базы происходило без лицензии и оплаты, несмотря на коммерческую модель доступа;⭕️нарушение длилось около двух лет и носило системный характер.И вот здесь начинается настоящая юридическая интрига. Нижестоящие суды признали нарушение, применили статьи 1229, 1252, 1304, 1306, 1333, 1334, 1335.1 ГК РФ и даже аккуратно сослались на ПП ВС РФ от 23 апреля 2019 г. № 10 и правовые позиции КС РФ (постановления № 28-П и № 40-П). Но на этапе расчёта компенсации логика дала сбой.Суд апелляционной инстанции пошёл по классике: взял лицензионные договоры, определил «среднюю цену» (1 420 000 руб. в год), умножил на срок и… снизил до однократной стоимости. Вроде аккуратно. Но ВС РФ не впечатлился.Где суды «промахнулись»:⭕️не сопоставили условия лицензионных договоров с реальным способом нарушения;⭕️включили в расчёт договоры с иными объёмами прав (например, сублицензирование или расширенные способы использования);⭕️проигнорировали разброс цен по сопоставимым сделкам (от 700 000 до 950 000 руб.);⭕️не учли изменение стоимости по одному и тому же договору в разные периоды (900 000 → 3 050 000 руб.);⭕️фактически не дали оценки доводам ответчика, что прямо противоречит статье 71 АПК РФ и разъяснениям Пленума № 10.ВС РФ напомнил базовую, но часто игнорируемую вещь: п. 3 ст. 1311 ГК РФ — это не про «взять любой договор и умножить на два». Это про реальную рыночную цену за сопоставимое использование. И если суд не устанавливает эту цену корректно — всё решение летит на новое рассмотрение по ч. 1 ст. 291.11 АПК РФ.Отдельный штрих: Судебная коллегия по экономическим спорам ВС РФ прямо указала на необходимость учитывать доводы ответчика о чрезмерности компенсации, включая альтернативные расчёты и иные лицензионные договоры (см. также Определение от 26 января 2021 г. № 310-ЭС20-9768).Определение ВС РФ от 25.03.2026г. № 307-ЭС25-15203 📌Мы в Максе#DLC_LEC#DLCdataprotect
Андрей Наличаев: Криптоэкономист
🏠 За выходные собрал семейный 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
Пушкин в Африке
🇹🇿 Суверенная языковая модель на суахили — зачем она Танзании?Министр связи и информационных технологий Танзании Ангелла Каируки сообщила в парламенте в минувшие выходные, что правительство находится на завершающем этапе разработки языковой модели, направленной на развитие использования искусственного интеллекта для предоставления цифровых услуг на языке суахили.Это объявление было сделано на фоне активного роста цифровой инфраструктуры страны. За год количество абонентов мобильной связи увеличилось на 23,8%, число интернет-пользователей — на 19,5%, а количество транзакций через мобильные платёжные системы — на 55,8%.🥼 Суахили — один из самых популярных языков в Африке, и неудивительно, что передовые языковые модели (ChatGPT, Claude, Gemini) умеют работать на нём. Просто суахили представлен в их обучающих данных значительно меньше английского.Зачем же Танзании нужна такая модель? Не легче ли пользоваться существующими флагманскими продуктами?🧣 Во-первых, модель, работающая с переведёнными данными, не может сравниться по точности с моделями, непосредственно обученными на суахили (по статистике первые совершают в четыре раза больше ошибок). К тому же будущая модель обучается на специфичной для Танзании базе данных — её правовых документах, законах, особенностях делопроизводства и т. д., что ещё больше повышает точность.🧣 Во-вторых, в долгосрочной перспективе собственная модель экономит колоссальные бюджетные траты на пользование иностранными аналогами. К тому же, не факт, что последние могут быть интегрированы в сельские районы страны — флагманские модели очень требовательны к хорошему интернет-соединению (здесь у более простой локальной модели будет преимущество).🧣 Ну и самое главное — подобная модель закладывает фундамент для будущего цифрового суверенитета, угроза которому с распространением ИИ-технологий становится для Африки (и не только для неё) всё более существенной.❤️ «Пушкин в Африке» (В Максе мы тоже есть) — для всех, кто хотел познакомиться со сложным миром Чёрного континента, но не знал, с чего начать.
Библиотека C/C++ разработчика | cpp, boost, qt
🍿 Что скрывает 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++ разработчика#константная_правильность