Обновить

Моя лента

Тип публикации
Порог рейтинга
Уровень сложности
Предупреждение
Войдите или зарегистрируйтесь, чтобы настроить фильтры
Статья

Распределённый монолит: как одну проблему превратить в целый кластер проблем

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели8.1K

Здравствуйте, уважаемые читатели. Вот и настал тот день, когда мы поняли, что наш замечательный проект стал сложным. Спустя три года разработки его поддержка начала требовать значительных ресурсов, внедрение новых фич бизнеса замедлилось, а команда уже давно растеряла прежний интерес. Большинство из разработчиков неоднократно проходили эту стадию. Если посмотреть на ситуацию с другого ракурса, то всё далеко не так уж плохо: проект стал «взрослым», приносит деньги, что позволяет его развивать. Но всё-таки сложность только нарастает, проблемы напоминают снежный ком, и что-то с этим нужно делать.

Решение лежит на поверхности: давайте распилим монолит на микросервисы! Здесь одни достоинства: горизонтальное масштабирование, отдельные команды, независимые сервисы, отказоустойчивость, автономные релизы. Недостатки отсутствуют, ну или почти отсутствуют. А может, если быть честными, их лишь «заметают под ковёр»?

А что если я скажу вам, что при таком подходе мы, скорее всего, получим с десяток микросервисов, которые по цепочке синхронно вызывают друг друга, знают подробности внутреннего устройства каждого, ходят в общие таблицы (крайне запущенный случай), и отказ одного из них вызовет крах всей системы? Прямо как с костяшками домино. Встречайте, Его Величество Распределённый Монолит!

Читать далее
Статья

УМНЫЙ К1 — контроллер на базе ESP32 с REST, syslog и много опенсорса

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели6.5K

Предисловие

Возможно то, про что я хочу рассказать в своей первой статье тут, покажется не новым, уже знакомым велосипедом. Речь пойдет о контроллерах на базе ESP32 и программном обеспечении. Да, современных решений, открытых и бесплатных – много. А сейчас зарождается еще одно (а опенсорса мало не бывает, я считаю).

В статье я упущу и не буду рассказывать ни про свое знакомство с ардуиной, esp, php, python, js ни про то, что пришел сюда давным-давно гуманитарием. И да простят мой, вероятно не корректный, «жаргон» истинные профессионалы в микроэлектронике и программировании - итак, приступим.  

Совсем недавно я отключил RPI4 с HA и наконец «воткнул» в котельную очередную, но «готовую к деплою» версию контроллера (разрешите его далее называть «УМНЫЙ К1», спасибо).

Читать далее
Статья

Настоящий Liquid Glass, как у системного HUD на macOS 26, через приватные API

Уровень сложностиСредний
Время на прочтение14 мин
Охват и читатели4.6K

Я хотел сделать маленькую OSD-панель яркости на macOS так, чтобы она выглядела как системный HUD: не просто полупрозрачная плашка поверх обоев, а нормальное стекло, через которое видно и немного преломляется рабочий стол. По дороге выяснилось неприятное: SwiftUI .glassEffect для такой задачи не подходит вообще, публичный NSGlassEffectView даёт только половину результата, а вид, близкий к системному HUD, появляется уже после ковыряния приватного CAFilter glassBackground. Ниже — весь путь, с кодом, ошибками и местами, где я сам сначала чинил не то

Читать далее
Статья

Розничные трейдеры 2020-х: почему молодые инвесторы идут на риск и что это значит для рынка

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели6.1K

Ишу Лакхи было 16 лет, и он подрабатывал на автозаправке, когда открыл свой первый брокерский счёт на имя матери. Интерес к инвестициям быстро перерос в серьёзное увлечение, и к моменту, когда пандемия перевела обучение в дистанционный формат, он уже был студентом первого курса колледжа. Оказавшись запертым в доме родителей в Миннесоте, Лакхи продолжил торговать, но уже через собственный счёт в Robinhood Markets.

На пике ажиотажа вокруг r/wallstreetbets в начале 2021 года, когда розничные инвесторы разогнали котировки «мемных» акций, включая GameStop, большинство экспертов считали, что такие трейдеры, как Лакхи, быстро потеряют интерес к рынку после возвращения к обычной жизни. Однако этого не произошло

Читать далее
Новость

Яндекс Браузер обновил модель перевода и научился переводить видео живыми голосами ещё с семи языков

Время на прочтение4 мин
Охват и читатели6.3K

В прошлом году Яндекс Браузер при переводе видео научился сохранять тембр и интонации оригинального голоса, создавая перевод, который звучит более естественно и близко к оригиналу. Сегодня мы расширили количество языков для этого типа перевода — Браузер переведёт и озвучит видео с итальянского, испанского, французского, китайского, японского, корейского и немецкого языков. 

