IT-новости про Python, которые стоит знать

Собрали в одном месте самые важные ссылки
и сделали Тренажер IT-инцидентов для DevOps/SRE

     18.03.2025       Выпуск 588 (17.03.2025 - 23.03.2025)       Статьи

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

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

     18.03.2025       Выпуск 588 (17.03.2025 - 23.03.2025)       Статьи

Шардирование гео-данных в Redis

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

     18.03.2025       Выпуск 588 (17.03.2025 - 23.03.2025)       Статьи

Оптимизация работы с REST API: когда и как использовать пагинацию (+ простой пример на Python)

Итак, пользователи вашего приложения уже жалуются на долгую загрузку данных, а серверы едва справляются с нагрузкой. Одна из возможных (и частых) причин в том, что API пытается выгрузить тысячи записей за один запрос. Без пагинации базы данных захлебываются под тяжестью SELECT-запросов, а клиенты уходят к конкурентам, не дождавшись ответа. Почему пагинация — это не опция, а must-have для любого API?

     18.03.2025       Выпуск 588 (17.03.2025 - 23.03.2025)       Статьи

Делаем жизнь легче: быстрый поиск в django и postgresql с помощью search_vector

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

     18.03.2025       Выпуск 588 (17.03.2025 - 23.03.2025)       Статьи

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

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

     18.03.2025       Выпуск 588 (17.03.2025 - 23.03.2025)       Статьи

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

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

     18.03.2025       Выпуск 588 (17.03.2025 - 23.03.2025)       Статьи

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

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

     18.03.2025       Выпуск 588 (17.03.2025 - 23.03.2025)       Статьи

Три необсуждаемых вопроса о параллельной распределённой обработке данных — чтобы жить стало легче

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

     17.03.2025       Выпуск 588 (17.03.2025 - 23.03.2025)       Статьи

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

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

     16.03.2025       Выпуск 587 (10.03.2025 - 16.03.2025)       Статьи

Machine learning на ESP32

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

     16.03.2025       Выпуск 587 (10.03.2025 - 16.03.2025)       Статьи

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

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

     15.03.2025       Выпуск 587 (10.03.2025 - 16.03.2025)       Статьи

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

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

     14.03.2025       Выпуск 587 (10.03.2025 - 16.03.2025)       Статьи

Гиббсовское сэмплирование на Python

Сегодня разбираем реализацию Gibbs Sampling на Python. Это один из методов Монте‑Карло по цепям Маркова (MCMC), который решает такую задачу:«У нас есть сложное многомерное распределение, но мы не можем из него напрямую сэмплировать. Однако, если у нас есть условные распределения, то мы можем брать новые точки, обновляя поочередно каждую координату.»

     14.03.2025       Выпуск 587 (10.03.2025 - 16.03.2025)       Статьи

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

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

     14.03.2025       Выпуск 587 (10.03.2025 - 16.03.2025)       Статьи

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

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

     16.03.2025       Выпуск 587 (10.03.2025 - 16.03.2025)       Статьи

Сводка от pythonz 09.03.2025 — 16.03.2025

А теперь о том, что происходило в последнее время на других ресурсах.

     14.03.2025       Выпуск 587 (10.03.2025 - 16.03.2025)       Статьи

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

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

     14.03.2025       Выпуск 587 (10.03.2025 - 16.03.2025)       Статьи
     14.03.2025       Выпуск 587 (10.03.2025 - 16.03.2025)       Статьи
     13.03.2025       Выпуск 587 (10.03.2025 - 16.03.2025)       Статьи

Как сделать livenessProbe для Kafka-консьюмеров и перестать перезапускать их вручную

Kafka-консьюмеры не всегда работают так стабильно, как хотелось бы. Иногда они просто зависают — без ошибок, без падений, но и без обработки сообщений. LivenessProbe в Kubernetes помогает автоматически перезапускать зависшие сервисы, но с Kafka-консьюмерами всё не так просто: стандартного решения для них нет. В этой статье разберём, как правильно реализовать livenessProbe для консьюмеров с помощью паттерна Heartbeat, чтобы не перезапускать их вручную.