Habr.com

Syndicate content Хабр
Все публикации подряд на Хабре
Updated: 44 min 13 sec ago

PostgreSQL Query Planner: Практический гид по EXPLAIN ANALYZE и ускорению запросов на 50–200%

2 hours 39 min ago

Введение: почему запросы вдруг тормозят?

Представьте ситуацию: вчера приложение работало нормально, сегодня получили звонок – «Сайт грузит 10 секунд!». Заглядываете в логи, видите, что SQL-запрос выполняется 8 секунд вместо обычных 0.2 секунды. Но база данных, таблицы – всё то же самое. Что изменилось?

Дело в том, что PostgreSQL Query Planner – оптимизатор запросов – принимает решения на основе статистики. Когда статистика устаревает или таблица растёт в 10 раз, планировщик может выбрать неэффективный план выполнения. Например, вместо быстрого Index Scan он выберет медленный Seq Scan всей таблицы. Это не баг – это следствие неправильной информации о данных.

Статья полезна:

- Новичкам в SQL: разберётесь, как работают запросы

- Разработчикам на Symfony/Doctrine, Go с pgx: увидите интеграцию с вашим кодом

- Опытным DBA: найдёте оптимизации для таблиц в миллионы строк

Не требуется: специального опыта. Нужны базовые знания SQL и доступ к PostgreSQL.

Читать далее

Агностичность к менеджерам репозиториев: новый подход к OSA-анализу

2 hours 41 min ago

Привет! Это Angara Security и наш эксперт отдела безопасной разработки Андрей Быстров. Совсем недавно состоялся релиз OSA Proxy, нового модуля продукта CodeScoring.OSA. В этой статье попробуем разобраться в задачах данного модуля и подходах к его использованию.
Начать стоит с основ: каким образом реализуется проверка программного обеспечения с открытым исходным кодом в инструментах композиционного анализа на этапе OSA? Для наглядности приведем простую схему. Она также будет полезна в дальнейшем для сравнения архитектурных подходов к задаче проверки Open Source зависимостей.

Читать далее

Откуда берутся выключатели. Как мы разработали умные электроустановочные изделия AtlasDesign Smart

3 hours 3 min ago

Салют, Хабр!

Я Иван, HW TPM Умного дома Sber — технический менеджер продукта в области хардвера. В этом году мы вместе с Systeme Electric (ex-Schneider Electric) выпустили линейку умных электроустановочных изделий AtlasDesign Smart: выключатели, розетки и термостаты тёплого пола. Это встраиваемые устройства с подключением по Zigbee-протоколу для тех, кто планирует масштабную автоматизацию своего дома.  

В этой статье хочу поделиться особенностями разработки и главными проблемами, с которыми пришлось столкнуться (всего мы насчитали 7). Расскажу, как мы уместили умную начинку в стандартный подрозетник, что даёт технология zero-crossing detection и почему дисплей умного термостата похож на бутерброд.

Читать далее

Простым товарам ― простые решения. Отказались от гламура и продали в 2 раза больше букетов из клубники

3 hours 13 min ago

Привет, Хабр! Это Сергей Перевозчиков, основатель агентства контекстной рекламы «КонтекстЛаб». Когда работаешь с клиентами, у которых продукт живёт считаные дни, очень быстро понимаешь: реклама должна не просто «приводить трафик», а поддерживать производство в движении каждый день. У нас был кейс с производителем сладостей из клубники и дубайского шоколада — в несезон спрос падал, ДРР рос, а стандартные методы оптимизации буксовали. В этой статье расскажу, как мы искали баланс между продажами и затратами, что показали эксперименты с ИИ-объявлениями и почему сокращение ассортимента стало неожиданно сильным решением. Именно эта связка помогла удвоить продажи и при этом снизить ДРР, когда казалось, что рынок уже не оставил шансов. 

Читать далее

Самые частые ошибки при настройке VPS: опыт техподдержки

3 hours 13 min ago

«Сервер не пингуется», «интернета нет», «пароль не подходит», «почему пропало место на диске?» — если вы когда-нибудь арендовали VPS, эти фразы вам знакомы.

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

