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

Python *

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

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

Немножко о реализации set в Python

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

Хотя, казалось бы, сет должен печатать каждый раз вразнобой, ибо является неупорядоченной коллекцией. Но, на самом деле, set никому ничего не должен :-) Я порылась в нескольких статьях и документации и на своем уровне (червяка) вот что поняла.

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

Хэш-таблица представляет собой два столбца из не менее 8 строк:

Читать далее

Начальная анимация

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

Всем привет. Сегодня будет заключительная статья на тему программирования в мире 3D, как вводная во все возможные темы.

В 3D помимо статических обьектов и поверхностей, по которым можно ходить хотябы камерой. Нужны еще анимированные модели - такие как персонажи, еффекты, детали, которыми можно описывать какие-то наблюдаемые явления, частицы. Всё это можно создавать в программном инструменте Blender, Maya и тд.

Хочу продемонстрировать простенький подход минимального болванчика.

Читать далее

Boxplot, он же ящик с усами

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

Представьте, что вам нужно быстро сравнить распределения зарплат сотрудников разных отделов или оценить разброс результатов эксперимента. В таких ситуациях отличным выбором будет boxplot, он же “ящик с усами” – эффективный инструмент для выявления ключевых характеристик распределения, позволяющий быстро оценить медиану, разброс данных и обнаружить выбросы.

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

Читать далее

Алгоритмы из теории графов: решаем сложную задачу из курса Яндекс Практикума

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

Привет! Меня зовут Евгений, и сегодня я представляю курс «Алгоритмы и структуры данных» Яндекс Практикума. В этой статье хочу вам рассказать про задачу, которая долгое время была проблемой для многих наших студентов. В том числе расскажу про несколько вариантов решения и о том, как их можно доработать.

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

Читать далее

Телеграм-бот с подключением к базе данных MS SQL в контейнере docker

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

Предназначено для тех, кто задумывается о цифровизации предприятий. Телеграм-бот - это отличный способ сделать интерфейс между базой данных и сотрудником, у которого нет в данный момент доступа в корпоративную сеть (к своему компьютеру). Безусловно, мобильное приложение решает этот вопрос лучше, но затраты на создание/поддержание мобильного приложения несопоставимы с затратами на простого ТГ-бота (или даже средней сложности), то же относится и ко времени разработки/внедрения. Надеюсь, данная статья будет полезной для энтузиастов широкого внедрения ТГ-ботов как технологии цифровизации промышленных (и не только) предприятий.

Читать далее

Использование PyGame для визуализации сигналов звукового диапазона с частотой дискретизации 44100 Гц в реальном времени

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

PyGame — это популярная библиотека для разработки 2D игр на Python. В данной статье рассмотрено необычное применение PyGame – это быстрый вывод графиков, например, потоков данных с частотой дискретизации 44100 Гц со звуковой карты, что может быть применимо для визуализации звуковых сигналов.

Читать далее

Python как дзен: Пелевин и разработка

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

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

Читать далее

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

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

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

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

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

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

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

Читать далее

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

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

Тестирование на скорость рисования 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 мин
Количество просмотров3.8K

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

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

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

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

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

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

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

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

Правильный инструмент для аналитики нагрузочного тестирования. Часть 2

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

Load-testing-hub: эволюция сервиса аналитики нагрузочного тестирования

Ранее я рассказывал о load-testing-hub, инструменте для аналитики и агрегации данных по нагрузочным тестам. Тогда он находился в стадии MVP, а теперь прошел значительные улучшения.

Что изменилось?

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

Один из практических кейсовпоиск по банковским операциям среди сотен миллионов записей. Load-testing-hub помог протестировать производительность, выявить узкие места и оптимизировать решение.

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

Читать далее

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

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

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

Подробности

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