Habr.com

  • user warning: Table './drupal/sessions' is marked as crashed and last (automatic?) repair failed query: SELECT COUNT(sid) AS count FROM sessions WHERE timestamp >= 1789409658 AND uid = 0 in /var/www/html/includes/session.inc on line 157.
  • user warning: Table './drupal/sessions' is marked as crashed and last (automatic?) repair failed query: SELECT COUNT(DISTINCT s.uid) FROM sessions s WHERE s.timestamp >= 1789409658 AND s.uid > 0 in /var/www/html/modules/user/user.module on line 808.
Syndicate content Хабр
Все публикации подряд на Хабре
Updated: 49 min 14 sec ago

UX Telegram‑бота: как сократить сценарий и снизить отток пользователей

5 hours 49 min ago

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

Ниже я разберу типичные UX‑ошибки на уровне сценария, примеры «как не надо» и «как лучше», а также простые метрики, по которым можно заметить проблему в своём боте. 

Читать далее

Локализация как игра в покер (на минном поле)

6 hours 11 min ago

Давным‑давно, аж одиннадцать лет назад, в соответствии с Федеральным законом «О промышленной политике в Российской Федерации» Правительство Российской Федерации выпустило знаменитое Постановление от 17 июля 2015 г. № 719 «О подтверждении производства промышленной продукции на территории Российской Федерации», сокращенно везде именуемое ПП 719. Основной целью данного постановления была стимуляция развития отечественной промышленности. После начала СВО и введения санкций ПП 719 становится ключевым в продвижении любой продукции.

С завидной периодичностью выходят дополнения к данному постановлению, что добавляет азарта в попытках угнаться за фантазиями законотворцев. Меня, как разработчика электроники (на данный момент времени — автоэлектроники) сильно заботят изменения, касающиеся группы II (Продукция автомобилестроения) и группы IX (Продукция радиоэлектроники). Последние редакции ПП 719 в этих группах определены Постановлением Правительства Российской Федерации от 16 марта 2024 г. № 317 «О внесении изменений в Постановление Правительства Российской Федерации от 17 июля 2015 г. № 719».

Читать далее

Синдром самозванца у техлида: почему лучшие разработчики боятся вести за собой людей и как это чинить

6 hours 13 min ago

Дисклеймер от автора: Я пишу эту статью, опираясь на 15 лет работы в тренингах, сотни часов индивидуальных сессий с IT-руководителями и собственный опыт трансформации в управленца. То, что вы чувствуете — нормально.

Вы написали сервис, который обрабатывает миллион запросов в секунду. Вы спроектировали архитектуру, которую не стыдно показать на HighLoad++. Вас повысили до тимлида или архитектора-наставника.

И вот наступает утро понедельника. Команда ждет ваших решений. Джун смотрит на вас глазами, полными надежды. Продакт-менеджер требует оценки сроков «прямо сейчас». А внутри вашей головы звучит только одна мысль: «Они скоро поймут, что я понятия не имею, как управлять людьми. Мне просто повезло оказаться в нужное время в нужном месте. Мой код был хорош, но лидер из меня никакой».

Поздравляю. У вас синдром самозванца. И если верить моей практике (а также статистике Harvard Business Review), прямо сейчас его испытывают около 70% специалистов при переходе на новую ступень ответственности.

Почему ваш внутренний критик орет громче обычного

В разработке всё логично. Тесты зеленые или красные. Сложность алгоритма оценивается. Это мир бинарной определенности.

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

Когда инженер становится лидом, происходит слом парадигмы:

Читать далее

Как работать с GPT Image 2.5: что советует OpenAI и что уже выяснили пользователи Reddit

6 hours 31 min ago

OpenAI выпустила подробный гайд по промптам для GPT Image 2.5. Я прочитал его, а потом полез на Reddit смотреть, что происходит с этими рекомендациями в реальной жизни. Оказалось, пользователи уже успели не только проверить многие советы, но и найти несколько довольно полезных обходных путей.

Читать далее

Одна «кнопка» для гибридного Kubernetes: рассказываем, для каких сценариев она нужна

