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

Собрали в одном месте самые важные ссылки
консультируем про IT, Python

     30.06.2023       Выпуск 497 (26.06.2023 - 02.07.2023)       Статьи

Фильтруй базар! Как мы параллельный русско-башкирский корпус чистили

Чтобы обучать нейросети понимать и генерировать человеческие языки, нужно много качественных текстов на нужных языках. «Много» – не проблема в эпоху интернета, но с качеством бывают сложности. В этом посте я предлагаю использовать BERT-подобные модели для двух задач улучшения качества обучающих текстов: исправление ошибок распознавания текста из сканов и фильтрация параллельного корпуса предложений. Я испробовал их на башкирском, но и для других языков эти рецепты могут оказаться полезны.

     30.06.2023       Выпуск 497 (26.06.2023 - 02.07.2023)       Статьи

Легкий фаззинг в интеграционных тестах с помощью hypothesis

Если никогда не слышали о hypothesis и хотите дополнить свои функциональные интеграционные тесты чем-то новым и попробовать найти баги там, где вроде бы уже искали – добро пожаловать в статью. 

     29.06.2023       Выпуск 497 (26.06.2023 - 02.07.2023)       Статьи

Простейший бот «на движке» WEB WhatsApp

Осторожно - не production код

     29.06.2023       Выпуск 497 (26.06.2023 - 02.07.2023)       Статьи

Оптимизации работы Jupyter notebook при помощи параллельных вычислений (Библиотека Joblib)

Параллелизм играет важную роль в задачах Data Science, так как может значительно ускорить вычисления и обработку больших объемов данных. В посте расскажу  о возможностях применения параллельных вычислений в интерактивной среде Jupyter notebook языка Python.

     29.06.2023       Выпуск 497 (26.06.2023 - 02.07.2023)       Статьи

Как создать свой мод для Cyberpunk 2077? Шерстим исходники, Lua, C++ и Python

Недавно мой коллега @Doctor_IT попросил помочь с его проектом — VR-жилетом, который «проецирует» ощущения урона, которые получает персонаж, на тело игрока. С моей стороны — мод, который будет отправлять данные из Cyberpunk 2077 на сам жилет. Информации по теме моддинга мало, на русском языке материалов практически нет, а существующие статьи местами устарели — пора это исправить.

     28.06.2023       Выпуск 497 (26.06.2023 - 02.07.2023)       Статьи

Как я написал конвертер 3D-моделей из подручных средств

Суть задачи была в следующем: нужно было добавить в мобильное приложение AR (то есть, дополненную реальность). Оно нужно, чтобы товар с Маркета можно было «примерить» в интерьер. Например, оно полезно, когда вы хотите купить телевизор, но вам сложно представить, будет ли он гармонировать с мебелью и влезет ли он вообще в имеющееся пространство. 

     28.06.2023       Выпуск 497 (26.06.2023 - 02.07.2023)       Статьи

Python⇒Speed: When NumPy is too slow

If you’re doing numeric calculations, NumPy is a lot faster than than plain Python—but sometimes that’s not enough. What should you do when your NumPy-based code is too slow? Your first thought might be parallelism, but that should probably be the last thing you consider. There are many speedups you can do before parallelism becomes helpful, from algorithmic improvements to working around NumPy’s architectural limitations. Let’s see why NumPy can be slow, and then some solutions to help speed up your code even more.

     28.06.2023       Выпуск 497 (26.06.2023 - 02.07.2023)       Статьи

Bullet Proofing Django Models

Рекомендаци по составлению моделей в DJango

     27.06.2023       Выпуск 497 (26.06.2023 - 02.07.2023)       Статьи

Всё хорошо, но нужно переписать или почему ваш код не попадает в прод

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

     27.06.2023       Выпуск 497 (26.06.2023 - 02.07.2023)       Статьи

Крестики-нолики для питонистов: сначала пишем, потом играем

