Feed aggregator

От шести деплоев к одному: общий сайдбар на Module Federation

Habr.com - Fri, 10/02/2026 - 13:55

Если у вас несколько фронтенд-сервисов с одинаковыми компонентами (например, сайдбаром), вы либо уже страдаете, либо скоро начнете. Мы начали страдать на шестом.

Добавить новый пункт меню сайдбара. Казалось бы, пять минут. У нас это было как шесть кругов ада: шесть pull-request’ов, шесть ревью, шесть деплоев и бесчисленное количество запущенных CI-пайплайнов ради одной строчки в навигации.

Начали искать решение. Смотрели разные варианты, остановились на Module Federation. Написали прототип, попробовали пару плагинов, словили пару багов, починили, перенесли в код production-сервисов. С тех пор общий UI-каркас живет и деплоится отдельно от всех сервисов уже два года без каких-либо проблем.

В статье рассматриваем два плагина для подключения Module Federation ретроспективно: на каком этапе развития они были два года назад и что с ними сейчас, как выглядит конфиг настройки на Vite для обоих плагинов и пристально вглядываемся в технические детали и ограничения — местами будет сложно, но вы можете в навигации по статье найти интересующий вас раздел или сразу перейти к практическому примеру.

Читать далее

Как я перешла из QA в тимлиды разработки

Habr.com - Fri, 10/02/2026 - 13:54

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

Привет, Хабр! Меня зовут Алина Сычёва, я около трех лет работаю в МТС Линк. В компанию я пришла на позицию middle QA, а сейчас руковожу одной из команд разработки. В этой статье я расскажу, как работа с релизами локальной версии продукта оказалась для меня школой лидерства, какие навыки из тестирования пригодились в новой роли и чему пришлось учиться после перехода.

Читать далее

Я устал от приложений для английского и сделал свою таблицу. Или как учить английский в Telegram, если нет времени

Habr.com - Fri, 10/02/2026 - 13:51

Раньше я начинал учить английские слова и постоянно бросал это дело.

Находил новый способ, занимался какое-то время — а потом появлялись дела, работа, не хватало времени, и я снова всё забрасывал.

Но полтора года назад всё изменилось: с того момента я выучил 623 слова почти не тратя на это время. Без силы воли, дисциплины и изменения привычного образа жизни.

В этой статье расскажу, как я к этому пришёл и как повторить мои результаты.

Читать далее

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

Habr.com - Fri, 10/02/2026 - 13:51

Молока в кофе можно налить по-разному, но в одном случае получится 3в1, а в другом — капучино. Точно так же с внедрением ИИ, который сейчас пытаются пришить к каждой кофемолке. Мы попробовали вставить ИИ в платёжный терминал не ради хайпа, а чтобы он начал реально слышать клиента в условиях ревущей кофемашины и бесконечного гула торгового зала. И, кажется, получился вообще не капучино. Раф, как минимум!

История одного пулреквеста в DKMS: когда сообщение об ошибке — это баг

Habr.com - Fri, 10/02/2026 - 13:49

Разбираю реальный случай контрибьюции в DKMS (Dynamic Kernel Module Support) — инструмент, который пересобирает сторонние модули ядра вроде nvidia, VirtualBox, ZFS при обновлении ядра. Столкнулся с неинформативным сообщением об ошибке «Manual intervention is required!», разобрался, почему путь к сломанному модулю не попадает в вывод, хотя DKMS его знает, и почему это не то же самое, что путь из побочного сообщения find. Отправил патч из трёх атомарных коммитов в апстрим, PR смержен. В статье — разбор кода, поиск похожих issue и PR перед началом работы, возня с тестовым окружением (root, kernel headers, симлинки /lib vs /usr/lib, конфликт с системным dkms) и выводы о том, что делает патч приемлемым для мейнтейнеров.

Читать далее

[Перевод] Как работает поиск в SaaS Kiva, где у каждого клиента своя база данных

Habr.com - Fri, 10/02/2026 - 13:45

Как работает поиск в SaaS Kiva, где у каждого клиента своя база данных

Как Kiva использует Manticore Search в SaaS, где у каждого клиента своя база данных и своя схема: сочетает периодически перестраиваемую и RT-таблицы, обрабатывает изменения в реальном времени и обходится без отдельных серверов для поиска.

Читать далее

SimpleRPC (libsrpc): Простой RPC на Си для Linux-приложений

Habr.com - Fri, 10/02/2026 - 13:44

