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

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

     15.01.2025       Выпуск 579 (13.01.2025 - 19.01.2025)       Статьи

300k видеозаписей, наводим порядок

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

     15.01.2025       Выпуск 579 (13.01.2025 - 19.01.2025)       Статьи

Цикл в RegEx для поиска подстрок с условием

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

     15.01.2025       Выпуск 579 (13.01.2025 - 19.01.2025)       Статьи

Автотесты: что есть 100% покрытие API?

В этой статье я расскажу как из вопроса ко мне «на сколько% у нас покрыта API автотестами?» Я выдал базу в виде регламента по автоматизации API.

     14.01.2025       Выпуск 579 (13.01.2025 - 19.01.2025)       Статьи

Видео Bad Apple в 6500 регулярных выражениях на базе поискового механизма vim

Если я хочу посмотреть видео — разве для этого обязательно покидать vim? Что ж, прямо в заголовке этого поста я пообещал вам продемонстрировать Bad Apple в vim, пользуясь только поисковыми запросами. Вот Bad Apple в vim, всё, что здесь меняется — только поисковый запрос:

     14.01.2025       Выпуск 579 (13.01.2025 - 19.01.2025)       Вопросы и обсуждения

Python Bytes: #416 A Ghostly Episode

Очередной выпуск англоязычного подкаста Python Bytes

     13.01.2025       Выпуск 579 (13.01.2025 - 19.01.2025)       Статьи

Brython: Python в вашем браузере

Если вы веб-разработчик и предпочитаете писать на Python, а не на JavaScript, то Brython — реализация Python, работающая в браузере, — может оказаться для вас привлекательным вариантом.

     13.01.2025       Выпуск 579 (13.01.2025 - 19.01.2025)       Статьи

Brython: Python в вашем браузере (ч.2)

Ваше знакомство с различными способами установки Brython дало вам общее представление о том, как работает реализация.

     13.01.2025       Выпуск 579 (13.01.2025 - 19.01.2025)       Статьи

Brython: Python в вашем браузере (ч.3)

Brython позволяет Python-коду взаимодействовать с кодом JavaScript. Наиболее распространенный шаблон — доступ к JavaScript из Brython. Обратный вариант, хотя и возможен, не распространен. Вы увидите пример вызова функции Python в JavaScript в разделе Модульные тесты JavaScript.

     13.01.2025       Выпуск 579 (13.01.2025 - 19.01.2025)       Статьи

Signals в Django

В этой статье я расскажу, как использовать Django Signals, чтобы приложение работало как часы. Signals — это встроенный механизм в Django, который позволяет разным частям приложения «общаться» друг с другом через события.

     13.01.2025       Выпуск 579 (13.01.2025 - 19.01.2025)       Статьи

О чем говорит версия проекта?

Какое-то время подходы к версионированию варьировались от компании к компании, до тех пор, пока соучредитель GitHub Том Престон-Вернер не предложил единый подход к выпуску и нумерации версий проектов. Этот подход называется Семантическим Версионированием и подробно описан в этом документе. В этом тексте я бы хотел проиллюстрировать основные положения документа и разобраться, что нам может рассказать версия проекта.

     13.01.2025       Выпуск 579 (13.01.2025 - 19.01.2025)       Статьи

FastAPI и Vue.js 3: телеграм-бот с MiniApp для записи и автоматических уведомлений. Пишем бэкенд

На этот раз мы создадим телеграм-бота с MiniApp (ранее известным как WebApp) — это будет бот с интегрированным мини-сайтом прямо в Telegram.

     13.01.2025       Выпуск 579 (13.01.2025 - 19.01.2025)       Статьи

Я, робот или как использовать генеративный ИИ для своего первого пет-проекта

О том, как мы с Claude 3.5 Sonnet собирали мой первый pet-project «Random Friends Episode». Любителям LLM и сериала «Друзья» - велком! How you doin'?

     10.01.2025       Выпуск 578 (06.01.2025 - 12.01.2025)       Статьи

Битва двух якодзун: Grafana K6 vs Django DRF + Nginx

Сегодня мы вместе сделаем минимальное приложение на django + DRF и проведем нагрузочное тестирование с помощью Grafana K6. Также попробуем применить кэширование в Nginx. Будем тестировать как GET-запросы, которые можно и нужно кэшировать, так и POST-запросы, которые кэшировать нельзя.

     10.01.2025       Выпуск 578 (06.01.2025 - 12.01.2025)       Статьи

Сортировки Либеральная, по Бакунину и некоторые другие

В ходе обсуждения с товарищем docent2007 статьи о сортировке «Милосердный Сталин» у нас сами собой родились дополнительные, весьма полезные методы сортировки. Эти методы определённо могут пригодиться каждому.

     11.01.2025       Выпуск 578 (06.01.2025 - 12.01.2025)       Статьи

Brython: Python в вашем браузере

Если вы веб-разработчик и предпочитаете писать на Python, а не на JavaScript, то Brython — реализация Python, работающая в браузере, — может оказаться для вас привлекательным вариантом.

     10.01.2025       Выпуск 578 (06.01.2025 - 12.01.2025)       Статьи

Моделирование группы БПЛА в симуляционной среде (PX4 ROS 2 Gazebo)

Проект для управления группой беспилотных летательных аппаратов, реализованный с использованием ROS 2 и PX4 Autopilot. Основная цель — автоматизация управления несколькими дронами в симуляционных условиях. Для моделирования используется симулятор Gazebo. Система поддерживает централизованное управление через ROS topics, обработку высокоуровневых команд в формате JSON.

     10.01.2025       Выпуск 578 (06.01.2025 - 12.01.2025)       Статьи

Сборка Django-приложения при помощи Nuitka в onefile

К нам в команду пришла интересная задача, нужно было собрать всю серверную часть в один исполняемый файл (.elf) и в дальнейшем на его основе сделать установочный файл (.deb), чтобы создать и запустить сервис.

     10.01.2025       Выпуск 578 (06.01.2025 - 12.01.2025)       Статьи

Геолокация по теням: как определить место съёмки исторической фотографии

В этой статье я расскажу о том, как можно определить географическое местоположение объекта на фотографии, используя только длину тени и время съёмки. Мы рассмотрим конкретный пример - историческую фотографию 1963 года из Сайгона (ныне Хошимин), и напишем Python-скрипт для анализа возможных локаций.

     10.01.2025       Выпуск 578 (06.01.2025 - 12.01.2025)       Статьи

Как мы взломали 512-разрядный ключ DKIM в облаке менее чем за $8

В ходе нашего исследования, охватывавшего записи SPF, DKIM и DMARC на 1 миллионе самых популярных веб-сайтов мы с удивлением обнаружили более 1 700 открытых DKIM-ключей длиной менее 1 024 бит каждый. Эта находка нас удивила, поскольку RSA-ключи короче 1 024 бит расцениваются как небезопасные, и их не рекомендуется использовать в DKIM с 2018 года, когда был введён в действие документ RFC 8301.

     09.01.2025       Выпуск 578 (06.01.2025 - 12.01.2025)       Статьи

Домашняя аптечка под контролем. Цифровой помощник для забывчивых педантов

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