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

Python *

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

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

Настраиваем паука для сбора данных: как работает фреймворк Scrapy

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

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

Читать далее

5 листингов для лучшего понимания Python

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

На протяжении нескольких лет я занимаюсь программированием на Python. За это время мне удалось собрать несколько занятных листингов кода. Какие-то из этих листингов я находил в литературе, посвященной Python, некоторые листинги я встречал на собеседованиях, а на какие-то натыкался во время выполнения рабочих задач. Однако все эти листинги объединяет одно: на мой взгляд они имеют неплохой образовательный потенциал и помогают лучше понять некоторые концепции Python. В этом посте привожу пятерку из моего списка листингов.

Читать далее

Боремся с токсичными комментариями с помощью ИИ, FastAPI и React

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

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

Мы воспользуемся FastAPI для бэкенда, React для фронтенда, заставим их между собой общаться через RESTful API, а бизнес-логику реализуем путём обращения к ИИ через gRPC.

Читать далее

Задача про n-ое число Фибоначчи

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

Суть моего труда заключается в том, чтобы определить функцию для нахождения n-ого числа Фибоначчи с линейной сложностью поиска. Вот какие методы я попробовал:

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

Читать далее

Программный код в Big data и Power law

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

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

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

Зависимость от масштаба возникает при аналого-цифровом преобразовании битов в позиционную систему счисления и проявляется в законе нормального распределения вероятности в виде дисперсии и математического ожидания. Потеря масштабной инвариантности в позиционной системе счисления компенсируется приобретением принципа причинности. Например, в Древнем Риме, где была принята непозиционная система счисления, вычисляли, что «после того - не вследствие того» и сильно удивились бы истории с падающим на Ньютона яблоком.

Значительные достижения в анализе Big data заставляют предположить связь с распределением вероятности Пуассона: чем больше данных, тем чаще должны встречаться пуассоновские события и вопрос лишь в поиске подходящей метрики и системы счисления.

Читать далее

CPython C API: 5 вопросов на собеседовании

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

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

В этой статье разберём несколько вопросов на собеседованиях, связанных с устройством CPython и его C API.

Читать далее

Как мы искали должников при помощи Pandas

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

Петербургский Фонд капитального ремонта опубликовал документы, в которых указана задолженность за каждую квартиру в городе по итогам 2024 года. Мы изучили эти файлы, чтобы ответить на вопрос: где и почему хуже всего платят за ремонт в своём доме.

Я занимаюсь анализом данных и дата‑журналистикой в газете «Деловой Петербург». Расскажу о том, как объединяли информацию из множества локальных html‑таблиц и приведу примеры кода на «Питоне».

Читать далее

Как мы ускорили ванильную FreeIPA в 20 раз!!! (почти)

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

В статье речь пойдет об ALD Pro (Astra Linux Domain Pro).
Один заказчик попросил предоставить инструмент нагрузки LDAP-запросов, да не простой, а с GUI и графиками.

Наша команда в своей работе активно использует open source инструмент нагрузочного тестирования Locust (англ. Саранча). Сам по себе Locust является ядром нагрузки с минимальным функционалом из коробки, но этот функционал расширяется за счет использования Locustfiles, которые пишутся на чистом Python, что позволяет не ограничиваться набором инструкций, как, например, в Dockerfile/Containerfile/Vagrantfile, а писать отдельные Python-модули.
На создании инструмента нагрузки ничего не закончилось, а все только началось.

Мы нагрузили ALD Pro, получили графики и...обнаружили катастрофу.

Читать далее

Производительность интерпретатора Python 3.14 с оптимизацией хвостовых вызовов

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

Примерно месяц назад проект CPython смерджил новую стратегию реализации интерпретатора байт-кода. Первоначальные результаты были очень впечатляющими, продемонстрировав среднее повышение производительности на 10-15% в широком спектре бенчмарков на различных платформах.
Читать дальше →

OpenSearch как сервис: обзор и тривиальный пример использования на Python

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

Привет, Хабр! Проблема традиционных реляционных баз данных в том, что они не всегда справляются с обработкой огромных объемов информации. Вот вам нужно быстро найти, проиндексировать и проанализировать логи, события или метрики, но вы упираетесь в ограничения масштабируемости, автошардирования и скорости обработки запросов специфического профиля нагрузки. Знакомо?

