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

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

     26.07.2022       Выпуск 449 (25.07.2022 - 31.07.2022)       Статьи

Компонентные тесты в собственном соку

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

     25.07.2022       Выпуск 449 (25.07.2022 - 31.07.2022)       Статьи

Как установить лицензионную защиту кода на Python и обезопасить данные с помощью HASP?

При переходе от On-Cloud размещений ПО на On-Premises в большинстве случае перед вами неизбежно встанет задача защиты интеллектуальной собственности – и она особенно критична для рынка AI, где задействуются модели, обладающие высокой ценностью для компании. К тому же, в этой сфере широко используется интерпретируемый язык Python, ПО на котором содержит алгоритмы, являющиеся интеллектуальной собственностью компании, но фактически распространяется в виде исходных кодов. Это не является проблемой для On-Cloud решений, но в случае с On-Premises требует особой защиты как от утечек кода, так и самих данных.

     25.07.2022       Выпуск 449 (25.07.2022 - 31.07.2022)       Статьи

Эволюция игрового серверного фреймворка на Python. Часть 2 из 2. Слои логики

В прошлый раз мы отделили логику от инфраструктуры и разбили последнюю на четыре слоя: Server → Parser → Application → Repository. Классы инфраструктуры составляют основной фреймворк, который берет на себя всю рутинную работу, а нам предоставляет писать одну только логику.

     25.07.2022       Выпуск 449 (25.07.2022 - 31.07.2022)       Статьи

Эволюция игрового серверного фреймворка на Python. Часть 1 из 2. Слои инфраструктуры

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

 

     25.07.2022       Выпуск 449 (25.07.2022 - 31.07.2022)       Статьи

Как организовать код в Python-проекте, чтобы потом не пожалеть

Python отличается от таких языков программирования, как C# или Java, заставляющих программиста давать классам имена, соответствующие именам файлов, в которых находится код этих классов.Python — это самый гибкий язык программирования из тех, с которыми мне приходилось сталкиваться. А когда имеешь дело с чем-то «слишком гибким» — возрастает вероятность принятия неправильных решений.

     25.07.2022       Выпуск 449 (25.07.2022 - 31.07.2022)       Статьи

Что не так с курсами по программированию, и зачем мы запустили еще один по Python

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

     25.07.2022       Выпуск 449 (25.07.2022 - 31.07.2022)       Статьи

OpenCV — быстрый старт: базовые операции с изображениями

Судя по количеству закладок на первой части, работа моя  —  не зряшная.
В прошлый раз разбирали скучное открывание-закрывание картинки, в этот раз засунем в неё руки поглубже

     24.07.2022       Выпуск 448 (18.07.2022 - 24.07.2022)       Статьи

Управление громкостью звука жестами на Python

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

     22.07.2022       Выпуск 448 (18.07.2022 - 24.07.2022)       Статьи

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

Это вторая статья из серии статей про создание бота на основе discord.py. В этой статье рассмотрим работу версиям, конфигами, а так же новым синтаксисом.

     22.07.2022       Выпуск 448 (18.07.2022 - 24.07.2022)       Статьи

Как я начал писать симулятор распределённой системы, а закончил WebAssembly

Несколько месяцев назад мне захотелось сдуть пыль со своего аккаунта в Steam и поиграть в старые игры про программирование.While True Learn в очередной раз показалась слишком скучной, я пару дней позалипал в TIS-100, реализуя свой многопоточный процессор, но в конечном итоге осознал, что интереснее не играть в игры про программирование, а самому писать такие игры.В статье рассказываю, что из этого получилось и на чём я сломался. Под катом —гремучая смесь из ссылок, картинок, теории распределённых систем и способов визуализации Python в 2022 году.

     22.07.2022       Выпуск 448 (18.07.2022 - 24.07.2022)       Статьи

OpenCV — быстрый старт: начало работы с изображениями

Перевожу родной OpenCV-шный стартовый туториал. И он хорош! (Сложно сказать, чем не понравились те, что уже есть.)Изначально туториал в виде ноутбука, поэтому что-то я убрал. А что-то добавил. В общем, это помесь перевода с пересказом. Айда разбираться

     21.07.2022       Выпуск 448 (18.07.2022 - 24.07.2022)       Статьи
     20.07.2022       Выпуск 448 (18.07.2022 - 24.07.2022)       Статьи

Как работают регулярные выражения, или Движок regex с анимацией

Регулярные выражения заслужили плохую репутацию. Кажется, при каждом упоминании они вызывают в воображении простыни текста, которые выглядят абсолютно бессмысленно.

     20.07.2022       Выпуск 448 (18.07.2022 - 24.07.2022)       Статьи
     20.07.2022       Выпуск 448 (18.07.2022 - 24.07.2022)       Статьи

Проект — электрический помощник для редакции RUVDS

Казалось бы, для чего редакции может понадобиться telegram-бот? Мы смогли вполне точно ответить на это, когда число наших авторов начало превышать разумные возможности редакторов. В новых экономических реалиях ценна каждая рабочая минута, потому встала задача убрать часть работы, связанной с повторяющимися вопросами, которые можно было бы свалить на бота, для улучшения комфорта взаимодействия всех сторон и, конечно, экономии бесценного времени. А учитывая, что большая часть общения происходит именно внутри телеграма, то и было принято решение завести себе там электрического помощника. Как говорится: телеграм-бот — это не только 40 строчек кода, но ещё и очень полезный выхлоп.

     19.07.2022       Выпуск 448 (18.07.2022 - 24.07.2022)       Статьи

Flutter на Python

Приветствую вас, дорогие любители и знатоки Python! Знали ли вы, что можно разрабатывать кросплатформенные приложения, используя всю мощь и выразительность своего любимого змеиного языка в связке с ныне популярным фреймворком Flutter? Оказывается, такая возможность есть! Всех заинтересовавшихся прошу под кат за деталями.

Недавно совершенно случайно наткнулся на Ютубе на ролик от индусских братьев, в котором рассказывали, о неком фреймворке под названием Flet. Что это такое?

     19.07.2022       Выпуск 448 (18.07.2022 - 24.07.2022)       Статьи

Восстанавливаем предложения из эмбеддингов LaBSE

На прошлой неделе меня дважды спрашивали, как восстановить текст предложения из его LaBSEэмбеддинга. Я дважды отвечал, что никак. Но на самом деле, конечно, можно обучить декодер генерировать текст по его эмбеддингу. Зачем?

     18.07.2022       Выпуск 448 (18.07.2022 - 24.07.2022)       Статьи

Тестируем слой БД в Python с использованием pytest и testcontainers

Несмотря на большую популярность библиотеки testcontainers в мире java, информации в сети по её применению в python практически нет. Даная статья - попытка ликвидировать этот пробел. Я не буду подробно рассказывать про pytest и testcontainers, что это такое можно почитать в интернете, я просто покажу пример того, как можно собрать это воедино.

 

     18.07.2022       Выпуск 448 (18.07.2022 - 24.07.2022)       Статьи
     18.07.2022       Выпуск 448 (18.07.2022 - 24.07.2022)       Статьи

Выгрузка отфильтрованных пользователем данных из таблицы в админке Django

Коллега обратился с запросом.

"Хочу забрать в свой уютный екзель данные с корпоративного сайта прямо в том виде, как я их там отфильтровал и отсортировал. Кнопку такую хочу рядом с табличкой сайта."

Сайт сделан на админке Django. Будем реализовывать это лапидарное ТЗ от коллеги.