Habr.com

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

Свое или чужое: почему и как мы делаем нашу хаос-платформу

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

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

Читать далее

broken lives matter. Как я написал распознавание речи потому что мне не продали ключ

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

Статья о том, как я писал свое Распознавание речи, используя vk cloud. Писал от обиды на иностранных разработчиков. Хотя думается мне, что разработчики все-таки наши. Просто для того, чтобы проект стал международным, он должен быть запрещен в России.

Читать далее

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

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

25 марта ФАС объявила, что штрафовать за рекламу в Telegram не будет до конца 2026 года. Формально реклама на заблокированных ресурсах запрещена с сентября 2025-го, но ведомство дало бизнесу время перестроиться. Ограничения на Telegram в России действуют с февраля 2026-го.

Снова нам блокируют Telegram. В 2018 году вводить ограничения уже пробовали — тогда их отменили, и аудитория мессенджера в стране, наоборот, сильно выросла.

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

Telegram никогда не покупал трафик, не заливал деньги в маркетинг, регулярно попадал под давление со стороны государств и при этом рос быстрее конкурентов. 

Сейчас разберем, как так получилось.

Читать далее

Книга: «Грокаем проектирование реляционных баз данных»

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

Привет, Хаброжители! Реляционные базы данных используются практически в каждой компании. И разбираться в том, как они работают, приходится и разработчикам, и аналитикам, создающим дашборды и отчеты, и специалистам, которым просто нужна актуальная информация. Это увлекательное руководство по миру баз данных и SQL написано в доступной и юмористической манере. Авторы, опытные преподаватели из Университета Торонто, превращают сложные концепции в простые и понятные объяснения с помощью ярких примеров, забавных иллюстраций и практических заданий.

Книга охватывает основы SQL, проектирование сущностей и связей, нормализацию, безопасность, оптимизацию и даже роль генеративного ИИ в дизайне БД. Идеальный выбор для тех, кто хочет освоить реляционные базы данных без скучных лекций, а с удовольствием и практическим применением.

Читать далее

Когда игры переплюнули фильмы?

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

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

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

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

Читать далее

Тайны рекламного аукциона в Ozon и как мы приручали VCG

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

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

В этой статье я хочу познакомить вас с механикой аукционов и рассказать, как мы делаем это в Ozon. Сначала мы разберёмся, что такое рекламный аукцион, что он имеет общего с аукционом в обычном понимании и как используется в контексте поисковой рекламы. А ещё подробно разберём аукцион типа VCG (аукцион Викри — Кларка — Гровса), вместе выведем формулы для него и посмотрим, какие результаты мы получили на практике.

Читать далее

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

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

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

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

Читать далее

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

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

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

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

kimi-k2p5-rl-0317-s515-fast

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

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

Читать далее

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

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

Читать далее

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

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

Это история о граблях, на которые вы можете наступить при миграции на 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)

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

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

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

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

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

Читать далее

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

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

Ваши тесты стабильно проходят локально, но в 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 атак на загрузку файлов и как мы их закрывали

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

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

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

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

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

Читать далее

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

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