Меня зовут Гришин Александр, я продакт-менеджер в Selectel и отвечаю за развитие объектного хранилища и облачных баз данных. В этой статье расскажу, как описанные проблемы решает OpenSearch, как развернуть кластеры этой платформы за несколько минут и начать с ней работать в Python.
Читать дальше →

Как

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

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

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

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

Эта задача разбивается на две. Во первых, нужен список всех провайдеров. Во вторых, нужны все IP префиксы этих провайдеров.

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

Читать далее

Machine learning на ESP32

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

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

В этом примере используются измерения акселерометра MPU 6050 и машинное обучение (ML) для распознавания трех жестов рукой с помощью ESP32. Данные из сенсора распознаются на микроконтроллере и результат выводится в консоль в виде названия жеста и вероятности результата. Модель ML использует TensorFlow и Keras и обучается на выборке данных, представляющей три различных жеста: "circle" (окружность), "cross" (пересечение) и "pad" (поступательное движение).

Разработка проекта начнется с получения данных из акселерометра для построения набора жестов. Затем мы проектируем полносвязную нейронную сеть для распознавания жестов, и подключим модель в проекте ESP32.

В следующей части рассмотрим как настроить Bluetooth LE (BLE) на ESP32 и Android устройстве. Передадим квантированный набор ускорений сенсора по BLE. Настроим Модель ML для распознания жестов на Android.

Читать далее

Taigram: как мы решали проблемы данных и пришли к бете

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

Продолжаем рассказывать о разработке нашего Open Source проекта Taigram.

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

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

Читать далее

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

Как я научил
 буфер обмена думать

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

Я научил буфер обмена думать, и теперь всё вокруг стало быстрее. А что если выделенный текст мгновенно станет грамотным, переведётся на нужный язык или расшифрует картинку? Одно нажатие — и ИИ исправляет ошибки в Telegram, объясняет код в VS Code или переводит иностранные мемы.

Читать далее

Создание анонимного чата в Telegram: Бот с MiniApp интерфейсом. Часть 1 — Бэкенд на FastAPI, Aiogram, Redis и Centrifugo

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

Это первая статья из цикла, посвященного разработке телеграм-бота с MiniApp для случайных чатов. В этой части мы сосредоточимся на создании бэкенда, используя современные технологии: FastAPI для разработки API, Redis для хранения данных в реальном времени и Centrifugo для обеспечения мгновенного взаимодействия между пользователями. Сегодня мы подробно разберем архитектуру проекта, настройку серверов и реализацию логики бота.

В следующей статье мы переключимся на фронтенд и займемся разработкой MiniApp с использованием фреймворка Vue.js. Это позволит создать интуитивно понятный интерфейс для пользователей, где они смогут настраивать параметры поиска собеседника и общаться в режиме реального времени (Real time).

Читать далее

Как работают dict, slots и weakref в Python (и зачем это знать)

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

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

Сегодня рассмотрим как slots, dict и weakref помогают нам выжимать максимум из Python: экономить память, ускорять доступ к атрибутам и бороться с утечками.

Читать далее

Пишем отложенные сообщения для ВК на питоне

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

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

Читать далее

Не позволяйте словарям портить ваш код

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

Как часто ваши простенькие прототипы или предметные скрипты превращаются в полномасштабные приложения?

Простота естественного разрастания кода не лишена и обратной стороны — такой код становится трудно обслуживать. Количественное размножение словарей в качестве основных структур данных чётко сигнализирует о наличии технического долга. К счастью, сегодня Python предоставляет для простых словарей много адекватных альтернатив.
Читать дальше →

Акторная модель на Python: Ray, Thespian, Pykka

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

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

В этой статье мы коротко пройдемся по основным вариантам реализации акторной модели на Python.

Читать далее

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

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

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

В программировании имею небольшой опыт обучения основам C#, а с недавнего времени — изучение основ Python.

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

На вооружение был взят ChatGPT (Plus)/DeepSeek и VS Code для написания кода.

Читать далее

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