Habr.com

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

Calico на Orange Pi не поднимается

4 hours 4 min ago

Я ставил Kubernetes на Orange Pi (orangepi4pro) и наивно ожидал, что Calico «просто заведётся». В реальности DaemonSet calico-node ушёл в перезапуски, readiness/liveness-пробы падали, а в событиях Kubernetes мелькали BIRD и Felix.

Сначала это выглядит как «какая-то проблема Calico/BGP», но причина оказалась куда прозаичнее: в установленном ядре банально нет нужных netfilter/ipset/ipip модулей.

Читать далее

[Перевод] Разработчик ковырял API Cursor и нашёл секрет самого громкого запуска года

4 hours 4 min ago

20 марта 2026 года. Разработчик по имени Финн ковыряет API-эндпоинт Cursor. Не ищет секреты. Просто дебажит.

Но ответ приходит с идентификатором модели, который — не «Composer 2». Там написано:

kimi-k2p5-rl-0317-s515-fast

Он это твитит. 444 000 просмотров.

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

Читать далее

Как компании строят MLOps: три архитектурных подхода

4 hours 16 min ago

Всем привет! Меня зовут Катерина Цаплина, я программный эксперт курса «MLOps для разработки и мониторинга моделей». Работаю на стыке ML, инфраструктуры и корпоративной архитектуры в крупной промышленной компании и на практике вижу, насколько непросто выстраивать такие процессы в реальной организации. 

Это первая статья из цикла о том, как компании реализуют MLOps. Она будет полезна тем, кто строит или развивает ML-процессы в компании и хочет разобраться, почему под словом MLOps часто скрываются довольно разные практики и решения. 

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

Читать далее

Как там с OpenClaw: что происходит и что уже можно использовать?

4 hours 16 min ago

OpenClaw прошел путь от хобби-проекта до самого быстрорастущего open-source проекта в истории GitHub — и запустил настоящую гонку вооружений среди крупнейших ИТ-компаний. Пользователи скупают Mac mini, команды разработки деплоят десятки агентов через Kubernetes, а ИТ-гиганты выпускают решения на базе хайпового продукта. На русском языке материалов об OpenClaw в бизнесе и разработке практически не выходило. Закрываем пробел, коротко разбираем архитектуру мультиагентных систем, реальные сценарии оркестрации, а также ситуацию на рынке B2B-решений.

Читать далее

Первый опыт с Warp: медленный, но сообразительный помощник, который заставит вас глупеть

4 hours 20 min ago

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

Читать далее

Ловушки удобного синтаксиса языка Kotlin. Как миграция на Kotlin 2.2+ может сломать ваш проект и как его починить

4 hours 20 min ago

Это история о граблях, на которые вы можете наступить при миграции на Kotlin 2.2+, а также о развитии и закулисье удобства языка Kotlin.

Когда Kotlin только появился, он уже обладал всем привычным теперь синтаксическим сахаром в виде неабстрактных методов интерфейсов, параметров по умолчанию у функций. Тогда это была версия 1.0.0, совместимая с Java 6. Java 6 и 7 не умела создавать неабстрактные методы интерфейсов, эта возможность появилась только в Java 8.

Чтобы иметь возможность создавать такие методы, Kotlin генерировал специальный класс DefaultImpls, в котором располагались статичные методы, выглядящие в Kotlin как обычные методы. Далее язык пошёл по долгому пути миграции на Java/JVM default method, появившиеся в Java 8.

Читать далее

Линтер для теологии, или Как ансамбль LLM провел статический анализ библейского текста (кейс 1 Тим. 2:15)

4 hours 20 min ago

Можно ли использовать ансамбль LLM как статический анализатор для богословского текста? В эксперименте пять языковых моделей проверили логическую устойчивость двух competing интерпретаций 1 Тим. 2:15. Результат — не истина, а прозрачная формализация неявных допущений. Метод применим к юриспруденции, истории и техдокументации.

Читать далее

Чему обучить проектную команду в ИТ, чтобы ускорить релизы и сэкономить бюджет

4 hours 26 min ago

