Habr.com

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

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'а

Делаем автоматизацию для Spotify, которая создаёт плейлисты из избранного

Thu, 06/11/2026 - 13:05

Когда-то музыку слушали на пластинках, затем на кассетах, CD-дисках, потом пришёл Winamp и mp3-плееры.

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

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

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

Так и я недавно сорвался, засел на выходных с Codex и начал пилить свой собственный Spotify-улучшайзер.

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

Читать далее

Как исследовательский центр перевел 100+ проектов из Excel в систему управления задачами

Thu, 06/11/2026 - 13:04

Привет, Хабр! Меня зовут Мария Абросимова, я автор Projecto.

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

В этой статье я расскажу, как научно-исследовательский центр «Дом Фармации» переехал из Excel в систему управления проектами. Их история показалась мне интересной для кейса по одной простой причине: большинство проблем, с которыми они столкнулись, знакомы любой компании, где одновременно идет много проектов. Только у них вместо маркетинговых кампаний или разработки продукта — научные исследования и разные сложнопроизносимые процессы типа «патоморфология» или «фармакокинетика».

Читать далее

Эволюция технологий проксирования: анализ архитектуры, маршрутизации и оценки безопасности

Thu, 06/11/2026 - 13:03

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

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

Читать далее

П維чему нейро考ети дел思ют так

Thu, 06/11/2026 - 13:00

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

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

Читать далее

Бестиарий Хабра: Кто обитает в ваших комментах (полная версия с дополнениями от сообщества)

Thu, 06/11/2026 - 12:51

Статья написана, вычитана, проверена, картинки добавлены, кнопка «Опубликовать» нажата. И тут приходят они.... Кто эти люди, которые пишут комментарии? Ниже полный список «фантастических существ», обитающих под любой хабровской статьёй: от программирования до менеджмента и даже в хабе «Здоровье». Статья дополнена новыми видами, которые читатели предложили в комментариях. +БОНУС!

Читать далее

Who's online

There are currently 0 users and 1 guest online.