Habr.com

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

Навигация как нервная система: Как мы подружили немецкий автопром с японскими платными дорогами через AIDL

Thu, 03/05/2026 - 14:00

Если вы думаете, что навигационная система в современном автомобиле — это просто красивое приложение, которое рисует синюю линию на карте и говорит «через 200 метров поверните направо», вы застряли в 2010 году.

В Android Automotive OS (AAOS) навигация часто становится одним из самых жирных и критически важных системных компонентов. Это «пространственный мозг» машины. Десятки других модулей постоянно дергают её за рукав с вопросами: «Где мы?», «Какое ограничение скорости?», «Сколько полос на дороге?», «В какой полосе мы сейчас едем?».

В этой статье я поделюсь опытом из своей практики разработки навигационной системы для крупного немецкого автопроизводителя. Мы разберем, как построить надежное межпроцессное взаимодействие (IPC) внутри автомобиля на примере передачи ADAS-атрибутов для японского модуля ETC 2.0.

Читать далее

Как мы научились честно считать эффект промокодов: Causal Inference в онлайн-доставке X5 Digital

Thu, 03/05/2026 - 13:54

Сегодня расскажу о модели, которую мы построили для оценки реального эффекта промокодов. Главные вопросы: кому, какой, и зачем мы выдаем промокод. Спойлер: ответ нас удивил. И именно этот ответ стал главной причиной, по которой эту модель вообще стоило строить.

Представьте стандартный отчёт по промокампании: «Пользователи, применившие промокод, потратили на 800 рублей больше среднего». Бизнес доволен, маркетинг рапортует об успехе. Но подождите, а сколько из них потратили бы эти деньги и без промокода?

Это не риторический вопрос. Это принципиальная проблема, которая называется selection bias — систематическая ошибка отбора.

Читать далее

Мониторинга много, управляемости нет: «зонтик» — не ещё один мониторинг, а слой управления ИТ-ландшафтом

Thu, 03/05/2026 - 13:37

Казалось бы, сейчас мы наблюдаем всё, но факт в том, что не управляем ИТ-ландшафтом в целом. Упор на автономию команд и разрозненные инструменты приводит к «разрывам» в управлении: нет единой картины при инцидентах, SLA считаются в табличках, корреляция событий происходит «в головах людей», интеграции держатся на 1–2 специалистах, а построение CMDB и моделей ИТ ландшафта часто игнорируется. В этой статье мы постараемся переосмыслить роль зонтичного мониторинга, и докажем, что это не еще один мониторинг, а важный архитектурный слой.

Читать далее

__str__ vs __repr__ в Python: конец путанице

Thu, 03/05/2026 - 13:27

«str для людей, а repr для машин» — эту фразу слышали многие, но на практике путаница всё равно остается. Почему функция print() иногда игнорирует ваши настройки? Что такое односторонний фолбэк? И зачем вообще писать оба метода?

Читать далее

[Перевод] Ваша жизнь — это сумма 2000 понедельников

Thu, 03/05/2026 - 13:17

Австралийская писательница, технологический аналитик, автор колонок в Wired и Time Джоан Вестенберг описала в своём блоге проблему понедельников, поделилась способами пересобрать рутину и сделать её более осознанной. 

Читать далее

Сравнение MVI и KoTEA

Thu, 03/05/2026 - 13:15

В мире Android-разработки существуют различные архитектурные паттерны.
Многие из вас хорошо знакомы с MVVM, и возможно сталкивались с MVP. В последнее время всё чаще звучит аббревиатура MVI (Model-View-Intent). Однако наряду с MVI существует похожий на неё подход – KoTEA (Kotlin The Elm Architecture).

Давайте сравним их и разберём их различия.

Читать далее

[Перевод] Структуры данных на практике. Глава 6: Стеки и очереди

Thu, 03/05/2026 - 13:11

«Простота — требование, необходимое для обеспечения надёжности», — Эдсгер Дейкстра

Невидимая структура данных

В каждой программе используется стек — стек вызовов. Каждый вызов функции записывает в стек кадр, каждый возврат извлекает его. Он настолько фундаментален, что мы редко о нём задумываемся.

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