Есть классическая проблема: изолированные процессы — хорошо для надёжности, но хочется иногда вызвать функцию из другого процесса, как будто она лежала в той же библиотеке. Стандартные IPC — это всегда протокол: описал интерфейс, сгенерировал стабы, поднял сервер, прописал адреса. Simplerpc предлагает путь короче: пишешь обычную функцию на Си, линкуешь библиотеку — и она автоматически становится RPC-методом, доступным другим процессам на той же машине.

Читать далее

DDNS для российских DNS-хостингов: почему не подошли готовые клиенты и что я написал взамен

Habr.com - Fri, 10/02/2026 - 13:43

Я проверил популярные DDNS-клиенты и почти не нашёл в них поддержки российских DNS-хостингов. Поэтому запись для домашнего сервера обычно обновляют самописным скриптом на curl, а такой скрипт ломается молча. Я разобрал API нескольких хостингов и написал на Go свой DDNS-демон, который учитывает их особенности.

В статье рассказываю, почему совет перенести зону в Cloudflare подходит российской аудитории с оговорками и что умеют готовые клиенты. Затем разбираю подводные камни API REG.RU, Selectel и Yandex Cloud, о которые спотыкаются самописные скрипты. В конце показываю, как устроен dnspatch и как запустить его в Docker за пару минут.

Читать далее

Сравнение регионов Казахстана

Habr.com - Fri, 10/02/2026 - 13:41

Я собрал больше 32 тысяч объявлений с Krisha и данные БНС по зарплатам, ценам, тарифам и переездам. Потом посчитал, сколько остаётся от зарплаты после аренды, еды и коммуналки, и сравнил это с тем, куда на самом деле переезжают люди.

Как живут в Казахстане...

[Перевод] Чьи это GPU: безопасные метрики с самообслуживанием для мультитенантного Kubernetes

Habr.com - Fri, 10/02/2026 - 13:38

«Мы вообще пользуемся этими штуками?» Этот вопрос прозвучал на разборе расходов на GPU — самой крупной статьи инфраструктурного счёта, и никто не смог на него ответить. Загрузку карт записывали каждую секунду, но метрики попадали в центральный Prometheus, куда тенанты не имеют доступа. Когда данные наконец проверили, обнаружили GPU, который одиннадцать дней подряд простаивал с нулевой загрузкой.

Команда VK Tech перевела статью с разбором о том, как дать каждой команде доступ только к своим метрикам, и шестью PromQL-запросов для поиска простаивающих карт.

Читать далее

[Перевод] Пусть агент сам докажет, что написанные им тесты можно не пройти

Habr.com - Fri, 10/02/2026 - 13:36

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

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

Читать далее

Когда технический долг и legacy-системы тянут CIO вниз

Habr.com - Fri, 10/02/2026 - 13:36

Миграция с устаревшей системы на новую часто выглядит просто на архитектурной схеме: выключить старое, включить новое и продолжить работу. На практике такой переход затрагивает данные, интеграции и процессы, поэтому один неучтённый сценарий может привести к проблемам уже после выхода в прод. В статье разбирается подход Big Bang migration, его особенности и вопросы, которые важно учитывать при подготовке такого перехода.

Читать далее

ASP.NET Core: сохраняем логи Serilog из контейнера Docker на хосте

Habr.com - Fri, 10/02/2026 - 13:34

Serilog - популярная система логирования для ASP.Net Core (MVC) приложений, которая легко подключается и имеет гибкие настройки. При запуске в Docker (и далее в Kubernetes) важно, чтобы система логирования записывала вывод в stdout, чтобы к ним имели доступ стандартные команды, напр.

docker logs {container_name}

Хорошая новость - при использовании обычного ConsoleSink (вывод в консоль), логи автоматически становятся доступными для docker logs. Не очень хорошая новость - если вы также используете FileSink (вывод в файлы) и хотите хранить эти файлы на хосте,чтобы после перезапуска контейнера они не потерялись, то придется повозиться. Точнее, возможно придется - если вы следуете рекомендациям по безопасности и запускаете процесс внутри контейнера не под root-ом. Но обо всем по порядку.

Читать далее

[Перевод] Ivory v2.0.0 — за пределами Postgres

Habr.com - Fri, 10/02/2026 - 13:31

Ivory начинался как небольшой инструмент, упрощающий работу с кластерами PostgreSQL и Patroni.

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

Теперь Ivory помогает делать то же самое и упрощает работу с другими сложными системами баз данных: MongoDB, ClickHouse, Redis и т. д. А если вы захотите добавить любую другую базу данных, это легко сделать с помощью AI-агентов. Для этого есть специальный subagent.

