Обновить
512K+

Python *

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

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

Как оптимизировать производительность API при высокой нагрузке

Уровень сложностиСредний
Время на прочтение14 мин
Охват и читатели7.5K

В статье мы рассмотрим основные подходы и практики для оптимизации производительности API, применяемые в МТС Exolve, поймем, как избежать подобных последствий и обеспечить стабильную работу сервисов.

Читать далее

Мне 35, я был в 67 странах, и у меня есть для вас лайфхак (часть 2)

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели94K

Два месяца назад я написал Телеграм-бот, который помогает мне выхватывать дешёвые авиабилеты (и нет, это не рекламная интеграция). Я прикрутил Python-интеграцию к Telegram по протоколу для клиентов, чтобы читать сообщения из любых публичных групп, к backend-части на Spring — она позволяет через бота подписываться на эти группы и настраивать, какие сообщения выхватывать для вас.

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

Я реанимировал бот, добавил несколько киллер-фичей и готов поделиться с вами всеми наработками. В статье найдёте код, ссылки на бот и примеры, как другие пользователи ищут через бот скидки на айфоны и много чего ещё.

Читать далее

Как увеличить скорость python-скриптов: C-расширения и Python/C API

Время на прочтение19 мин
Охват и читатели12K

Во время разработки ПО мы сталкиваемся с выбором между удобством языка и его производительностью. Python завоевал популярность благодаря простоте и изящности, но когда дело доходит до низкоуровневых действий или махинаций, требующие производительность и быстроту, на помощь приходит C.

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

В этой статье я хочу рассказать о том, как интегрировать C-расширения с использованием библиотеки Python.h. Я также расскажу как создать свою python-библиотеку с C-расширениями. Также мы исследуем, как устроен Python — например, вспомним, что все является объектами. Я буду использовать poetry как менеджер рабочего окружения.

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

Не буду тянуть, начнем!

Читать далее

Python 2D графика. Визуализация данных в реальном времени. Matplotlib, PyQTGraph, pyOpenGL, VisPy, Bokeh и др. FPS 200?

Уровень сложностиСложный
Время на прочтение4 мин
Охват и читатели18K

Тестирование на скорость рисования 2D графиков и измерение fps популярных графических пакетов (Mayavi 3D, PyVista, Matplotlib, PyQTGraph, Plotly, PyGame, Arcade, pyOpenGL, VisPy, Bokeh) Возможно ли на слабом железе получить FPS=50? А FPS=1000? Да, но есть нюансы: VSync=Off

Для 8 графических пакетов в статье приведены 8 максимально коротких и простых специфичных для каждого пакета кода на python, отображающий на экране с максимально возможным FPS для данного пакета график sin()+noise.

Читать далее

Пойдём в нейросети вместе со мной

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

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

Но как насчёт нейросети на jave реализованной без использования матриц? Просто нейроны. Просто связанные между собой.

И что если я скажу тебе, что скорость работы этих двух подходов примерно сравнима между собой?

Читать далее

Пишем симуляцию по мотивам игры Life

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели2.6K

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

Читать далее

Стохастическая волатильность: как её моделируют? На примере опционов на эфир

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели6.9K

Волатильность является одним из важнейших параметров в оценке опционов, управлении рисками и построении торговых стратегий. Классическая модель Блэка-Шоулза-Мертона, предполагающая постоянную волатильность, не способна отразить динамику рынка, где наблюдаются эффекты «улыбки волатильности» и кластеризации. Для более точного описания рыночных процессов разработаны модели стохастической волатильности, среди которых наиболее известными являются модель Хестона и модель SABR. Эти подходы учитывают случайный характер изменений волатильности и позволяют более адекватно оценивать деривативы.

Читать далее

Подключить педали экспрессии к компьютеру за полчаса

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели5K

Эта статья — сжатый туториал на тему подключения педалей экспрессии к компьютеру. От читателя не требуется специальных навыков в области электроники, но умение паять желательно. На минималистичное повторение подключения при наличии всех узлов и материалов действительно достаточно полчаса (автор проверил с секундомером и уложился в 10 минут). С другой стороны, верхнего предела нет: потенциал по обработке сигнала с педалей (кривые, лимиты) при этом ограничивается разве что фантазией, средствами языка Python и быстродействием контроллера.

Читать далее

Многопользовательский рой агентов для Ollama

Уровень сложностиСложный
Время на прочтение8 мин
Охват и читатели14K

🐝 Многопользовательский рой агентов для Ollama

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

Читать далее

У SAMURAI есть цель — zero-shot решение задачи Visual Object Tracking(VOT)

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели1.6K

Визуальный трекинг объектов без обучения – сложная задача, особенно в динамических сценах. Новый метод SAMURAI расширяет возможности SAM-2, интегрируя механизмы моделирования движения и улучшая архитектуру памяти.

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

Подробнее об архитектуре SAMURAI

Лучшие статьи Хабра в январе 2025 года

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

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

Для сбора данных я использовал свой парсер на Node.js. Работать пришлось напрямую с HTML, так как скрытого API Хабра я не нашёл. К счастью, внутри HTML разметки каждой статьи находится JSON с ключевыми параметрами: автор, дата, просмотры, рейтинг — это упростило парсинг.

Я обработал все статьи, опубликованные в январе, но в итоговый список попали только те, что набрали более 30 тысяч просмотров или рейтинг выше +30.

Парсим и анализируем 🤖

Вредоносные пакеты deepseeek и deepseekai были опубликованы в Python Package Index

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели14K