Однажды я отлаживал вылет прошивки во встраиваемой системе RISC-V. У системы был планировщик задач, использующий очередь для управления ожидающими задачами. При большой нагрузке система вылетала с переполнением стека.

Переполнение стека? Очередь должна была находиться в куче, а не в стеке.

Проблема заключалась не в самой очереди, а в том, как она была реализована. Для очереди использовался связанный список, и каждый вызов malloc() выполнял распределение из пула памяти, делившего пространство со стеком. Под нагрузкой очередь разрасталась, пул фрагментировался и рано или поздно стеку не оставалось места для роста.

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

Читать далее

Обзор ChatGPT 5.3: тесты, бенчмарки и как пользоваться нейросетью в России без VPN

Thu, 03/05/2026 - 13:10

Разбираем возможности новой ChatGPT 5.3. Сравнение с Claude 4.6 и Gemini 3.1, бенчмарки Codex. Подробная инструкция как использовать нейросеть в РФ без VPN.

Читать далее

KernelEvo — автоматическая генерация GPU-ядер

Thu, 03/05/2026 - 13:09

Писать быстрые GPU‑ядра вручную долго и требует узкой экспертизы: нужно понимать модель памяти, эффективные паттерны доступа к памяти, ограничения конкретного бэкенда и уметь быстро разбираться в compile и runtime ошибках. При этом выигрыш от кастомного kernel'а может быть очень заметным. Поэтому автоматизация и упрощение процесса разработки ядер — практически важная задача.

В этой статье расскажу о KernelEvo — новом фреймворке от команды «Вычислительный интеллект» Института AIRI, позволяющем по исходному коду автоматически искать эффективные cuda и triton реализации. Ключевая идея простая: вместо ручного цикла «написал → проверил → увидел ошибку → переписал» мы строим автоматический search loop. В типовом сценарии на одну задачу уходит до ~1 млн токенов, что делает такой поиск достаточно выгодным для регулярных запусков.

Подробности далее.

Читать далее

Как за неделю собрать курс для отдела поддержки по базе знаний компании

Thu, 03/05/2026 - 13:06

У многих компаний уже есть практически всё, чтобы внедрить полноценное обучение сотрудников после приема на работу (онбординг) или освоения нового продукта: база знаний с рабочими статьями на внутренней платформе для совместной работы и АИС по клиентам. Они могут быть интегрированы между собой или существовать отдельно — на конечный результат это влияет мало. Для полного счастья остается только сделать семейство обучающих курсов — а до этого руки доходят хорошо если через один год. 

Читать далее

А если бы весь код был закрыт?

Thu, 03/05/2026 - 13:05

Мы привыкли, что запустить проект можно за вечер, просто собрав его из готовых кирпичиков. Но что, если бы каждый import стоил денег?

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

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

Читать далее

Давайте соберём все термины

Thu, 03/05/2026 - 13:05

Всем привет! Я Елена Шустерман, ведущий технический писатель в РТЛабс.

Это вторая часть статьи «Давайте сократим сокращения». Расскажу ещё немного про редактор MS Word и поиске с подстановочными знаками — об использовании фильтра с подстановочными знаками для усложненной задачи.

Читать далее

Честный ЗНАК на складе: приемка и отгрузка без штрафов и ошибок

Thu, 03/05/2026 - 13:05

Маркировка уже стала новой нормой для самых разных товарных групп. Ошибка с одним кодом Data Matrix сегодня это не просто «исправим в накладной», а риск штрафа, зависшего УПД и зависшей отгрузки.

Сегодня разберем, как настроить приемку и отгрузку маркированного товара на ТСД с помощью «Склад 15 Минимум».

Читать далее

[Перевод] Cursor теперь доступен в IDE JetBrains

Thu, 03/05/2026 - 13:04

Cursor теперь доступен в IntelliJ IDEA, PyCharm, WebStorm и других IDE JetBrains через протокол Agent Client Protocol (ACP).

