Ритуал создания API в традициях древних ацтеков (часть II)

Процесс масштабирования бэкенд приложения на основе flask_restx и OpenApi. Реализация авторизации в приложении и обеспечение базового уровня безопасности.

Высокоуровневый язык программирования

Процесс масштабирования бэкенд приложения на основе flask_restx и OpenApi. Реализация авторизации в приложении и обеспечение базового уровня безопасности.

Q65 — цифровой протокол, разработанный Джо Тейлором (K1JT) и его командой в 2021 году для проведения минимальных связей в условиях сложных трасс прохождения радиосигнала.
В предыдущих частях цикла были рассмотрены структура протокола, алгоритмы формирования сигнала, механизмы компенсации эффекта Доплера, синхронизация и детектирование сигнала в условиях быстрых затуханий сигналов. В этой части статьи рассматривается механизм декодирования данных Q-ary Repeat Accumulation кодов протокола Q65.
Статья может быть интересна радиолюбителям, людям, интересующимся темой цифровой обработки сигналов и кодами коррекции ошибок.

Привет! Хочу представить вам свою библиотеку – unihttp.
Уверен, что все сталкивались с необходимостью работы с какими-либо API, но что делать, если у этого сервиса (внешнего или внутреннего) отсутствует библиотека, позволяющая лаконично вызывать нужные методы?

ChatGPT и другие LLM "забывают" начало диалога при серьезном ресерче. Обычная проблема. Новые факты вытесняют старые из-за ограниченного контекстного окна, и отчет получается поверхностным. Недавнее исследование предлагает простое решение — дать ИИ-агенту "блокнот". Разбираемся как такой подход обходит ограничения контекста.

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

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

Вот что для этого понадобилось: бэкендеры — 2 штуки, фронтендер — 1 штука, дизайнер — 1 штука, мобильный разработчик — 1 штука, время — 2 учебных семестра.
Продолжаем рассказывать об интересных проектах студентов Контура. В этот раз речь пойдёт о приложении для интерактивного мониторинга белых акул по заказу Стэнфордского университета. 🦈 В статье ребята рассказали, какие возможности реализовали внутри приложения, какой стек технологий выбрали и что за сложности случились на фронтенде и бэкенде.

В статье представлен подробный разбор разработки высокопроизводительного 3D-движка для оптимизации загрузки транспортных средств. Мы прошли путь от простого полочного алгоритма с КПД 58% до комплексной системы, обеспечивающей плотность упаковки до 90%. Автор делится уникальным опытом решения критических проблем: от устранения коллизий и соблюдения границ трюма до внедрения динамической балансировки веса и строгой очередности выгрузки по городам (LIFO). Особое внимание уделено оптимизации алгоритма Subset Sum, позволившего достичь скорости обработки в 14 000 объектов в секунду, и верификации логики через систему из 12 Unit-тестов. Внутри — чистый код на Python, математические выкладки и эффектная визуализация процесса упаковки

Когда запускаешь pytest --cov код выполняется как обычно, но в конце появляется отчёт о покрытии. Как pytest узнаёт, какие строки выполнились? Ответ в sys.settrace, это низкоуровневый хук, который позволяет перехватывать каждый шаг интерпретатора.
На этом механизме построены coverage.py, pdb, PyCharm debugger, hunters, и десятки других инструментов. Разберём, как это работает изнутри и почему трассировка устроена именно так.

Задача оценивания состояния динамической системы по неполным и зашумленным измерениям считается фундаментальной проблемой в теории управления, навигации, робототехнике и обработке сигналов. Рекурсивный фильтр Калмана обеспечил возможность аналитического решения для линейных систем с аддитивными гауссовскими шумами. Однако практические системы редко удовлетворяют ограничениям линейности и гауссовости. И если для учета нелинейности в инженерном сообществе в целом существует консенсус в пользу нелинейных фильтров, то с негауссовскими шумами все сложнее.
Так, Википедия прямо отмечает: «Бытyет ошибочное мнение, что для правильной работы фильтра Калмана якобы требуется гауссовское распределение входных данных».
Аналогичная позиция отражена и в академической статье arXiv:2405.00058, 2024, где авторы называют требование строгой гауссовости одним из наиболее распространенных заблуждений и в качестве примера ссылаются на двенадцать «заблудившихся» публикаций.
На наш взгляд, даже если эти тезисы об ошибочных мнениях и заблуждениях формально корректны, в инженерной практике полезнее ответить на три прикладных вопроса:
1. Снижается ли производительность линейного фильтра Калмана при различных типах негауссовских шумов.
2. Как и чем измерить это снижение (если оно происходит).
3. Чем можно заменить линейный фильтр Калмана в этих условиях и какова цена такой замены.
В настоящей статье с помощью численного моделирования и специализированных метрик NEES и NIS делается попытка дать ответы на эти три вопроса.