Читать далее

Вспомнить все: как онбординг и подробные макеты позволяют дизайнерам не впасть в хаос

3 hours 26 min ago

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

Меня зовут Полина Рябчун, я тимлид дизайнеров в компании KODE, и я расскажу, что помогает всей команде быть в одном контексте. 

Читать далее

Один чат, чтобы править всеми: собрали библиотеку для ИИ-ассистентов на базе Gravity UI

3 hours 28 min ago

За последний год мы наблюдаем бум ИИ‑помощников, и это не обошло стороной интерфейсы в Yandex Cloud: то в техподдержке завёлся чат‑бот с моделью, то в консоли — агент для рабочих операций. Команды подключали модели, продумывали диалоговую логику, рисовали дизайн и собирали чаты — и делали всё это поодиночке.

Разные команды собирали интерфейсы на общем фреймворке Gravity UI, но постепенно там появилось столько вариаций, что стало сложно поддерживать единый пользовательский опыт. Да и коллеги всё чаще сталкивались с тем, что тратят время на одни и те же решения. 

Чтобы перестать каждый раз изобретать велосипед, мы собрали накопленные практики в единый подход и сделали инструмент для чат‑ботов с ИИ — @gravity‑ui/aikit. Он позволяет создать полноценный интерфейс ассистента за несколько дней и при этом легко адаптировать его под разные сценарии.

Меня зовут Илья Ломтев, я старший разработчик в команде Foundation Services Yandex Cloud, и в статье я расскажу, почему мы решили собрать AIKit, как он устроен, немного о планах на будущее — и о том, что можно попробовать у себя.

Читать далее

[Перевод] Установка и базовое использование Item Browser в Zabbix

3 hours 39 min ago

Всем привет! Мы делаем проекты по Zabbix, накопили большую экспертизу и решили сделать переводы нескольких статей, которые нам показались интересными и полезными. Наверняка, будут полезны и вам. Также своим опытом делимся в телеграм-канале zabbix_ru, где вы можете найти полезные материалы и записи наших вебинаров, опубликованных на нашем ютуб-канале (прим. переводчика). Ниже ссылки на предыдущие статьи из цикла.

Миграция с MySQL на PostgreSQL

SELinux: интеграция с Zabbix и другими инструментами

Защита от ложных срабатываний триггеров в Zabbix с использованием функций min/max/avg

Zabbix – автоматизация управления пользователями (JIT)

Двухфакторная аутентификация (2FA) в Zabbix 7.0

Как настроить прием SNMP-трапов в Zabbix

Отчетность в Zabbix 7.0

В этой статье мы покажем, как установить и настроить Zabbix, чтобы он мог использовать потенциал нового элемента «Браузер». Подробности под катом.

Читать далее

Книга: «Staff Product Designer. Путь продуктового дизайнера от Middle к Lead»

3 hours 44 min ago

Привет, Хаброжители!

Поднимитесь на новый экспертный уровень в UX-дизайне!

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

Читать далее

Гуси, очепятки и один непростительный ляп. Рассказываю, что отталкивает ресечеров в ИТ

3 hours 46 min ago

Привет, Хабр! Меня зовут Даша, я ИТ-ресечер в Центре подбора персонала МТС. Каждый день я просматриваю около 30–50 резюме на разные позиции и вижу в них похожие ошибки. Сегодня решила по ним пробежаться и обсудить, действительно ли редфлаги такие «ред», как кажутся на первый взгляд. А еще дам советы для новичков, как оформить резюме, чтобы не отпугнуть ресечера, и расскажу о фатальной ошибке кандидатов.

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

Читать далее

Bento в модульных интерфейсах: почему компании их выбирают и нужны ли вашему продукту

3 hours 48 min ago

Модульность, сетки, аккуратные блоки — всё это стало привычной частью интерфейсов. Многие из них визуально напоминают японские bento-боксы. Но ровные скругленные блоки сами по себе не делают дизайн bento. За визуально похожей компоновкой стоят разные принципы: где-то это удобная сетка, а где-то — осознанная композиция со своими акцентами.