Разработчики, которые полагаются на IntelliJ IDEA и другие IDE JetBrains за их мощную поддержку Java и нескольких языков, теперь могут использовать любую передовую модель вместе с Cursor для агентно-ориентированной разработки. Подробнее - в новом переводе от команды Spring АйО.

Читать далее

Как ведет себя Podman в файловой системе

Thu, 03/05/2026 - 13:00

Механизм работы с файловой системой в Podman очень схож с Docker. Но есть несколько нюансов. Так как Podman разрабатывался с упором на безопасность и rootless, порой возникают неочевидные ошибки при монтировании volumes. Сегодня рассмотрим эти нюансы и поглубже заглянем в кроличью нору.

Читать далее

Как я спроектировал Memory MCP Server для AI-агентов: архитектура, SQLite, semantic search и грабли

Thu, 03/05/2026 - 12:57

AI-агент каждую сессию начинает с нуля — не помнит, что вчера разбирали архитектуру, какие баги нашли и почему выбрали именно это решение. Знакомо?
Я сделал open-source MCP-сервер на Go, который даёт агентам persistent memory с semantic search. Один memory-layer для Cursor, Claude Code и Codex — чтобы контекст не терялся между инструментами.
В статье — не обзор, а инженерный разбор: схема БД, embedding pipeline с fallback между провайдерами (и почему я в итоге от этого отказался), in-memory cosine similarity вместо vector DB, RAG-индексирование с инкрементальным обновлением, и реальные промпты для агентов.
Отдельно разобрал грабли: почему fallback между разными embedding-моделями — это не отказоустойчивость, а источник тихих багов, и как я это починил.

Читать далее

Зачем нужен Design for Testability (DFT) и как его реализуют в FPGA

Thu, 03/05/2026 - 12:56

Привет, Хабр! Меня зовут Антон Осетров, я разрабатываю СнК в компании YADRO. Раньше я проектировал отказоустойчивые бортовые вычислители, а также испытывал в лаборатории микросхемы. В этой статье я расскажу, что такое DFT, зачем это нужно, а также сравню популярные архитектуры, с помощью которых DFT реализуют на FPGA.

Читать далее

Анализ доступности Open Academy для незрячих и текстовых ИИ-моделей + рекомендации по улучшению удобства использования

Thu, 03/05/2026 - 12:51

Open Academy — это Telegram mini app для обучения финансам (в будущем и другим направлениям) прямо внутри Telegram и в удобном формате слайдов. В этой статье я разбираю доступность интерфейса Open Academy с точки зрения незрячего пользователя и показываю, какие элементы можно улучшить.

Читать далее

Заработок на отзывах в 2026 году: Как работают алгоритмы Яндекс.Карт, Google Maps, 2ГИС и Авито

Thu, 03/05/2026 - 12:45

В этой статье я разберу внутреннюю кухню рынка SERM (управления репутацией). Мы поговорим о том, как устроена экономика микрозадач, почему одни отзывы «живут» годами, а другие улетают в бан через 5 минут, и как на этом построить системный доход.

Читать далее

Google выпустила CLI-инструмент для управления Workspace и работы с LLM

Thu, 03/05/2026 - 12:29

Google опубликовал в открытом доступе Google Workspace CLI — инструмент для системных администраторов, DevOps‑инженеров и разработчиков, которые управляют корпоративной инфраструктурой. Это интерфейс командной строки для администрирования и автоматизации работы с сервисами Google Workspace. Проект размещён на GitHub.

Фактически, это удобная прослойка между API Google Workspace и вашей консолью. Вместо того, чтобы напрямую работать с REST‑запросами, настраивать OAuth и обрабатывать авторизацию, разработчики получают готовый CLI‑инструмент. В нём уже есть описанные скиллы (команды) для типовых операций — управления пользователями, группами, файлами Drive, Gmail и другими сервисами. Это особенно удобно при создании AI‑агентов и автоматизированных сценариев. LLM может вызывать конкретные команды CLI, не дергая API напрямую и не усложняя логику авторизации.

Читать далее

Who's online

There are currently 1 user and 15 guests online.