Habr.com

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

Как микс Я.Директа, VK-рекламы и контент-маркетинга в 3 раза увеличил крупные заказы для завода строительной химии

Thu, 06/11/2026 - 14:43

Привет, Хабр! Это Сергей Перевозчиков, основатель агентства контекстной рекламы «КонтекстЛаб». Ко мне обратился крупный производитель строительной химии — компания, которая выпускает гидроизоляционные материалы, добавки для бетона, клеевые составы и защитные покрытия. У бизнеса серьезная производственная база, собственные научные центры и лаборатории, где разрабатываются новые продукты.

Далее расскажу, какие решения дали наибольший результат.

Читать далее

Как реставрировать и колоризировать фото с помощью Нейросетей — Сравниваем ТОП-5 ИИ для старых снимков

Thu, 06/11/2026 - 14:38

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

Читать далее

Исследуем IT-бренды работодателей в 2026 с Хабром и Экопси

Thu, 06/11/2026 - 14:30

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

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

Пройти опрос

Внедрение SQLMesh в команду аналитики

Thu, 06/11/2026 - 14:23

Каждая команда аналитики рано или поздно сталкивается с одной и той же проблемой: SQL-скрипты начинают жить своей жизнью, lineage оказывается неполным, ручные расчеты теряются в ноутбуках и Python-файлах, а любое изменение в базе данных превращается в потенциальную аварию. Мы долго искали инструмент, который позволил бы хранить данные как код, автоматически управлять зависимостями и при этом не требовал построения очередного сложного зоопарка из Airflow, dbt и десятка вспомогательных сервисов.

В этой статье я расскажу о нашем опыте внедрения SQLMesh поверх ClickHouse: как мы получили воспроизводимые расчеты, изолированные окружения для разработки, автоматический backfill, lineage для ручных отчетов через seeds и почему в некоторых сценариях SQLMesh оказался удобнее привычного dbt. Разберем реальные примеры моделей, окружений и практические кейсы, с которыми столкнулись в работе.

Читать далее

Обращение к разработчикам Telegram: уязвимость тихой смены мобильного номера при краже аккаунта

Thu, 06/11/2026 - 14:21

До недавнего времени у меня была ложная уверенность, что покуда аккаунт Telegram привязан к реальному мобильному номеру и при этом у пользователя есть доверенное устройство, то удалённо украсть аккаунт, как минимум, чрезвычайно сложно, если вообще возможно. Максимум, кто-то может открыть ещё одну пользовательскую сессию и получить доступ к перепискам.

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

Сразу замечу, что эту лазейку довольно легко исправить, но почему-то она до сих пор присутствует... Причём, судя по всему, служба поддержки не справляется с обращениями пользователей (даже с платной подпиской!), поэтому шанс вернуть аккаунт стремится к нулю.

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

Читать далее

FastAPI и S3 — строим сервис безопасной генерации временных ссылок

Thu, 06/11/2026 - 14:13

В современных веб-приложениях хранение файлов часто отдают специализированным объектным хранилищам, таким как S3. Это удобно, масштабируемо и надежно. Однако здесь возникает классическая проблема проектирования: как обеспечить безопасный доступ к файлам, когда архитектура требует, чтобы хранилище было приватным, а бизнес-логика прав доступа — централизованной? Оставлять S3-бакет публичным — плохая практика, а проксировать каждый запрос на скачивание через бэкенд-сервис — значит, превратить его в «бутылочное горлышко», которое неизбежно захлебнется при росте трафика.

В этой статье я познакомлю вас с реализацией бэкенд-сервиса, который решает эту проблему элегантно: S3 отвечает за хранение и отправку данных, а мое приложение — за проверку прав и генерацию одноразовых, короткоживущих ключей доступа (Pre-signed URL). Я разберу архитектуру решения, покажу, как настроить безопасное разграничение доступа между публичными и приватными объектами, а также продемонстрирую механизм, который позволяет клиентам скачивать файлы напрямую из хранилища, минуя сервер приложения.

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

Читать далее

Удалёнка убивает тело медленно и без предупреждений: два года DevOps-подхода к себе

Thu, 06/11/2026 - 14:01

Статья про то, как удалёнка незаметно меняет тело. Перед длинными выходными особенно актуально :)

Фотоэластичность — как «загнуть» свет или нечто другое?

Thu, 06/11/2026 - 14:01

Картинка: Д.Ильин, Pajs

Можно ли наблюдать потенциально проблемные места технических конструкций почти невооружённым глазом? Причём буквально на микроуровне, когда ещё ничего не произошло?

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

Причём изначально даже сам объект не демонстрировал каких-то особых свойств к этому. Однако специфическим техническим подходом это вполне можно изменить…

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

Читать далее

Что находит DBF в первый месяц: 10 типовых аномалий в СУБД

Thu, 06/11/2026 - 14:01

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

Меня зовут Алексей Шмелёв, я руковожу группой аналитики и безопасности данных в «Гарде». Мы занимаемся настройкой «решающих правил» в таких продуктах «Гарды», как DBF и DLP.

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

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

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

Какие аномалии живут в СУБД

Игры с Horizontal Pod Autoscaling

Thu, 06/11/2026 - 14:00

Немного практики для "пощупать" HPA в кластере, поиграться параметрами масштабирования. Можно было бы быстро перейти от теории к практике, ну или наоборот. В примерах используется масштабирование на основе очереди RabbitMQ. Можно использовать minicube, MicroK8s, или где вам удобно... Для удобства развёртывания примеры k8s-hpa-rabbitmq-demo.