Команда полностью обновила стек перевода видео в «Живых голосах»: расширила языковое покрытие, повысила качество локализации и одновременно сократила вычислительные затраты на генерацию.

Читать далее
Статья

Как мы реализовали оптимальное обучение CV-моделей в Luna Line. Часть 2. Сегментация

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели6.6K

И снова здравствуйте! Продолжаю свой рассказ о поиске «универсального рецепта» для обучения моделей в Luna Line. Теперь речь пойдет о сегментации. Если вы пропустили предыдущую публикацию по классификации, то вам лучше начать читать с нее, чтобы не запутаться. 

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

Читать далее
Новость

«Яндекс Браузер» расширил перевод видео с сохранением голосов и добавил поддержку семи новых языков и защиту бизнеса

Время на прочтение1 мин
Охват и читатели4.5K

«Яндекс Браузер» расширил перевод видео с сохранением оригинальных голосов и интонаций. Как сообщили Хабру в пресс‑службе «Яндекса», функция теперь работает не только с английским, но и с итальянским, испанским, французским, китайским, японским, корейским и немецким языками. Функция доступна в «Яндекс Браузере» и работает на YouTube, в «Поиске Яндекса», «VK Видео», Дзене и Rutube. Перевод можно включить через медиапанель во время просмотра.

Читать далее
Статья

Копируем ключ без ключа: умный дубликатор 1-Wire на ассемблере AVR с ручным вводом и контролем CRC

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели7.3K

Здравствуйте, уважаемые хабровчане!

И снова новое устройство. И снова древний чип и ассемблер — на радость комментаторам. 😊

Сразу хочу расставить все точки над «i». Да, я знаю, что можно было взять чип поновее или вообще что-то типа Raspberry Pi, прикрутить к нему экран 640х480, подсоединить мышь, клавиатуру, модуль GSM для выхода в глобальную сеть и сохранения ключей на сервере. Да и код можно было написать не на ассемблере, а на Си, Python, Rust, «навайбкодить» или добавить искусственный интеллект. Всё это я прекрасно знаю, так что давайте не будем на это отвлекаться.

Данный проект — чистый DIY. Его цель — показать, что можно сделать на довольно старом (не буду говорить «устаревшем») контроллере. Относитесь к этой статье как к видео о выживании в лесу. Знаете, есть такие ролики, где блогер сознательно уходит в тайгу, имея при себе только топор, спички, соль и чистый энтузиазм. Он строит себе жилье, находит пропитание и отлично отдыхает. А ведь мог бы на вертолете долететь до турбазы, выйти из дверей прямо к телевизору, попивать пивко и закусывать шашлыком, глядя на красиво постриженные сосны за окном…

Читать далее
Статья

Собираем ядро Linux под себя: localmodconfig, modprobed-db, menuconfig

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели5.4K

Конфигурируем, собираем и устанавливаем ядро Linux на свое железо. Отчищаем ядро от лишних модулей через make localmodconfig и modeprobed-db store, компилируем, обновляем GRUB.

Читать далее
Пост

Claude и Codex научились проходить модерацию App Store вместо разработчиков — инструмент greenlight сам находит причины будущего отказа и тут же их исправляет. Htitybt проверяет приложение по требованиям Apple, автоматически устраняет найденные ошибки и повторяет проверки до тех пор, пока шанс получить отказ не станет минимальным.

Теги:
+3
Комментарии0
Статья

Phase: почему мы сделали именно так

Уровень сложностиСредний
Время на прочтение15 мин
Охват и читатели4.9K

Мы с партнёром разработали концепцию Phase — архитектурный подход к построению бизнес-систем с ИИ-агентами. Этот текст не про то, что такое Phase — про то, почему он устроен именно так, а не иначе. Для каждого ключевого решения был альтернативный вариант. Здесь я разбираю, почему мы его отвергли.

Читать далее
Статья

Шесть недель с agentic AI против фрода в adversarial-системе

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели6K

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

Снаружи это уже выглядело рабочим слоем защиты: аналитики видели меньше мусора, инженеры получали более понятные issues, и продукт наконец увидел практическую пользу вместо очередного демо. Я примерно так и сказал: “смотрите, это уже не игрушка”. Плохая фраза, как оказалось.

Потому что как только защита начинает работать, даже чуть-чуть, вокруг сразу появляются нормальные взрослые вопросы. А давайте это в платежи? А в бонусный абьюз? А в L7? А в социнженерию? А в странные кейсы саппорта, где один тикет внезапно объясняет половину графика? Вопросы честные. Только дорогие.

И в системах с живым противником есть ещё одна неприятная деталь: рабочая защита становится сигналом для другой стороны.

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

Читать далее
Статья

Обнаружило ли НАСА следы древней жизни на Марсе?

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели7.6K

