Все потоки
Поиск
Написать публикацию
Обновить
451.48

Python *

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

Сначала показывать
Порог рейтинга
Уровень сложности

Обучающий проект на одноплатнике — изучение embedded-программирования. Проект первый — простая метеостанция

Уровень сложностиСредний
Время на прочтение26 мин
Количество просмотров5.6K

Если Вы хотите начать свой Путь в изучении Мира автоматики и телеметрии, начать практиковать Embedded-разработку, т.е. разрабатывать встраиваемые программно-аппаратные решения и собственные системы управления и сбора данных или же если Вы в этом дока и хотите найти готовое решение и материал для занятия со своими детьми, то эта статья для Вас. А ещё если Вы искали прикольные практические проекты с которыми хотели бы начать работать с одноплатными компьютерами даже просто как повод для изучения Linux, то этот материал так же Вам подходит.

Связка одноплатного компьютера с различными устройствами в виде датчиков и исполнительных механизмов является отличным образовательным инструментом, позволяющим изучать работу с датчиками, интерфейсами и осваивать программирование. А работа с одноплатными компьютерами открывает огромный интересный Мир embedded-программирования и вообще разработки, в т.ч. работы с Linux, создания собственных проектов автоматизации и систем сбора данных и погружения в IT отрасль.

Читать далее

Топологический аудит ECDSA: Практическая реализация с минимальными входными данными

Уровень сложностиСредний
Время на прочтение15 мин
Количество просмотров1.1K

Топологический аудит ECDSA: как найти уязвимости с одной подписью

Традиционный анализ безопасности ECDSA требует сотен подписей для выявления уязвимостей. Но что делать, когда у вас есть только одна подпись из блокчейна?

Мы разработали AuditCore — систему топологического аудита, которая анализирует безопасность ECDSA, используя лишь публичный ключ и одну реальную подпись. Система автоматически генерирует необходимое количество валидных подписей и проводит глубокий анализ пространства (u_r, u_z) как топологического тора.

Ключевые возможности:

Определение уязвимостей по топологическим инвариантам (числам Бетти)

Расчет TVI Score — количественной метрики уязвимости

Автоматическое обнаружение паттернов: фиксированный k, линейные зависимости, кластеры

Генерация необходимого количества данных для статистически значимого анализа

Система состоит из нескольких специализированных модулей:

TopologicalAnalyzer для вычисления персистентных гомологий

BettiAnalyzer для интерпретации топологических показателей

CollisionEngine для поиска коллизий

SignatureGenerator для создания валидных подписей

TCON для оценки соответствия топологии тора

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

Полная реализация доступна на GitHub: https://github.com/miroaleksej/AuditCore/tree/main/Scripts

Читать далее

Библиотека OutboxML от Страхового Дома ВСК

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров963

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

Меня зовут Семён Семёнов, я руковожу Data Science и Machine Learning в Страховом Доме ВСК. В этой статье расскажу, как мы создали систему автоматического обучения и развёртывания моделей машинного обучения с открытым исходным кодом.

Первый вопрос, который может задать себе читатель, знакомый с темой современного машинного обучения:
«Почему бы не взять одну из десятков (если не сотен) открытых AutoML-библиотек?»

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

Читать далее

Тихий герой воскресного утра: как bash-скрипт спас нас от OOM Killer

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров11K

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

Читать далее

Делаем аутентификацию без push и SMS: звонок с диктовкой кода роботом

Время на прочтение7 мин
Количество просмотров3.2K

Привет, Хабр! Я Катя Саяпина, менеджер продукта МТС Exolve. Сегодня расскажу, как сделать двухфакторную аутентификацию через звонок с применением технологии text-to-speech. Работает просто — пользователь получает код, продиктованный роботом во время голосового вызова. ​​Этот альтернативный SMS и push-уведомлениям способ доставки кода, при этом относительно простой в реализации, дешевле SMS и работает без интернета.

Я покажу, как это работает, на конкретном кейсе.

Читать далее