Цена ошибок в ИТ-сфере растет: баги в выпущенном на рынок продукте могут стоить кампании миллионов рублей, а задержка релиза оборачивается потерянными клиентами. Общее ускорение индустрии только усиливает риски. Появляются новые фреймворки (программные платформы), практики и подходы, за которыми нужно успевать. В таких условиях обучение команды из кадровой инициативы и бонуса для сотрудников превращается в инструмент управления сроками и бюджетами проекта.

Читать далее

[Перевод] Стартап, который хочет использовать микророботов для лечения болезни Альцгеймера

4 hours 29 min ago

Последние несколько месяцев нейрохирурги в больницах Флориды, Коннектикута и Нью-Йорка готовились к экспериментальной операции, предназначенной для лечения болезни Альцгеймера — деменции, приводящей к катастрофической потере памяти. Операцию, которую они ранее отрабатывали на трупах, направлена на очистку дренажных путей головного мозга. Это может помочь собственной лимфатической системе пациентов вымыть токсины, которые, по мнению учёных, являются характерным признаком этого заболевания, от которого в одной только США страдают 7 миллионов человек.

Для этого врачи будут использовать самые маленькие в мире хирургические роботизированные инструменты, способные удерживать крошечные иглы размером с ресницу, а также ножницы и расширители, ширина которых примерно равна толщине человеческого волоса. Лимфатические сосуды на шее, на которых хирурги будут оперировать в рамках процедуры лечения болезни Альцгеймера, могут иметь диаметр всего 0,2 миллиметра — это толщина двух листов бумаги. «Это всё равно что взять пару волосков и сшить их вместе крошечными швами», — говорит Марк Толанд, генеральный директор стартапа MMI из Джексонвилля, штат Флорида, который производит микророботов.

Читать далее

Нефть и газ в бюджете РФ: доля, дефицит и устойчивость

4 hours 31 min ago

Есть вечный спор в духе: "Россия живет на нефти и газе" vs "Значимость нефти и газа преувеличена, в основном всё финансируется из налогов". Оба лагеря обычно смотрят на один показатель, на долю нефтегазовых доходов, и делают из него слишком большие выводы.

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

Вопрос, на который мы отвечаем:

Насколько федеральный бюджет РФ зависит от нефтегазовых доходов?

Читать далее

Разбор атаки на 2FA российского банка

4 hours 34 min ago

Сегодня разберём реальный кейс пентеста крупного российского банка. Поговорим о том, как двухфакторная аутентификация превратилась в иллюзию безопасности, и что делать, чтобы ваша защита не была такой же. Речь пойдёт не о сложных zero‑day эксплоитах, а о банальной ошибке, которая до сих пор встречается. Мы посмотрим, как 4 цифры в SMS и отсутствие лимитов открыли доступ к паспортам, документам и финансовым заявкам. И главное — разберём, как закрыть эту дыру ещё на этапе проектирования.

Читать далее

Рабочий чат VS Сообщество. Кто круче?

4 hours 35 min ago

Привет! Меня зовут Марина Мелкова и я отвечаю за профессиональные сообщества в ОТП Банке. Иногда на конференциях, тематических встречах с представителями бизнеса звучат комментарии: «Что вы там такое про сообщества рассказываете? Сделали чат и вот вам сообщество!» С одной стороны, логика в этом есть. С другой, если бы все было так просто, не было бы комьюнити-менеджеров и методологий. Разбираемся, почему не каждый чат может стать сообществом и расставляем точки над i.

В начале было слово

Человек - существо социальное. Это еще Аристотель заприметил. Со времен Древней Греции в этом отношении мало что изменилось. Мы интуитивно стремимся к общности - создаем семьи, объединяемся в группы, вместе работаем. И кажется, если просто создать чат на одной из платформ и пригласить туда участников, они начнут сами общаться между собой и вот вам и сообщество.

На самом деле общая платформа для общения – только вершина айсберга. Сообщество основывается на добровольном участии. Как только вы делаете чат и загоняете туда людей, вы сразу же нарушаете первое правило формирования сообществ. Это как правила робототехники - можно не знать, но они все равно будут действовать. В неволе не только морские млекопитающие типа нарвалов не размножаются, но и профессионалы в незнакомой или враждебной среде не охотно проявляются. Так что чат есть, люди есть, но сообщества нет.