Могут ли марсианские аргиллиты (глинистые камни) содержать следы древних микробов? Новые данные укрепляют гипотезу о том, что на Красной планете когда-то существовала жизнь.

Новые данные, полученные марсоходом «Персеверанс» НАСА, выявили сложные углеродные соединения в двух марсианских глинистых породах, обнаруженных в кратере Езеро на Марсе — том же месте, где ранее были найдены свидетельства возможной древней жизни. Учёные полагают, что эти макромолекулярные (то есть крупные) сложные углеродные соединения могут содержать доказательства того, что древняя микробиологическая жизнь когда-то существовала в том же осадочном материале, как следует из одной новой статьи, описывающей эти наблюдения.

Читать далее

Ближайшие события

Статья

Подрядчик разместил логотип Instagram* — по решению суда штраф получил владелец сайта

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели4.4K

Когда говорят про символику Meta и административные штрафы, многие представляют что-то намеренное: баннер с логотипом, кнопку входа через Instagram*, активную рекламу запрещённой соцсети. В декабре 2025 года Коломенский городской суд Московской области рассмотрел дело, где логотип Instagram* появился в видеоролике случайно, на несколько секунд, в чужом отзыве, который загружал подрядчик. Итог - штраф и административное дело.

Разберём, как это произошло и что из этого следует для всех, у кого есть свои интернет ресурсы (сайты, а также паблики, каналы и чаты в соцсетях)

Читать далее
Новость

Claude Code использует тёмные паттерны для получения доступа к учётной записи Google через MCP

Время на прочтение1 мин
Охват и читатели8.9K

Энтузиасты выяснили, что теперь Claude Code использует тёмные паттерны интерфейса для получения доступа к учётной записи Google через Model Context Protocol (MCP). 

Читать далее
Новость

Уязвимости в стороннем модуле «Универсальный импорт»: обновитесь до версии 1.79.0

Время на прочтение2 мин
Охват и читатели4.3K

Центр информационной безопасности и мониторинга инцидентов компании «1С-Битрикс» уведомляет об уязвимости в стороннем модуле «Универсальный импорт» разработчика АКРИТ. Разработчик их уже устранил. Пользователям необходимо в кратчайшие сроки обновить модуль до версии 1.79.0.

Кратко: если на вашем сайте стоит модуль «Универсальный импорт» от АКРИТ, обновите его до версии 1.79.0 в ближайшие часы.

Читать далее
Статья

Структуры данных на практике. Глава 18: Очереди драйверов устройств

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели6.9K

Наш сетевой драйвер терял пакеты. Не время от времени, а постоянно. На пропускной способности линии с 64-байтными пакетами мы теряли 31% всего трафика.

В качестве оборудования использовался Ethernet-контроллер на 1 Гбит/с на SoC RISC-V. В спецификациях говорилось, что он может справляться со скоростью проводного трафика. Движок DMA работал корректно. Обработчик прерываний срабатывал вовремя. Тем не менее, пакеты исчезали.

Я начал с очевидного подозреваемого: очереди получения. Реализация выглядела вполне логично — простой связанный список с указателями на голову и хвост. Под нагрузкой (64-байтные пакеты на пропускной способности линии) драйвер терял 31% пакетов! При профилировании обнаружилась причина проблемы: производительность убивали связанный список и спин-блокировки.

Я переписал драйвер, использовав кольцевой буфер без блокировок. Результаты: потеря 31% пакетов превратилась в 0,12% — улучшение в 258 раз!

В этой главе мы поговорим о структуре очередей для драйверов устройств.

Читать далее
Статья

GPU vs vGPU: что выбирать для быстрого запуска AI-сценариев и контроля над данными

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели6K

Привет, Хабр. Меня зовут Дмитрий Сергеев. Я менеджер продукта «виртуальные серверы» (GPU) в компании VK Tech.

Одна из ключевых проблем внедрения нейросетей в бизнес — отсутствие подготовленной ИТ-инфраструктуры. Почти всегда приходится разбираться, какая из тысяч моделей подойдет для задачи и будет учитывать специфику и процессы бизнеса. Часто это становится дорогим занятием без предсказуемого результата.

В этой статье я на примере сервисов VK Cloud разберу, в каких сценариях востребованы физические GPU, а также где и как их можно эффективно заменить с помощью vGPU, чтобы оптимизировать бюджет и сэкономить на аренде полного объема ресурсов.

Читать далее
Статья

Невыразимое невалидное. Часть 2. Поведение и границы

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели4.5K

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

Читать далее
Новость

LongCat 2.0: модель на трлн параметров, обученная на 50 тысячах китайских чипов

Время на прочтение2 мин
Охват и читатели5.6K

Meituan представила LongCat 2.0 — первую в мире модель масштаба триллиона параметров, полностью обученную на китайских процессорах.

Читать далее