Состояние Python в 2025 году

Уровень сложностиПростой
Время на прочтение11 мин
Количество просмотров15K

Команда Python for Devs подготовила перевод статьи, основанной на 30 000 ответов разработчиков. TL;DR: 50% разработчиков пишут на Python меньше двух лет, Rust тихо становится «вторым пилотом», FastAPI вырывается вперёд, а агентный AI уже меняет то, как мы пишем код.

Читать далее

Определение положения объектов на изображении: как найти пространственные координаты объекта, используя OpenCV

Время на прочтение26 мин
Количество просмотров7.6K

Как найти 3D координаты объектов на изображении?

Статья о задаче пространственной локализации объектов на изображении с одной камеры и о её решении с помощью OpenCV

Читать далее

Релиз ChameleonLab под Windows и macOS: История о невидимых данных, «зомби»-потоках и секретной игре

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров836

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

И, конечно же, мы наконец-то готовы представить версии как для macOS, так и для Windows.

Читать далее

Оптимизация Django под высокие нагрузки: как мы ускорили ответы сервиса с помощью кэша, SIMD и настройки GC

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров3.6K

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

Читать далее

Ушел в IT за меньшей зарплатой

Уровень сложностиПростой
Время на прочтение16 мин
Количество просмотров18K

Привет, Хабр! Мне 29, и у меня нет образования, кроме школы. Расскажу, как я ушел из найма финансовым аналитиком в логистической компании и стал фрилансером-разработчиком в России. Это история про поиск свободы, ошибки, возвращения и окончательный выбор пути.

Читать далее

Полезные конструкции Python, которые упростят работу с данными

Уровень сложностиПростой
Время на прочтение25 мин
Количество просмотров16K

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

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

Читать далее

Гибридный квантовый эмулятор с топологическим сжатием: вдохновленный фотонными вычислениями

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров1.1K

Архитектура эмулятора

Наш эмулятор строится по принципу фотонного вычислителя, описанного vsradkevich: "лазер → модулятор → решетка интерферометров → фотодетекторы → АЦП → CMOS-блок".

Читать далее

Топологическая безопасность ECDSA: Динамические методы анализа и теоретические основы

Уровень сложностиСложный
Время на прочтение11 мин
Количество просмотров844

Топологическая безопасность ECDSA: Раскрываем скрытые уязвимости через законы диагональной периодичности

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

Вы узнаете:

Как закон диагональной периодичности T = n / \text{НОД}(d-1, n) помогает обнаруживать subtle уязвимости

Почему числа Бетти (\beta_0 = 1, \beta_1 = 2, \beta_2 = 1) являются ключевыми индикаторами безопасности

Как метод динамических улиток снижает сложность анализа с O(m⁴) до O(m log m)

Как TVI Score заменяет субъективные оценки количественной метрикой риска.

Читать далее

Ближайшие события

Магия деплоя: автоматическое развертывание Coreness одной командой

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров325

В этой статье рассматривается решение проблемы деплоя Telegram-бота Coreness, с подробный описанием проблем и решений. Вместо ручного копирования файлов, настройки зависимостей и миграций БД была создана система, которая делает всё автоматически.

Читать далее

Обзор книги «Паттерны разработки на Python TDD, DDD и событийно-ориентированная архитектура»

Время на прочтение5 мин
Количество просмотров4.9K

Недавно я прочёл книгу «Паттерны разработки на Python TDD, DDD и событийно-ориентированная архитектура». Основной акцент в ней сделан на том, как именно нужно структурировать программы, чтобы они по мере роста оставались простыми и удобными в поддержке. Это моя любимая тема из области программирования, поэтому, конечно же, книга мне понравилась. Пожалуй, я не возьмусь использовать именно те приёмы, которые авторы рекомендуют в книге — но они обсуждают классные идеи, напомнившие мне о задачах, встречавшихся в моей практике на предыдущих работах. Кроме того, отмечу, что английская версия книги есть в свободном доступе онлайн, так какие вообще вопросы?

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