В статье веб-дизайнер студии комплексной разработки цифровых решений CleverPumpkin Александр Попов вместе с лид-дизайнерами команд «Авито», «Альфа-Банк» и «Детский мир» разбирают, чем bento-стиль отличается от других модульных подходов к созданию дизайна; ситуации, где модульность помогает и в каких мешает. Внутри — примеры продуктовых интерфейсов, выводы и практические рекомендации по работе с bento.

Читать далее

Вайбкодинг: как я чуть не снес БД по совету Claude Opus, или Почему ИИ пока еще не замена человеку

3 hours 57 min ago

Вайбкодинг обещает нам будущее, где мы лишь «менеджеры кода», а всю работу делают нейросети. Я всегда скептически относился к этому, и суровая реальность деплоя лишь подтвердила мои опасения. Мой проект лег, процессор забился под 100%, а «самая умная» кодинг-модель Claude Opus 4.5 настойчиво предлагала единственное решение — снести мою БД. Рассказываю, как инженерное чутьё спасло проект от советов ИИ, и почему даже в 2025 году вайбкодинг не заменяет мозги.

Читать далее

[Перевод] Я написал алгоритм вычисления дат, который на 30–40% быстрее остальных

4 hours 2 min ago

В этой статье я представлю мой завершённый очень быстрый алгоритм преобразования дат.. Он обеспечивает существенный прирост скорости, по величине сравнимый с приростом, достигнутым предыдущим самым быстрым алгоритмом (Neri-Schneider 2021) относительно его предшественника (C++ Boost). Полная реализация алгоритма на C++ выпущена как свободное и бесплатное ПО (лицензия BSL-1.0).

Алгоритм генерирует точные результаты за период ±1,89 триллиона лет, поэтому подходит для обработки полного 64-битного времени UNIX (в секундах).

Читать далее

Семантический поиск в Managed OpenSearch

4 hours 3 min ago

В предыдущей статье мы говорили о текстовом поиске, а в сегодняшней я расскажу о векторном (семантическом) поиске.

Итак, если мы используем OpenSearch, в Yandex Cloud представляется логичным использовать модели вложений этого же облака.

Этот код можно запустить как Python Cloud Function. Написан он исходя из того, что в каталоге сервисного аккаунта, под которым запускается функция, доступна модель вложений (embedding). Детали подключения к кластеру описаны в документации.

Рассмотрим один крайний случай: если мы подключаемся, указывая FQDN DATA-узлов, у которых не включен публичный доступ, то функция должна запускаться в сети кластера OpenSearch, иначе они будут недоступны. Альтернативные варианты: подключаться через «Особый FQDN» или узел DASHBOARD с публичным доступом.   

Код создаёт тестовый индекс с текстовым и векторным полем, явно вызывает embedding model через REST API, создавая векторы вложений для документов и запроса, и выполняет векторный поиск, демонстрируя способ интеграции. Обратите внимание на способ выбора разных моделей для документов и запросов.  

Читать далее

Mixture-of-Experts: архитектура, которая спасает LLM от их собственного аппетита

4 hours 4 min ago

Долгое время большие языковые модели строились по принципу «больше — лучше». Топовые компании гнались за количеством параметров, не считаясь с затратами. Но когда счета за обучение GPT-4 превысили $100 миллионов, а инференс начал требовать промышленных масштабов энергии, стало ясно: «грубая сила» больше не работает. Индустрии срочно понадобился способ разорвать связку «умнее = дороже».

И решением стала архитектура Mixture-of-Experts (MoE). Суть метода проста: перестать «думать» всей нейросетью над каждой задачей и научить модель активировать ресурсы выборочно. Такое выборочное использование вычислений позволяет наращивать число параметров, не превращая модель в прожорливого монстра.

Причем эта идея не новая. Google экспериментировал с ней ещё в 2017-м, потом была пара академических проектов, а дальше технология благополучно канула в небытие. Трансформеры вроде GPT захватили рынок, и про MoE все дружно забыли. Но в последние пару лет MoE резко вернулась: Mixtral и Mistral 3, DeepSeek, DBRX, Qwen, Kimi K2 Thinking. И список громких релизов пополняется чуть ли не ежемесячно.