В рамках исследования и отслеживания угроз группа Supply Chain Security департамента Threat Intelligence экспертного центра Positive Technologies (PT ESC) обнаружила и предотвратила вредоносную кампанию в главном репозитории пакетов Python Package Index (PyPI). Атака была нацелена на разработчиков, ML-специалистов и простых энтузиастов, которым могла быть интересна интеграция DeepSeek в свои системы.

Подробности

Применение ML для оптимизации работы питательных электронасосов в ТЭЦ металлургического комбината

Время на прочтение9 мин
Охват и читатели4.8K

Привет, Хабр. Меня зовут Кирилл, и я работаю в центре машинного обучения «Инфосистемы Джет». Сегодня хочу рассказать, как мы совместно со специалистами ТЭЦ крупного металлургического предприятия сделали цифровой сервис для оптимизации работы питательных электронасосов (ПЭН). Годовой экономический эффект от реализации сервиса превзошел наши ожидания и составил 19,6 млн рублей. Это, на первый взгляд, не так много для большого завода, но учитывая, что там работает целый ряд подобных решений, в совокупности общая сумма экономии впечатляет.

Погрузиться в мир оптимизации

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

Менеджер данных: как новая роль изменила подход к работе с ML

Время на прочтение10 мин
Охват и читатели7K

Меня зовут Вера Романцова, я работаю в 2ГИС в команде компьютерного зрения. Мы создаём ML-модели и сервисы, которые автоматизируют работу с картами и данными. 

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

В этой статье я расскажу:

🌚 Кто такой менеджер данных и чем он занимается.

🦾 Как эта роль помогла нашей команде ML-инженеров.

🔜 Когда такой специалист может понадобиться вам.

🔎 Как найти подходящего кандидата на эту позицию.

Читать далее

FastAPI vs Litestar: выбираем лучший фреймворк для микросервисов

Время на прочтение9 мин
Охват и читатели27K

Привет, жители Хабра! Это Леша Жиряков из МТС Диджитал. В прошлый раз я опубликовал пост Polars vs Pandas, а сегодня поговорим о FastAPI и Litestar — фреймворках для микросервисов. У каждого из них свои сильные стороны, так какой выбрать для своего проекта? Давайте разбираться. Ниже — о плюсах и минусах каждого, сравнение производительности и примеры валидации.

Читать далее

Возможно ли все еще отличить сгенерированный текст от написанного человеком?

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели8.8K

Ровно год назад после Тренировок по ML в Вышке и курсу по Соревновательному Data Science я решил поучаствовать в соревновании на Kaggle "LLM - Detect AI Generated Text". Основная задача была определить сгенирирован ли текст или написан студентом(типичная бинарная классификация). Знаний тогда было не очень много, чтобы придумать свое решение, поэтому, по заветам курса, не стал придумывать велосипед, накинул побольше веса для CatBoost и попытался попасть в конечное распределение на private с помощью замены наивного баеса на SVM. В итоге, везение было на моей стороне, я получил серебро за это решение, заняв 152 место из 4500 :-)

Читать далее

Типы данных в Python для самых маленьких

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели20K

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

Сегодня поговорим про типы данных в Python и их иерархию. В иерархии типов упорядочение отражается в том, что существуют общие операции для типов, принадлежащих к типу более высокого уровня.

Читать далее

Апгрейд Telegram-бота для управления внутренними процессами: наш опыт вам в копилку

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели3.5K

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

Читать далее

Loss Landscape Analysis — новая библиотека для анализа точности обучения и оценки обобщающей способности нейросетей

Уровень сложностиСредний
Время на прочтение12 мин
Охват и читатели4.9K

Мой коллега Никита Габдуллин работает в Отделе перспективных исследований ИТ-компании «Криптонит». Он автор библиотеки Loss Landscape Analysis (LLA) и научной статьи о ней, препринт которой доступен на английском языке. Здесь мы публикуем адаптированную русскоязычную статью с некоторыми вольностями, которые не приняты в академической среде, но упрощают восприятие текста.

При работе с нейросетями-классификаторами у всех на слуху какие-то известные архитектуры, которые характеризуются числом параметров, скоростью вычислений (инференса), точностью выполнения той или иной известной задачи. Популярны соревнования, посвящённые тому, насколько точно можно решить задачу классификации на типовых датасетах, и часто борьба уже идёт за доли процента [PWC]. Однако в реальных задачах нейросети часто показывают себя куда хуже, чем в «лабораторных» условиях, что переводит акццнт внимания с тренировочных и тестовых (train-test) задач на проверку обобщающей способности (generalization) нейросетей.

В наших работах мы столкнулись с тем, что нейросети одного типа могут иметь практически идентичные показатели train-test, но демонстрировать кардинально отличающиеся результаты на датасетах, отличных от тренировочного. Без углублённого анализа непонятно, за счёт чего возникают такие эффекты. Поэтому для таких нейросетей очень сложно выполнить оценку их реальной обобщающей способности. Это вдохновило нас на поиски методов, которые позволили бы проанализировать обобщающую способность нейросети с теми или иными весами, среди которых метод построения ландшафта функции потерь (loss landscape) показался интересным кандидатом.

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

Читать далее

Уйти от ORM

Уровень сложностиСредний
Время на прочтение2 мин
Охват и читатели3.7K

По результатам статьи про Spring Data JPA хабровчане критиковали нас за то, что мы наступали на трудовые мозоли, но не сказали что надо делать. В этой статье мы, наконец, предложим концептуальное решение проблемы ORM.

Читать далее