6 hours 47 min ago

Добавление физического сервера в кластер Kubernetes требует ручных действий: подключиться по SSH, установить пакеты, добавить параметры подключения и секреты, сконфигурировать kubelet, проверить, что узел появился в кластере, повторить для следующего сервера.

Привет, Хабр! Меня зовут Андрей Волков, я руководитель SRE в команде Managed Service for Kubernetes в Yandex Cloud и мы добавили возможность подключать BareMetal-серверы в кластер Kubernetes одной кнопкой.

Читать далее

Приз за то, чего вы не сделали: соревнование по кибербезопасности для тех, кто не пишет код

6 hours 59 min ago

Привет, Хабр! Меня зовут Илья Никифоров, я отвечаю за Security Awareness — обучение сотрудников информационной безопасности в команде GRC в Авито

CTF (Capture the Flag, или «захват флага») — соревнование по кибербезопасности, в котором участники решают задания и получают за них очки. В каждом задании нужно найти «флаг» — короткий текстовый ответ. Например, разгадать шифр и получить секретное слово. Участник вводит найденный ответ на сайте соревнования: если он верный, система начисляет очки.

Один из форматов CTF называется jeopardy. Это набор отдельных заданий: участник сам выбирает, с какого начать и к какому перейти дальше. Решённые задания приносят очки, а место в таблице результатов зависит от того, сколько очков удалось набрать.

Совместно с BI.ZONE мы взяли эту механику за основу и собрали «Кибердетектив» — соревнование по информационной безопасности для нетехнических сотрудников. Для основной части заданий не требовалось писать код. В некоторых из них флаг выдавался за отказ от опасного действия. Но автоматически отклонять всё подряд было недостаточно: нужно было разобраться в ситуации и найти безопасное решение.

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

Читать далее

redb 4.0: XML-маршруты, ленивые ссылки, уникальные ключи и WS-Trust в одном мажоре

7 hours 7 min ago

Мажор всей экосистемы: что появилось в redb.Core, redb.Route, redb.Tsak и redb.Identity, что закрыто по безопасности и что ломает обновление.

Много работы было сделано ночами при свечах. Обратная связь от людей давала пищу для размышлений и фиксов: комментарии к статьям, обсуждения на GitHub, отчёты с живых стендов. И вот, отработав по-стахановски, выпускаю 4.0.0.

Это мажор всей экосистемы разом. Хранилище redb.Core, интеграционный движок redb.Route, рантайм redb.Tsak и OpenID-сервер redb.Identity выходят одним номером: 76 пакетов на NuGet (у 3.7 было 66), семь образов в GHCR, архивы под Windows и Linux. Pro-издание по-прежнему бесплатно и не требует лицензионного ключа на всей линии 4.x.

Изменений столько, что подробный разбор любого из продуктов тянет на отдельную статью, и такие статьи будут. Здесь коротко, почти списком: что появилось, что закрыто по безопасности и что нужно знать перед обновлением. Полные списки изменений лежат на redb.ru/releases.

Читать далее

Снижение нагрузки на сервер с помощью WAF: реальный кейс WordPress/WooCommerce

7 hours 36 min ago

Реальный кейс снижения нагрузки WordPress/WooCommerce с помощью WAF

На WordPress/WooCommerce-сайте на shared-хостинге регулярно возникали серьёзные превышения нагрузки на веб-сервер и MySQL. Штатный антибот-фильтр хостинга проблему не решил. В этом кейсе я показываю, что изменилось после подключения внешнего WAF с индивидуальной фильтрацией трафика: какие запросы создавали лишнюю нагрузку, как отсеивались парсеры, сканеры и поведенческие боты и что происходило с поисковыми роботами.

По данным Beget, после замены фильтра суточная нагрузка сайта снизилась примерно в 45 раз, базы данных — примерно в 39 раз. При этом WordPress, WooCommerce, плагины, код и структура БД не изменялись. В статье — реальные графики, данные Яндекс Метрики, статистика WAF и разбор случаев, когда WAF, наоборот, не поможет решить проблему высокой нагрузки.

Читать далее