Труд облагораживает

Реальный кейс. Есть рабочая группа, она активно работает – общение кипит, kpi выполняются. Даже мемы по пятницам есть, и неформальные шутки, и общий опыт регулярных встреч. И тут мы слышим, как про эту продуктивную рабочую группу говорят, что это успешное профессиональное сообщество.

Читать далее

BDR: Почему ваши тесты на Playwright флакают в CI и как перестать жечь на этом деньги? Lead-гайд (Часть 1)

4 hours 41 min ago

Ваши тесты стабильно проходят локально, но в CI каждое утро — красный океан? Вы тратите часы на дебаг флаков, а стейджинг «ложится» в самый неподходящий момент? Знакомо? В этом гайде расскажу, как перестать жечь бюджет CI и превратить автотесты из источника боли в живую документацию, следуя методологии BDR (Behavior-Driven Living Requirements).

Почему это важно:
Если у вас уже 100+ тестов или вы только закладываете фундамент — неправильная архитектура будет стоить команде десятков часов дебага и простоя CI. Но есть проверенные практики, которые внедряются за пару часов и экономят деньги каждый день.

Вы узнаете:

Как использовать Dependency Projects вместо globalSetup, чтобы строить граф иммунитета и экономить 40 минут CI при падении окружения.

Почему авторизация через API — это база, а UI-логин должен быть только в одном тесте.

Как выбирать локаторы, чтобы не переписывать тесты после каждого апдейта фронтенда: getByTestId для действий, getByRole для проверок.

Почему isVisible() — зло, и как web-first assertions (с ретраями) убивают race conditions.

В чём ловушка гидратации и почему force: true — это маскировка проблемы, а не решение.

Как блокировать маркетинговый мусор (метрики, чаты), чтобы тесты не зависели от сторонних тормозов.

Как Trace Viewer превращает дебаг из гадания в машину времени: смотрим не просто скриншоты, а консоль, сеть и интерактивный DOM в момент падения.

Прагматичный подход к линтерам: что включать как error, а что — как warn, чтобы не перегнуть палку.

Для кого:
Для QA-инженеров, которые хотят поднять свои тесты на промышленный уровень. Для тимлидов, которые устали от горящего CI и хотят стандартизировать подход в команде. Для всех, кто использует Playwright и хочет спать спокойно.

Бонус:
Cheat sheet по web-first ассертам, шпаргалка частых флаков и готовые конфиги для playwright.config.ts и .eslintrc.js. А в конце — челлендж: примените 5 правил уже сегодня и оцените стабильность.

Часть 1 — фундамент стабильности. В следующей части разберём масштабирование: фикстуры, изоляцию данных, параллельный запуск и превращение тестов в живую документацию.

Подход и код — в открытом репозитории на GitHub. Поехали!

Читать далее

Безопасный file upload в Go: 7 атак на загрузку файлов и как мы их закрывали

4 hours 52 min ago

«Сделай форму загрузки PDF» – звучит как задача на полчаса. Claude/GPT напишет handler, мы добавим accept=".pdf" на фронте, multer на бэке – и вот у нас работающий upload. Можно деплоить.

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

С распространением LLM-инструментов порог входа в разработку снизился радикально. Это прекрасно – больше людей могут создавать продукты. Но вместе с порогом входа снизился и порог входа для уязвимостей. Когда LLM генерирует код загрузки файла, она решает функциональную задачу: принять файл, сохранить, обработать. Безопасность? «Добавлю потом». А «потом» обычно наступает после инцидента.

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

Читать далее

[Перевод] Революция ИИ в 2026 году: ключевые тренды, которые должен знать каждый разработчик

4 hours 54 min ago

Темпы развития ИИ в разработке программного обеспечения не просто сохранились — они фундаментально изменились. Если 2025 год стал годом, когда ИИ закрепился в роли ежедневного помощника разработчиков, то 2026 — это год, когда он стал полноценным соавтором. Сегодня 67% разработчиков по всему миру применяют их в своих рабочих процессах. Мы перешли порог от экспериментов к инфраструктуре.