Давайте разбираться, что стоит за этим возвращением и действительно ли МоЕ станет решением всех проблем.

Читать далее

Terraform Registry своими руками: гид от разработчиков Рег.облака

4 hours 9 min ago

Привет, Хабр! На связи Илья Антипов, разработчик Рег.облака в группе Рунити. В этой статье расскажу, как мы поднимали наш Terraform Registry для размещения Terraform-провайдера. Какие ограничения уперлись в официальный HashiCorp Registry, почему выбрали Terralist, как настроили авторизацию через Keycloak и автоматизировали сборку релизов с помощью GoReleaser — об этом подробно поделюсь в статье.

Если вы когда-нибудь пытались собрать свой провайдер или поднять альтернативный registry, этот текст сэкономит вам несколько часов или даже дней. 

Читать далее

Почему игровым консолям вполне хватает 8 ГБ видеопамяти

4 hours 10 min ago

Помните, как все обсуждали спецификации новенькой Steam Machine от Valve несколько недель назад? Многие удивлялись выбору всего 8 ГБ видеопамяти для игровой консоли, которая должна конкурировать с PlayStation и Xbox. Неумолимая и неподкупная логика подсказывает, что в 2025 году должно быть как минимум в полтора-два раза больше. Вот только против этой самой логики прут железные факты, которые если не убеждают нас в обратном, то как минимум объясняют, что Valve знала, что делала. Давайте разберемся в этом вопросе раз и навсегда. Ну, или хотя бы до выхода нового поколения устройства.

Читать далее

Световая передача данных: Li-Fi

4 hours 12 min ago

Картинка: freepik.com

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

Но есть и ещё одна область использования света, которая будет, наверное, не так широко знакома широкой публике, но тем не менее любопытна сама по себе — назовём её условно «оптические линии ближнего радиуса».

Читать далее

Пишем свою in-memory базу на Go, ускоряем поиск отелей в десятки раз

4 hours 13 min ago

Если вы когда-либо строили высоконагруженные системы поиска, то знаете, что в какой-то момент узким местом становится не код, а сама архитектура. Поиск доступных отелей — как раз тот случай: миллиарды «ночей», десятки тысяч RPS, постоянные обновления календарей, строгая консистентность и высокая цена любой ошибки. Старый стек на Python + Postgres + Redis долго тянул, но однажды стал «тормозить» настолько, что оптимизировать дальше было невозможно — SQL-запросы разрастались, реплики множились, latency прыгала до 60 секунд, а кэширование превращалось в источник инцидентов.

Так мы пришли к идее построить собственную in-memory базу данных на Go — заточенную под наш домен. Быструю, безопасную и синхронизированную с Postgres. 

Под катом — история того, как мы её спроектировали, какие архитектурные решения приняли, как победили холодный старт, справились с миллиардами значений. И почему в итоге смогли полностью отказаться от кэша доступности, переведя поиск в real‑time.

Читать далее

Пишем свою in-memory базу на Go, ускоряем поиск отелей в десятки раз

4 hours 13 min ago

Если вы когда-либо строили высоконагруженные системы поиска, то знаете, что в какой-то момент узким местом становится не код, а сама архитектура. Поиск доступных отелей — как раз тот случай: миллиарды «ночей», десятки тысяч RPS, постоянные обновления календарей, строгая консистентность и высокая цена любой ошибки. Старый стек на Python + Postgres + Redis долго тянул, но однажды стал «тормозить» настолько, что оптимизировать дальше было невозможно — SQL-запросы разрастались, реплики множились, latency прыгала до 60 секунд, а кэширование превращалось в источник инцидентов.

Так мы пришли к идее построить собственную in-memory базу данных на Go — заточенную под наш домен. Быструю, безопасную и синхронизированную с Postgres. 

Под катом — история того, как мы её спроектировали, какие архитектурные решения приняли, как победили холодный старт, справились с миллиардами значений. И почему в итоге смогли полностью отказаться от кэша доступности, переведя поиск в real‑time.

Читать далее

Who's online

There are currently 0 users and 5 guests online.