Модель пуска трехфазного двигателя от однофазной сети

7 hours 40 min ago

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

Читать далее

ГАР/ФИАС: как получить актуальный адрес с пространственным положением

7 hours 45 min ago

Регулярно возникает ситуация, когда необходимо найти местоположение достоверного и актуального адреса или группы адресов, чтобы использовать их в GIS‑процессах. Такие адреса можно получить только из ГАР/ФИАС, но там только текстовые записи, при этом полный адрес разнесен в разные XML‑таблицы. Пространственное положение можно определить в НСПД, но часть данных при наличии пространственного объекта может иметь неактуальный, неполный текст адреса, или вообще не иметь его. Эти две сущности имеют общую связку — кадастровый номер.

Но основная сложность заключается в том, ГАР это не готовая таблица с адресной строкой, а историзированный реестр, разбитый на набор связанных сущностей и XML‑таблиц, где разные типы объектов их параметры, типы иерархии хранятся отдельно, и при этом еще нужно учитывать актуальность самой записи, ее активность, текущую иерархию и связанные параметры. Иначе можно собрать последнюю версию записи, но которая уже не действующая, или собрать адрес по устаревшей иерархии.

Читать далее

Garmin, Colmi и фигурное катание

7 hours 52 min ago

Фигурное катание в 37 лет: что говорят данные с носимых устройств о восстановлении, зонах нагрузки и управлении тренировочным процессом

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

Читать далее

Почему зарплаты в IT перестали быстро расти и что это значит для карьеры

7 hours 55 min ago

Медианная зарплата IT-специалистов в первой половине 2026 года составила 191 тысячу рублей, на 4% больше, чем во втором полугодии 2025 года. При этом по прогнозу ЦБ РФ годовая инфляция в этом году составит 4,5-5,5%. То есть, формально рост есть, а по факту — нет. Об этом говорит свежее исследование Хабр Карьеры, которое охватило 45 226 зарплат IT-специалистов в первой половине 2026 года. 

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

Читать далее

ЮKassa, первый платёж в AI-продукте, купоны, анти-даблклик и запрет дублей подписки

8 hours 2 min ago

ЮKassa создает платеж по запросу backend. Сервер передает сумму, валюту, режим capture, данные подтверждения, описание и Idempotence-Key. При confirmation.type=redirect ЮKassa возвращает адрес страницы оплаты. Frontend переводит пользователя на этот адрес.

Купон, проверка активной подписки и блокировка повторного POST работают на стороне приложения. В ЮKassa уходит уже рассчитанная сумма.

Ниже используется реализация из проекта AI-Chat, платежи в профиле пользователя, Render просыпается пару минут. Frontend написан на Next.js, платежный backend на Django REST Framework.

Читать далее

Как я научил MacBook озвучивать субтитры с PS5

8 hours 3 min ago

Мы с женой хотели играть в Split Fiction, но английские диалоги было трудно понимать на слух. Я собрал PS5 Voice: MacBook распознаёт субтитры с приставки и озвучивает их по-русски. Мы уже играли с этой озвучкой — работает, и это кайф. Рассказываю, как устроено приложение, и делюсь промптом для самостоятельной сборки.

Читать историю

Аналитическая платформа данных по игре Dota 2: источники

8 hours 6 min ago

Когда я начинал этот проект, казалось, что собрать данные по Dota 2 будет просто: есть Steam API, есть матчи, остаётся только сохранить их в базу и строить аналитику. На практике всё оказалось интереснее. У Steam есть endpoint для детальной информации о матче, но для новых матчей он давно возвращает ошибку. А Stratz даёт нужные игровые события, но ограничивает бесплатный ключ 15 тысячами запросов в сутки. Один матч, один запрос. В итоге вместо простого скрипта появился отдельный операционный слой: Steam находит матчи, Stratz отдаёт события, PostgreSQL хранит сущности и состояние загрузок, MongoDB хранит детальную историю игры. Очереди, обработка 429, ограничение бэклога, очистка старых данных.

Читать далее

Фича популярна у самых ценных пользователей. Стоит ли делать её центральной частью продукта?