Вот десять трендов, которые определяют разработку с использованием ИИ в 2026 году и что вам с этим делать.

1. Agentic AI: от диалога к автономным действиям

Самый большой сдвиг парадигмы в 2026 году — это переход от разговорного ИИ к агентному ИИ — системам, которые не ждут запросов, а самостоятельно формируют и выполняют многошаговые планы. Инструменты вроде Claude Code, агентного режима GitHub Copilot и Cursor теперь берут на себя целые рабочие процессы: читают кодовую базу, планируют изменения в нескольких файлах, запускают тесты и итеративно исправляют ошибки — полностью автономно.

Это уже не просто автодополнение кода. Эти агенты понимают контекст репозитория, историю коммитов и архитектурные паттерны. В отчёте Anthropic «Agentic Coding Trends 2026» это называется «интеллект репозитория» — ИИ, который понимает не только строки кода, но и связи и намерения за ними.

Что изменилось с 2025 года: в прошлом году мы говорили о «инструментах разработки с ИИ, выходящих за рамки автодополнения». В 2026 году мы перескочили от расширения возможностей к делегированию. Разработчик уровня 10x может превратиться в 100x — не за счёт написания большего количества кода, а за счёт управления агентами, которые это делают.

Читать далее

Новый слабо централизованный мессенджер с E2E-шифрованием и групповыми чатами, написанный на Go при помощи Fyne

4 hours 57 min ago

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

Читать далее

[Перевод] Математики нашли неожиданные связи между разными формулами для вычисления числа пи

4 hours 59 min ago

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

Разделите окружность любого круга на его диаметр, и вы получите число пи. Но как именно оно записывается? Измерение физических кругов не даст вам ответа — ваши инструменты слишком громоздки, чтобы раскрыть все подробности бесконечной последовательности цифр числа пи. Чтобы раскрыть его истинное значение, требуется нечто гораздо более мощное: формула.

Читать далее

Я перестал описывать изображения нейросети — и начал показывать. Что из этого вышло

5 hours 1 min ago

Привет, Хабр!

У меня была довольно простая идея — сделать несколько принтов с хоккеистами. В итоге всё закончилось тем, что я превратил их в богов и собрал серию THE HOCKEY GODS SERIES.

1. Предисловие

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

Идея была такова: сделать небольшую коллекцию футболок с эпичными изображениями современных хоккеистов. Идея базировалась на трёх архетипах «Александр Овечкин — Архангел», «Здено Хара — Кибервойн» и «Виктор Хедман — Ледяной страж», но в процессе работы по ряду соображений (узнаваемость бренда у российский аудитории и некоторые сложности с результатами генерации по Здено Харе) я решил исключить всех иностранных хоккеистов или выделить их в отдельный блок. Таким образом, сейчас в коллекцию входят футболки со следующими хоккеистами: Александр Овечкин, Артемий Панарин, Сергей Бобровский, Павел Дацюк, Михаил Сергачёв и Евгений Малкин.

Читать далее

[Перевод] Структуры данных на практике. Глава 9: Двоичные деревья поиска

5 hours 4 min ago

Катастрофа с красно-чёрным деревом

Компилятор тратил 60% времени на поиск символов. Не на парсинг, не на генерацию кода, просто на поиск в таблице символов.

Для типичной программы на встраиваемой системе с 10 тысячами символов это было неприемлемо. В таблице символов хранились имена переменных, имена функций и определения типов. В реализации использовалось красно-чёрное дерево — самобалансирующееся дерево двоичного поиска.

«У него O(log n); судя по учебникам, оно идеально подходит для этой цели», — сказал мой коллега.

Но профилировщик показывал иное...

Читать далее

Я устала писать одно и то же для форм в Next.js. Поэтому написала typed-form-actions

5 hours 4 min ago

Мне нравится направление, в котором движутся React и Next.js: нативные формы, Server Actions, меньше клиентского JavaScript, больше progressive enhancement.

На уровне идеи это очень красиво.

Но как только форма становится сложнее, чем одно поле email, выясняется, что вокруг нее снова появляется много однотипного glue code.

Читать далее

Who's online

There are currently 0 users and 11 guests online.