Habr.com

Ленты новостей Хабр
Все публикации подряд на Хабре
Обновлено: 47 мин. 22 сек. назад

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

7 часов 49 мин. назад

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

Читать далее

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

7 часов 59 мин. назад

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

Читать далее

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

8 часов 1 мин. назад

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

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

Читать далее

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

8 часов 6 мин. назад

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

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

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

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

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

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

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

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

Читать далее

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

8 часов 6 мин. назад

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

Читать далее

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

8 часов 8 мин. назад

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

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

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

Читать далее

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

8 часов 10 мин. назад

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

Читать далее

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

8 часов 11 мин. назад

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

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

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

Читать далее

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

8 часов 11 мин. назад

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

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

Читать далее

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

8 часов 12 мин. назад

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

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

Читать далее

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

8 часов 13 мин. назад

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

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

Читать далее

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

8 часов 16 мин. назад

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

Читать далее

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

8 часов 20 мин. назад

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

8 часов 20 мин. назад

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

Читать далее

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

8 часов 26 мин. назад

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

Читать далее

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

8 часов 31 мин. назад

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

Читать далее

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

8 часов 47 мин. назад

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

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

Читать далее

Миллионы на поддонах: как одна деталь рушила логистику ритейлера

8 часов 57 мин. назад

Добрый день. В этой статье поделюсь следующим опытом: как мне удалось сэкономить очень много денег для известного крупного ритейла.
Ко мне обратилась одна из крупнейших торговых сетей России с проблемой следующего характера. На её распределительных центрах (РЦ) Заказчику поступал товар от производителя — огурец сорт «Мева». Заказчик, разгружая у себя товар в количестве 32 поддонов весом по 600 кг и вывозя его электрокаром из кузова авто, получал падающие и рассыпающиеся поддоны вместе с огурцами. При этом опалетка каждого поддона рвалась. В результате возникали серьёзные потери на каждом РЦ именно с этим поставщиком-производителем.
Заказчик тратил время на сбор продукции и возврат обратно поставщику, а также терял в прибыли на каждом РЦ крупные суммы.
Что было решено? Я посетил один РЦ ритейла во время приёмки данного товара от производителя. Также было решено посетить день формирования партии и отгрузки на складе производителя. На выяснение истинной причины было затрачено 7 дней.
Что сделано с моей стороны:
-Заказчик предоставил копию договора поставки с производителем. -Изучил условия в договоре.
-Заказчик предоставил фото- и видеоматериалы происходящего на своих РЦ (как падает паллет).
-Договорился о днях присутствия на РЦ.
-Договорился с производителем о дне присутствия на складе производителя.
-Изучение, анализ, фиксация процессов на РЦ и складе производителя с помощью фото и видео.
Моё присутствие, наблюдение и анализ на РЦ Заказчика подтвердили, что паллет с огурцами разваливается при малейшей тряске или повороте электрокара. Особенно когда электрокар аккуратно съезжал с кузова, а именно в моменте, где всегда происходит небольшой скачок. Это стандартный технически заложенный скачок — без него никуда, так устроен процесс отгрузки и разгрузки. Мы попробовали аккуратно вывезти паллет и поставить его на весы, но при простом развороте электрокара весь поддон разваливался. Предположительно, проблема была не в РЦ и не в сотрудниках на электрокарах.

Читать далее

Комментарии, которые пережили ошибки

8 часов 57 мин. назад

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

Читать далее

Google Таблицы против цеха: почему мне пришлось самому писать ERP

9 часов 1 мин. назад

Всем привет! Меня зовут Александр, я начальник производства металлоконструкций. Я не IT-специалист в белой рубашке, который видел станки только на картинках. Я практик. Я знаю, что такое срыв сроков, ночные смены и бесконечные поиски виноватых, когда цех встает из-за того, что «кто-то забыл заказать металл».

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

Читать далее

Сейчас на сайте

Сейчас на сайте 0 пользователей и 1 гость.