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

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

     04.07.2023       Выпуск 498 (03.07.2023 - 09.07.2023)       Статьи

Как сделать Telegram-бота для проверки аптайма своего сервиса на Python (ч.3 получение графиков через телеграм)

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

     04.07.2023       Выпуск 498 (03.07.2023 - 09.07.2023)       Статьи
     03.07.2023       Выпуск 498 (03.07.2023 - 09.07.2023)       Статьи

Пишем логи Python при помощи библиотеки Structlog

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

     03.07.2023       Выпуск 498 (03.07.2023 - 09.07.2023)       Статьи

Развлечения с хеш-коллизиями

Мой друг и коллега по цеху, блоггер Сэм, недавно опубликовал своё третье иллюстрированное руководство, темой которого стало хеширование. Нет острой необходимости читать его руководство перед прочтением моей статьи, но я очень рекомендую вам это сделать. Хотя бы ради того, чтобы посмотреть на восхитительные анимации, от которых невозможно оторваться. Честно — они просто потрясающие. Тут, к сожалению, анимаций вы не найдёте, поэтому насмотритесь на них в той статье, а потом возвращайтесь сюда. Здесь вы сможете немного позабавиться поиском коллизий алгоритма хеширования MurmurHash3.

     03.07.2023       Выпуск 498 (03.07.2023 - 09.07.2023)       Статьи

Fastapi 0.100.0-beta1: ещё быстрее

На прошлой неделе вышла бета-версия нового FastAPI 0.100-beta1, а это значит что? Правильно, пришло время performance-тестов!

     03.07.2023       Выпуск 498 (03.07.2023 - 09.07.2023)       Статьи

Анализ данных по метеорологическим станциям с помощью Pandas

В статье будет рассмотрено решение задачи анализа открытых метеорологических данных сервиса meteo.ru Федеральной службы по гидрометеорологии и мониторингу окружающей среды. Анализ будет произведен в Jupyter Notebook при помощи Python библиотеки Pandas, а также будут сделаны выводы относительно того какие изменения произошли в климате за последние 50 лет в нашей стране.

     03.07.2023       Выпуск 498 (03.07.2023 - 09.07.2023)       Статьи

easypy – неизвестная библиотека для борьбы с boiler-plate на python

Если занимаетесь автотестами на python, часто работаете с многопоточностью и хотите уменьшить количество boiler-plate кода в ваших тестах – имеет смысл посмотреть на библиотеку easypy.  

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

RuGPT3. Исследование вариантов циклическим перебором

RuGPT3 - коллекция моделей от Сбер. Проводим автоматическое тестирование циклическим перебором вариантов. Работаем в Colab, тестируем Small, Mediub, Large.

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

Мониторинг активности пользователей OpenVPN при помощи Python

Мои прошлые статьи были посвящены протоколу BGP, но в этот раз я приготовил нечто поинтереснее. В прошлом году мне захотелось расширить своё портфолио навыков в сторону автоматизации задач. Не последнюю роль в этом желании сыграла книга «Автоматизация программируемых сетей», выпущенная известным в IT-кругах издательским домом O'Reilly. В ней примеры скриптов написаны на Python. Позже я в учебном центре прошёл курс повышения квалификации по программе «Python для сетевых инженеров. Автоматизация сетевых задач», а затем продолжил самостоятельно постигать это искусство. Недавно подвернулась интересная задача, о решении которой при помощи Python я вам сегодня и расскажу.

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

Верификация e-mail по протоколу smtp. Узнаем, что почта есть и ждёт писем при помощи python

Пригодится для решения задач по организации рассылок, а также как средство предварительной проверки эл. почты при регистрации.

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

     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%. Если я вдруг где-то с этим не справился, прошу в комменты. Цель — сделать вас более уверенными при кодировании в парадигме ООП.