Читать далее

Скрытая грамматика: почему len() — это полисемия, а хороший код — набор идиом. Как филология объясняет «чистый код»

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров5.3K

Оживленная дискуссия под моей первой статьей (https://habr.com/ru/articles/940782/) показала: разговор о единстве языка со сферой программирования задевает многих за живое. Тем не менее, cпасибо всем за сотню комментариев, сохранений и невероятно полезного и ценного опыта!

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

Вместе с тем один из наиболее сильных и частых аргументов от скептиков звучал примерно так: «весь код — это чистая, бездушная логика для машины». На мой взгляд, это самое большое заблуждение в этой индустрии. Знали ли вы, что оператор + в вашем коде семантически богаче, чем многие слова в русском языке? Или что конструкция if not my_list — это не просто синтаксис, а настоящая идиома, которая отделяет «носителя языка» от «иностранца»? Задача настоящей работы — исследовать, как в строго детерминированной среде кода возникают сложнейшие семантико-прагматические явления, свойственные живому языку. 

Давайте забудем про имена и заглянем в самое сердце кода — в его грамматику и риторику. Пристегните ремни безопасности :-)

Читать далее

PEP 723 + uv: однофайловые скрипты с зависимостями

Время на прочтение6 мин
Количество просмотров2.3K

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

Если вы собираете прототип на C++, то один файл с main.cpp иногда реально компилируется в рабочую утилиту. Библиотеки либо завозятся пакетным менеджером заранее, либо у вас есть header-only зависимость и всё взлетает. В Python долгое время это было болью: любой однофайловый скрипт, который требует requests или rich, уже тянет за собой виртуальные окружения, инструкции в README и локальные фичи.

Есть рабочий стандарт для нормальных однофайловых сценариев с зависимостями — PEP 723: вы объявляете зависимости прямо в комментариях, а раннер ставит всё сам и запускает в изолированной среде. В связке с uv получается неплохой такой способ делиться скриптами, в том числе для пвспомогательных задач. И да, у этой красоты есть нюансы безопасности, о них поговорим отдельно.

Читать далее

Генерация тестовых данных на Python: руководство по библиотеке Faker

Уровень сложностиПростой
Время на прочтение11 мин
Количество просмотров3.8K

Привет, Хабр! Думаю, многие сталкивались с необходимостью генерации тысячи пользователей. Вручную - не вариант, слишком долго. В данной статье разберу библиотеку Faker. Это генератор реалистичных тестовых данных, который превращает заполнение базы и создание демо-контента из рутины в дело пары строк кода. В статье продемонстрирую, как генерировать тысячи правдоподобных записей на русском, заполнять БД и создавать собственные типы данных для ваших проектов.

Читать далее

Книга: «Мощный Python: паттерны и стратегии современного программирования»

Время на прочтение2 мин
Количество просмотров9.4K

Привет, Хаброжители! Как стать экспертом в создании сложных и мощных приложений на Python, не тратя времени на повторение уже известных основ или перечисление ненужных функций? Аарон Максвелл фокусируется на первопринципах Python, которые действуют подобно катализаторам для всего остального: достаточно получить 5 % знаний в области программирования, чтобы остальные 95 % подтянулись автоматически.

Читать далее

Обучаем GigaAM-Emo распознавать ещё больше эмоций

Уровень сложностиСредний
Время на прочтение35 мин
Количество просмотров441

Модель распознавания эмоций в речи GigaAM-Emo умеет классифицировать 4 эмоции: angrysadneutralpositive. Для некоторых задач бывает не достаточно классифицировать эмоции на 4 класса и хочется иметь более полный список эмоций. В статье рассмотрим: существующие корпуса данных для распознавания эмоций, ключевые возможности разработанного пайплайна для дообучения GigaAM с использованием библиотек hydra и Pytorch Lightning, результаты экспериментов с различными архитектурами и функциями потерь. Демо можно попробовать тут

Читать далее

Вклад авторов