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

Собрали в одном месте самые важные ссылки
читайте нас в Twitter

     12.07.2022       Выпуск 447 (11.07.2022 - 17.07.2022)       Статьи

Статическое Python приложение в образе контейнера на базе scratch

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

Размер итогового образа контейнера получится всего лишь от 13 мегабайт.

     11.07.2022       Выпуск 447 (11.07.2022 - 17.07.2022)       Статьи

Создание бота на основе discord.py. Часть 1

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

     11.07.2022       Выпуск 447 (11.07.2022 - 17.07.2022)       Статьи

Интеграция картин в видео фасада здания за 60 часов

Художник-монументалист - человек, который выполняет действительно Большие Задачи. Вот и со мной рядом был такой человек, у которого еще не горел, но активно приобретал характерную черную корочку диплом.

     11.07.2022       Выпуск 447 (11.07.2022 - 17.07.2022)       Статьи

19 способов сделать сокет-сервер на Python. Эволюционный подход. Часть 3. Первый подход к асинхронности

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

     11.07.2022       Выпуск 447 (11.07.2022 - 17.07.2022)       Статьи

19 способов сделать сокет-сервер на Python. Эволюционный подход. Часть 2. Блокирующие сокеты и многозадачность

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

     11.07.2022       Выпуск 447 (11.07.2022 - 17.07.2022)       Статьи

Автоматическое тестирование QT GUI с помощью python и funq

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

     11.07.2022       Выпуск 447 (11.07.2022 - 17.07.2022)       Статьи

Бескомпромиссный CI-конвейер для питонистов

Любому Python-проекту может пойти на пользу надёжный и стабильный конвейер непрерывной интеграции (Continuous Integration, CI). В рамках таких конвейеров выполняется сборка приложений, запуск тестов, проверка кода линтерами, контроль качества программ, анализ уязвимости приложений. Правда, построение CI-конвейеров занимает много времени, требует выполнения действий, которые, сами по себе, никакой пользы не приносят. Этот материал написан для тех Python-программистов, которым нужен полнофункциональный, настраиваемый CI-конвейер, основанный на GitHub Actions. Этот конвейер оснащён всеми мыслимыми инструментами, подключён ко всем необходимым сервисам, а подготовить его к работе можно всего за несколько минут.

     10.07.2022       Выпуск 446 (04.07.2022 - 10.07.2022)       Статьи

19 способов сделать сокет-сервер на Python. Эволюционный подход. Часть 1. Введение

Дабы исчерпать до дна тему сокетов в Python я решил изучить все возможные способы их использования в данном языке. Чтобы всех их можно было испытать и попробовать на зуб, были созданы 19 версий простого эхо-сервера: от примитивного использования класса socket до asyncio

     09.07.2022       Выпуск 446 (04.07.2022 - 10.07.2022)       Статьи

Что такое выпас данных и почему он необходим?

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

     08.07.2022       Выпуск 446 (04.07.2022 - 10.07.2022)       Статьи

Pycon Russia-2022: программа докладов, пиксель-мерч и песни у костра

Три недели осталось до старта нашей конференции. Мы нашли самых огненных спикеров и собрали 25 докладов, так или иначе связанных с python-разработкой. Придумали классную идею для афтерпати и пошили самые красивые (по версии девочек из IT-People) футболки. Пора познакомить вас со всем этим. И что же там такое?

     08.07.2022       Выпуск 446 (04.07.2022 - 10.07.2022)       Статьи

Оптимизация сервинга нейросетей

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

     06.07.2022       Выпуск 446 (04.07.2022 - 10.07.2022)       Статьи

Pet-проект для обучения или как я в одиночку писал Helpdesk

Ранее, у меня уже был опыт использования Helpdesk систем, но по разным причинам они не были внедрены у нас на предприятии. Хорошая возможность научится программировать, подумал я, и преступил к написанию собственного helpdesk’a.

     06.07.2022       Выпуск 446 (04.07.2022 - 10.07.2022)       Статьи

Как я пагинацию на telebot делал

Разберемся с начала, что это за статья зачем она и для кого. Пришлось мне в рамках хакатона "Поколение ИТ" писать бота для телеги.

Но готового решения для пагинации, которое бы нам подходило мы не нашли. Поэтому было принято решение изобретать велосипед. Решение моих товарищей было максимально странным, брать количество записей и перебирать их в цикле от 1 до N (конца, записей), но данная идея сразу была отброшена. Поэтому предоставляю вашему вниманию наше творчество, которое мы изобрели.

     06.07.2022       Выпуск 446 (04.07.2022 - 10.07.2022)       Статьи

Как пакетно конвертировать изображения и видео в гифки с помощью FFmpeg минуя CLI

Привет, земляне. Многие из вас слышали про набор библиотек FFmpeg, а некоторые его активно используют. Я из их числа, но я не поклонник взаимодействия с приложением посредством текстовых команд, поэтому я предлагаю собственное приложение с графическим интерфейсом для взаимодействия с FFmpeg. Теперь, не нужно изучать текстовый интерфейс, чтобы произвести пакетное конвертирование изображений и видео в GIF-файлы высокого качества. 

     05.07.2022       Выпуск 446 (04.07.2022 - 10.07.2022)       Статьи

Введение в языковые модели

N-граммы N-граммы – это статистические модели, которые предсказывают следующее слово после N-1 слов на основе вероятности их сочетания. Например, сочетание I want to в английском языке имеет высокую вероятностью, а want I to – низкую. Говоря простым языком, N-грамма – это последовательность n слов. 

     05.07.2022       Выпуск 446 (04.07.2022 - 10.07.2022)       Статьи

Извлечение информации из текста и NER

Извлечение информации означает создание структурированных данных из неструктурированного текста. На практике задача может выглядеть так: нужно автоматически создать запись в календаре исходя из текста письма, как на рисунке ниже.

     05.07.2022       Выпуск 446 (04.07.2022 - 10.07.2022)       Статьи

Полковнику никто не пишет. Отправка писем по SMTP после изменения политики Google. С примером на Python

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

     05.07.2022       Выпуск 446 (04.07.2022 - 10.07.2022)       Статьи

Papers, please! Как устроены сервисы по распознаванию лиц для идентификации клиента и проверки документов

В популярной в свое время игре Papers, please! игрок выполняет роль таможенника, проверяющего документы по все более усложняющимся правилам. Главная игровая механика - проверка документов на соответствие всем нормам, таким как верная дата и место выдачи, соответствие имени и фамилии человека на всех документах, срок действия визы, наличие человека в “черных” списках и тому подобное.

     05.07.2022       Выпуск 446 (04.07.2022 - 10.07.2022)       Статьи

Рекомендательная система через поиск схожих изображний с помощью Resnet50

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

     04.07.2022       Выпуск 446 (04.07.2022 - 10.07.2022)       Статьи

Как сравнивать распределения. От визуализации до статистических тестов

Сравнение эмпирического распределения переменной по разным группам — распространённая задача Data Science. Эта задача часто возникает при поиске причинно-следственных связей, когда нужно оценить качество рандомизации.