8 hours 6 min ago

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

Читать далее

[Перевод] Книга «Изучаем системное мышление». Обзор от читателя

8 hours 17 min ago

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

Мы убеждены, что при проектировании систем их нужно, прежде всего, тщательно продумывать и моделировать. В крупной организации на это накладывается столько разночтений, согласований и неизбежного недопонимания, что кому-то просто необходимо предотвращать скатывание системы в хаос, одновременно её корректируя и развивая. О том, как это сделать программному архитектору, системному аналитику и людям, принимающим решения, рассказала Дайана Монталион в своём труде "Изучаем системное мышление", недавно пополнившем наш книжный зоопарк. Дайана Монталион более 20 лет занимается программной архитектурой и создаёт передовые программные системы для таких организаций как Стэнфордский университет, фонд Билла и Мелинды Гейтс, газеты The Economist и портала Wikimedia. Основала компанию Mentrix Group, занимающуюся разработкой ПО и оказанием сопутствующих услуг. Также ведет семинары по системному мышлению, технологической архитектуре и нелинейным подходам к разработке ПО. Предлагаем вам подробный обзор книги от блогера Хави Агирре, подробно проштудировавшего её.

Читать далее

AI‑агент вместо ручного регресса: архитектура, метрики, инсайты

8 hours 18 min ago

Привет, Хабр! На связи Владимир Бойко, ведущий iOS‑разработчик в Т‑Банке. В статье расскажу, как мы построили AI‑QA‑агента, который проходит тест‑кейсы так же, как это делает человек: запускает приложение на симуляторе, выполняет сценарий шаг за шагом, анализирует экраны с помощью VLM и автоматически сравнивает ожидаемый результат с фактическим.

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

Примерно в то же время я заканчивал задачи с VLM для Умной камеры и плотно общался с командой VLM Core — ребятами, которые развивают инфраструктуру мультимодальных моделей внутри банка. Вопрос напрашивался сам собой: а что если агент на базе VLM сможет выполнять эти проверки вместо людей?

Читать далее

Мы измерили платный антидетект‑браузер: canvas совпадал с чистой машиной байт в байт. Потом сделали свой, открытый

8 hours 26 min ago

Антидетект‑браузеры — инструмент, которым агентства ведут десятки рекламных кабинетов и аккаунтов маркетплейсов с одной машины: у каждого профиля свой отпечаток, свой прокси, свои cookies. Стоят они $30–150 в месяц на команду, и все до одного закрытые. В интерфейсе — зелёные галочки «canvas: защищён», «WebGL: защищён». Что на самом деле уходит сайту — не знает никто, включая, как выяснилось, пользователей.

Мы взяли один из популярных продуктов, поставили рядом с настоящим Chrome на одном Mac и сравнили ~250 значений отпечатка. Результат стал причиной написать свой. Ниже — методика, которую можно повторить на любом антидетекте за десять минут, что она показала, и как в итоге устроен Fury — открытый форк Chromium, где подмена делается в C++ у источника значения, а не инжектом JS.

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

Читать далее

React в 2026 году: вайб-кодинг, Next.js, рынок и фронтенд после прихода ИИ — интервью с Александром Ломковым

8 hours 58 min ago

React давно перестал быть просто библиотекой для отрисовки интерфейсов. Вокруг него выросла огромная экосистема, а сама работа фронтенд-разработчика меняется под влиянием ИИ быстрее, чем успевают обновляться привычные roadmap. Нужно ли сегодня глубоко знать JavaScript, стоит ли учить Next.js «по умолчанию», чем React выигрывает у Angular, что не так с вайб-кодингом и останется ли вообще ручное написание кода через пять лет?

Я, Александр, автор телеграм-канала «Shulepov Code», поговорил с Александром Ломковым — фронтенд-разработчиком и автором YouTube-канала «Friendly Frontend». Обсудили рынок найма, переход из VK в Wildberries, нейросети в реальной разработке, React и его экосистему, серверный рендеринг и то, какие навыки становятся важнее самого умения писать код.  

Читать далее

Who's online

There are currently users and guests online.