Сегодня, юный падаван, на примере простой игры «крестики-нолики» мы разберём, как создают подобные приложения, продумывают для них требования и создают игровую логику. Мы не будем устанавливать много требований, в идеале поведение нашего кода должно соответствовать правилам игры на 100%. Если я вдруг где-то с этим не справился, прошу в комменты. Цель — сделать вас более уверенными при кодировании в парадигме ООП.

     27.06.2023       Выпуск 497 (26.06.2023 - 02.07.2023)       Статьи

Messaging для чайников. Утилизируем все возможности RabbitMQ на Python

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

Оказалось, что материала на эту тему много, но он либо объясняет совсем базовые случаи, либо уходит в такие дебри, которые крайне далеки и тяжелы для человека, который хочет "просто разобраться".

     27.06.2023       Выпуск 497 (26.06.2023 - 02.07.2023)       Статьи
     27.06.2023       Выпуск 497 (26.06.2023 - 02.07.2023)       Статьи

Как определить причины достижений и неудач футбольного клуба с помощью цифр

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

     27.06.2023       Выпуск 497 (26.06.2023 - 02.07.2023)       Статьи

How to Flatten a List of Lists in Python

Или посмотреть на funcy библиотеку

     25.06.2023       Выпуск 496 (19.06.2023 - 25.06.2023)       Статьи

Сводка новостей от pythonz.net 18.06.2023 — 25.06.2023

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

     25.06.2023       Выпуск 496 (19.06.2023 - 25.06.2023)       Статьи

Решение задачи определения RUL трансформаторов с помощью машинного обучения на python

Для качественного технического обслуживания и ремонта необходимо заранее знать о возможных неисправностях, а также об остаточном ресурсе трансформаторного оборудования. Необходимо разработать модель, которая будет определять остаточный ресурс оборудования по последним 420 точкам.В данной статье рассмотрен распространенный подход решения задачи определения RUL силовых трансформаторов на основе моделей регрессии, так как у нас есть диагностические данные (временные ряды, сигналы) и разметка в виде значений длительности оборудования до отказа.

     23.06.2023       Выпуск 496 (19.06.2023 - 25.06.2023)       Статьи

Как можно компилировать типизированный Python

Прошло уже целых 9 лет с тех пор, как состоялся документ PEP 484, в котором сообществу Python были ниспосланы типы. Многих это сильно разозлило, и в широких массах этот ход осуждался (1). С тех пор жители Интернета неоднократно заявляли, что стремятся выяснить: в самом ли деле это означает, что теперь можно компилировать Python в нативный код и таким образом его ускорять? Вопрос совершенно оправданный. Он возник у меня на самом раннем этапе моих разработок, касающихся Python-компиляторов. Итак, осуществимо ли это?

     23.06.2023       Выпуск 496 (19.06.2023 - 25.06.2023)       Статьи

Building Search DSLs with Django

What happens when there are too many fields for a UI to search on? Search DSLs can give a user more granular access to searching without exposing an overly complicated interface.

     23.06.2023       Выпуск 496 (19.06.2023 - 25.06.2023)       Статьи

Вскрываем средство для DDoS-атак на российскую ИТ-инфраструктуру

В начале апреля 2023 года на одном из хостов был обнаружен подозрительный файл mhddos_proxy_linux_arm64 (MD5: 9e39f69350ad6599420bbd66e2715fcb), загружаемый вместе с определенным Docker-контейнером. По открытым источникам стало понятно, что данный файл представляет из себя свободно распространяемый инструмент для осуществления распределённой атаки на отказ в обслуживании (DDoS), направленный против российской ИТ-инфраструктуры.

     23.06.2023       Выпуск 496 (19.06.2023 - 25.06.2023)       Статьи

Умный дом с голосовым ассистентом на минималках

Небольшой лонгрид с предысторией и планами, чтобы лучше понимать почему, что и как получилось.Разработка шла с переменной скоростью в течении лет 5. Совсем не сразу взялся за летопись, поэтому прошу прощения, если что-то будет некорректно ;)В результате имеем масштабируемое решение, которое можно использовать в любом месте (квартира, дом или еще что).