Что делает ваше FastAPI-приложение, когда клиент неожиданно закрывает соединение? По умолчанию — ничего. Если сервису важно экономить ресурсы (например, при работе с LLM), дисконнекты приходится обрабатывать явно, иначе GPU продолжит генерировать токены в пустоту.
В FastAPI есть встроенные механизмы отмены обработки запроса при дисконнекте клиента. Однако просто включить их недостаточно: нужно подготовить ваш код к этому. Иначе возможны проблемы: зависшие транзакции и сломанный пул соединений с БД.

Персональный Telegram-аудиогид, который по запросу строит рассказ о картине и озвучивает его. В статье я покажу, как устроен этот путь от запроса до готового аудио.

Считаете, что спрятать файл внутри песни, не испортив звук, невозможно? Мы тоже так думали, пока не разобрали спецификацию ID3v2 до винтика.
Оказывается, внутри каждого MP3-файла есть «слепая зона», куда можно положить ключи шифрования, документы или исходный код, и при этом:
MD5 аудиопотока не изменится.
Спектрограмма будет идеально чистой.
Файл проиграется в любом плеере.
Мы написали ChameleonLab: MP3 Stego на Python, чтобы доказать это. Внутри — полный разбор архитектуры, код и сценарии использования для защиты авторских прав.

Как обойти 10 000 точек без лишних «холостых» прыжков и геометрической путаницы? Традиционные жадные алгоритмы пасуют перед плотными структурами, заставляя инструменты ЧПУ и роботов метаться по всей рабочей зоне. В этой статье я представляю «Алгоритм Динамического Шампура» (Shampur‑Scraper Method) — иерархический подход к задаче коммивояжера, сочетающий инерционное планирование магистралей и динамическую зачистку зон ответственности. Разберем логику «Скребка», эффект «напряжения тупиков» и посмотрим, как этот метод играючи справляется с самопересекающимися трилистниками и плотными спиралями за доли секунды.

Задача Text‑to‑Speech (TTS) она же задача синтеза речи — заключается в том, чтобы озвучить заранее подготовленный текст голосом спикера. Данная задача является одной из важных в системах взаимодействия человека и компьютера. Конечно, такая задача генерации речи встречается гораздо реже, чем, например, задача генерации или обработки текста, тем не менее, сферы ее применения со временем только увеличиваются в своих масштабах и становится все более востребованной.
Привет, Хабр, меня зовут Музафаров Данил, я работаю DS инженером в компании Raft и сегодня мы рассмотрим существующие Open Source модели и репозитории, которые решают задачи TTS для русского языка.

Пришло время поговорить о главной функции сборщика мусора в CPython. В предыдущих частях (1, 2, 3) мы говорили о поколениях, инкрементальной и полной сборке мусора — но все они в итоге вызывают главную функцию, которая и реализует основной алгоритм циклического сборщика мусора — находит и разрывает циклы у объектов, которые уже вышли из использования.
В первой статье на тему устройства сборщика мусора я написал, что история началась, когда я попробовал исправить ошибку в CPython. И вот, в четвёртой статье, я наконец‑то добрался до функции, в которой была ошибка.
Если вам интересно, давайте посмотрим, как работает «сердце» сборщика мусора.
Как быстро пролетели шесть месяцев! Продолжаю рассказывать о том, как решил сделать пет-проект: НормЦРМ. Сам я ремесленник-одиночка и пользовался ограниченным набором инструментов для ведения дел: Google Таблицы, да Windows-заметки. Решил все эти данные свести воедино в рамках собственной црмки.
Я не разработчик, а проектировщик интерфейсов (UX/UI-дизайнер). Опыта в программировании совсем немного. Поэтому пет-проект был мне особенно интересен. Я уже двадцать лет готовлю проектную документацию для других — а в этот раз для себя.
Сейчас расскажу, что сделал по проекту за последние полгода, как мне в этом помогли ChatGPT и Codex, как изменился процесс работы и почему это поначалу было скучно и грустно — а теперь с каждым днём жизни проекта всё интереснее и веселее.

Как за один вечер собрать собственную систему транскрибации, если вам надоело платить за подписки и сливать записи конфиденциальных встреч в «облачные мозги»?
В этой статье разбираем Q-scribe — прагматичный open-source конвейер для маленькой команды. В основе: OpenAI Whisper для распознавания речи, Streamlit для быстрого интерфейса и Tailscale для безопасного удаленного доступа к вашей видеокарте RTX 4080 без «выхода» в открытый интернет.
Минимум кода, максимум контроля и нулевые затраты на облака. Идеально для тех, кому нужно быстро превращать видео встреч в текст, сохраняя данные на своем железе.

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

Я долго работал в коммерческом проекте в роли backend-разработчика с всемирно известным фреймворком Django, а также с его альтер эго - Django Rest Framework. Всегда кажется, что работать с чем-то многозвёздочном на GitHub - это кататься сыром в масле. На входе имеем: отличную документацию, отзывчивое сообщество, множество решений одной и той же проблемы, так как все уже (пред)решено...