Читать далее

Как мы печатали работающий сервер: история одного приза

Habr.com - Fri, 10/02/2026 - 13:30

Собирались мы как-то на конференцию в качестве консультантов на стенд решения. Рассказывать должны были про сервис Evolution Bare Metal. Идейным вдохновителем выступил @echo0x00, он знал, что мы с коллегой 3D-печатники, поэтому предложил как-нибудь нетривиально привлечь внимание гостей к нашему стенду, например, напечатав мини-стоечку с нашим лого. 

Слово за слово, предложение за предложением и вот уже то, что должно было быть простой сувениркой на один день, превратилось в крутой 3D-инженерный проект, которым даже можно управлять через Wi-Fi. Получилось настолько прикольно, что коллеги из маркетинга даже предложили разыграть его среди тех, кто придумает самый классный способ взломать облако. Впрочем, обо всем по порядку…

В конце истории вас ждет файл проекта, так что каждый неравнодушный к серверам сможет скрафтить себе эффектный ночник.

Читать далее

Продовый REPL: Yaegi поверх composition root

Habr.com - Fri, 10/02/2026 - 13:18

Консоль для прода на Go: отдельный процесс с тем же composition root, read-only по умолчанию и REPL на Yaegi

Читать далее

Как Jev сэкономил нам 90% бюджета

Habr.com - Fri, 10/02/2026 - 13:15

Как мы автоматизировали проверку новых товаров в интернет-магазине компьютерной техники, чтобы ликвидировать бэклог в 100 тыс. заявок. Отказ от стандартной LLM в пользу Jev.

Читать далее

Первые отечественные электронные лифты. УЛЖМ МЯУ

Habr.com - Fri, 10/02/2026 - 13:05

Приветствую всех!

В начале года я уже как‑то рассказывал про такую станцию управления лифтом как УЛЖ-10. Тогда я рассказал исключительно про работу самих плат‑ячеек, а очень многое так и осталось за кадром. Спустя много времени мне повезло раздобыть все остальные блоки из шкафов таких лифтов, а также довольно интересный артефакт: плату, при помощи которой производилась модернизация этих станций.

Итак, сегодня детально посмотрим на начинку первой массовой отечественной электронной станции. Узнаем, как всё это соединялось и работало и при чём здесь микроконтроллеры, а главное — попробуем всё это запустить. Как водится, будет много интересного.

25 этаж

GitHub Actions убрал Node 20 и отключает старые раннеры: что проверить

Habr.com - Fri, 10/02/2026 - 13:04

23 сентября GitHub окончательно убрал Node 20 из раннеров GitHub Actions. JavaScript-экшены теперь выполняются на Node 24, а временный выключатель ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION, которым можно было вернуть Node 20, больше не работает. Через шесть дней, 29 сентября, на GitHub Enterprise Cloud включилась полная проверка версий self-hosted раннеров.

Две новости за неделю, и обе ломают тихо.

Читать далее

Как выбрать и проверить LLM для рабочих задач: Claude, GPT, Gemini и другие модели

Habr.com - Fri, 10/02/2026 - 13:03

Новая LLM обошла конкурентов в работе с кодом. Но справится ли она с ошибкой в вашем репозитории? А модель, которая хорошо анализирует документы, — с таблицами, где возвраты лежат в отдельном файле, а правила расчёта выручки менялись три раза?

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

Привет, Хабр! Я Игорь Зуриев, руководитель проектов по автоматизации бизнеса и внедрению систем на базе ИИ. Больше десяти лет управляю ИТ-проектами, в том числе для заказчиков из нефтегазовой отрасли и строительства — «Лукойла», аэропорта Шереметьево, «Трансгаза». Автор и преподаватель программ по ИТ-проектам и цифровым продуктам, в том числе в Университете Иннополис. В школе Karpov.Courses преподаю применение ИИ для анализа данных. Веду в ТГ канал «Нейросетка». 

Сам использую ИИ для работы с кодом, документами и прототипами. Fable 5.1 понравилась мне тем, что код получался практически без ошибок с первого раза. В Stitch я описывал изменения интерфейса словами и сравнивал варианты экранов. А один из запусков Sonnet 5 закончился исчерпанием лимита без готового результата. Поэтому меня интересует и качество ответа, и то, сколько работы после него остаётся человеку.

Читать далее

Who's online

There are currently 1 user and 10 guests online.
Syndicate content