Масштабировать

Шифрование на основе SHA-256 (часть 2)

Thu, 06/11/2026 - 14:00

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

Читать далее

HFT + LLM: почему «просто добавить ИИ» не работает и как строить системы без потери микросекунд

Thu, 06/11/2026 - 14:00

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

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

Читать далее

Архитектура Android-приложений. Как повысить качество архитектуры, не говоря об архитектуре

Thu, 06/11/2026 - 13:55

Салют, Хабр!

Я Марк, Android-разработчик, работаю над мобильным приложением для управления умным домом Салют. Для мира Android-разработки вопросы архитектуры, её надёжности и качества актуальны, но… на самом деле не так уж интересны. Интересно, чтобы приложения были надёжными, устойчивыми к ошибкам, поддерживаемыми и легко масштабируемыми. Самый популярный подход — по-прежнему архитектурные паттерны (MV* паттерны) и разделение архитектуры по слоям. Что никак не избавляет от ошибок.

При этом существует множество подходов, которые делают архитектуру надёжнее, а в перспективе исключают целый класс ошибок, как введение в Котлине Null Safety избавило от класса ошибок NPE. Это проектирование на основе состояний (state-oriented programming), логика Хоара, программирование по контракту Бертрана Мейера. Возможно, и более серьёзные — например, формальные методы верификации. Отмечу, что в целом это общие принципы computer science, независимые от платформы. Но мой фокус — Android-разработка клиент-серверных приложений.

Сейчас хотел бы поговорить, как создание своей системы типов в проекте исключает популярный класс логических ошибок — semantic type error. Поехали!

Читать далее

Schema-driven ORM для TypeScript: @cleverbrush/knex-schema и @cleverbrush/orm

Thu, 06/11/2026 - 13:53

Статья о том, как превратить TypeScript-схему в единый источник истины для работы с базой данных: из одного определения получить типы строк, имена таблиц и колонок, типизированные запросы, связи, миграции и unit-of-work поверх Knex.

Читать далее

Хватит мучить ChatGPT. Почему ваш промпт не сработает

Thu, 06/11/2026 - 13:50

Привет, на связи Настя из Cloud.ru. В прошлый раз поговорили о простых материях: контексте, расширенном промпте и ролях. А в этой части обсудим, что делать, если хорошего промпта уже недостаточно: RAG, файнтюнинг, работу с ИИ-агентами. Ну и ограничения, в которые ИИ упрется, даже если вы все сделали правильно.

Читать далее

Как генерировать карточки товара для маркетплейсов в нейросетях. Реальный способ повысить конверсию на a/b тестах

Thu, 06/11/2026 - 13:48

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

Читать далее

Контрольные суммы ИНН, ОГРН и СНИЛС: разбираем алгоритмы и пишем валидатор на Python

Thu, 06/11/2026 - 13:46

У нас есть форма, куда пользователь вводит ИНН контрагента, а мы по нему идём за данными в ЕГРЮЛ. Если заглянуть в логи этой формы, видно сколько туда прилетает мусора. ИНН из одиннадцати цифр (кто‑то добавил лишнюю), номера со срезанными ведущими нулями, ОГРН в поле для ИНН, и классика жанра — две соседние цифры переставлены местами. Каждый такой ввод это поход в чужой API, таймаут, ожидание, и в конце честное «ничего не найдено». А пользователь в этот момент уверен, что сломались мы.

Разобраться, кто сломался

30 минут против месяца. Цена идеальных процессов в разработке

Thu, 06/11/2026 - 13:39

Всем привет, меня зовут Михаил, я работаю главным экспертом в ОТП Банке.

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

В какой-то момент я сказал себе: «Стоп. Хватит. Пора уходить в компанию, где всё организовано правильно». Мне казалось, что там не будет хаоса, бессмысленных авралов и вечной гонки за дедлайнами.

Ну что могу сказать - я попал.

Только вот ожидания и реальность оказались совершенно разными.

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

Читать далее

DAO vs Repository и ORM: где заканчивается архитектура и начинается хаос

Thu, 06/11/2026 - 13:30

Всем привет! Я Дмитрий Милов, Python-разработчик компании МУЛЬТИФАКТОР в команде продукта MULTIDIRECTORY, мы разрабатываем собственную службу каталогов.

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

Почему продолжается путаница в концепциях, которые давно описаны и формализованы?

Читать далее

Вам не нужен BloodHound

Thu, 06/11/2026 - 13:15

Изначально цели у меня свергнуть с пьедестала популярные сетевые инструменты типа BloodHound и иже с ними не было. Нет ее и сейчас. У них было, есть и будет заслуженное место в арсенале redteam и blueteam‑команд. Все нижеописанное можно воспринимать с легкой иронией, как необычный побочный эффект моих изысканий.

Вопрос у меня был простой — какие компоненты подсистемы COM лежат в основе AD? Если вкратце, то Windows управляет AD через ADSI — Active Directory Service Interfaces. Это довольно замороченная COM‑абстракция над LDAP, которую использует сама Windows, когда компоненты, подключенные к домену, запрашивают каталог. Её используют процессы групповой политики, оснастки MMC и так далее

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

Поймать BloodHound'а

Who's online

There are currently 1 user and 7 guests online.