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

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

     29.05.2023       Выпуск 493 (29.05.2023 - 04.06.2023)       Статьи

Как я использовал Pytest для написания QA-тестов, гарантированно обходящих 2FA

Тестирование страниц входа и согласия может быть довольно сложным: та же самая двухфакторная аутентификация (2FA), которая обеспечивает безопасность ваших клиентов, также затрудняет написание автоматизированных тестов. В этой статье я расскажу, как написал Python-тесты, которые обходят 2FA и при этом не покушаются на  безопасность клиентов. Для этого я использовал Selenium и разработал Slackbot.

     28.05.2023       Выпуск 492 (22.05.2023 - 28.05.2023)       Статьи

Сравнение нейросетей для перевода

С помощью GPT-4 можно решать самые разнообразные задачи по преобразованию текста, включая перевод на разные языки.Мне стало интересно, кто переводит лучше: GPT-4 или специализированные нейронки для перевода, такие как Google Translate и DeepL?Сегодня мы сравним качество перевода от различных нейросетей на 24 языковых парах.

     27.05.2023       Выпуск 492 (22.05.2023 - 28.05.2023)       Статьи

Я написал одну из самых быстрых библиотек датафреймов

У меня в портфолио есть несколько готовых пет-проектов на Rust, и я заметил, что позиция «а у нас уже получилась DataFrame?» нисколько меня не устраивает. Поэтому я подумал, не сделать ли мне элементарный контейнер, который решал бы мою конкретную задачу. Но этот проект вышел из-под контроля.

     26.05.2023       Выпуск 492 (22.05.2023 - 28.05.2023)       Статьи

Пишем первый ML-пайплайн на Airflow: подробный туториал

В этом туториале мы пошагово разберем, как создать с нуля и запустить локально свой первый пайплайн на Airflow. Данный пайплайн специально адаптирован под задачи машинного обучения. В этом примере мы будем загружать новости из открытого источника и использовать NLP-модель для их классификации (zero-shot classification).

     26.05.2023       Выпуск 492 (22.05.2023 - 28.05.2023)       Статьи

Книга «Рекурсивная книга о рекурсии»

Книга «Рекурсивная книга о рекурсии» содержит примеры кода на языке Python и JavaScript, которые иллюстрируют основы рекурсии и проясняют фундаментальные принципы всех рекурсивных алгоритмов. Из книги вы узнаете о том, когда стоит использовать рекурсивные функции (и, главное, когда этого не нужно делать), как реализовывать классические рекурсивные алгоритмы, часто обсуждаемые на собеседованиях, а также о том, как рекурсивные методы помогают решать задачи, связанные с обходом дерева, комбинаторикой и другими сложными темами.

     26.05.2023       Выпуск 492 (22.05.2023 - 28.05.2023)       Статьи

Клеточные автоматы. Игра «Жизнь». Часть 1

В этой статье мы поговорим о 'Жизни' - игре без участия человека, которую можно описать и провести с помощью карандаша и клетчатого листа бумаги. Всё начинается с нескольких простых правил, но куда это приведёт? Ответ поразит вас!Не пугайтесь, всё довольно просто: даже ребенок может разобраться. Но несмотря на простоту, 'Жизнь' таит в себе уйму интересных вопросов и задач.В статье мы покажем, как создать красивую симуляцию 'Жизни' на Python.

     25.05.2023       Выпуск 492 (22.05.2023 - 28.05.2023)       Статьи

Propan — Python фреймворк для написания микросервисов с использованием брокеров сообщений

Так исторически сложилось, что последние 5 лет своей продуктовой разработки я работаю с микросервисами вокруг брокеров сообщений (преимущественно RabbitMQ и Kafka).

И все это время меня не покидало чувство некой неудовлетворенности и неполноценности инструментария, который был мне доступен.

     25.05.2023       Выпуск 492 (22.05.2023 - 28.05.2023)       Статьи

Правильное подключение к БД: почему, зачем и как

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

     24.05.2023       Выпуск 492 (22.05.2023 - 28.05.2023)       Статьи

Как поиск жилья заставил менеджера вспомнить программирование и уйти из Яндекса

В 2019ом году я работал продактом в Яндекс.Погоде и мечтал запилить что-то свое. Начал смотреть, какие есть большие рынки и в чем их боль. Перебирая варианты, вспомнил, каким изнуряющим был для меня поиск съемного жилья. 

     24.05.2023       Выпуск 492 (22.05.2023 - 28.05.2023)       Статьи

Как мы сделали игру для разработчиков в телеграм на 10+ тыс юзеров

Это создатель игры Dev's Battle (Образовательной MMO-RPG игры для разработчиков в Телеграм). В этой статье я решил рассказать про наш опыт создания продукта в телеграм. Надеюсь, что данная статья будет полезна всем кто сейчас разрабатывает или думает разрабатывать какие-либо продукты в телеграме.

     24.05.2023       Выпуск 492 (22.05.2023 - 28.05.2023)       Вопросы и обсуждения

Python Bytes: #337 Backtracking For a Package

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

     24.05.2023       Выпуск 492 (22.05.2023 - 28.05.2023)       Статьи

Elsie: программируемые презентации

Как известно, существует целый ряд инструментов для создания информативных технических слайдов, и у этих инструментов есть свои недостатки.

     24.05.2023       Выпуск 492 (22.05.2023 - 28.05.2023)       Статьи

Реализация функции потерь Triplet Loss в Python (функция тройных потерь)

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

     24.05.2023       Выпуск 492 (22.05.2023 - 28.05.2023)       Статьи

Mela: асинхронный фреймворк на Python для сервисов, работающих с RabbitMQ

В 2023 году писать сервисы, взаимодействующие друг с другом через RabbitMQ, всё ещё неоправданно сложно. Ещё больше сложностей возникает с тестированием бизнес-логики в них, с согласованием контрактов между ними, с организацией монорепозиториев.

     23.05.2023       Выпуск 492 (22.05.2023 - 28.05.2023)       Статьи

Все DETRы мира. Часть 1

Я - большой фанат задачи детекции, она мне нравится по всем критериям. Она самая интересная концептуально - одновременно нужно и искать объекты, и определять их тип. Классификация целых изображений скучновата и не так часто применима на практике (по крайней мере в медицине), а сегментация мне кажется нудноватой - ну их, эти конкретные пиксели. Ещё статьи про детекцию - самые интересные для меня в техническом плане. Мне нравится разбираться в разных видах архитектур - anchor-based и anchor-free, one-stage и multi-stage, а ещё я очень люблю разные крутые идеи, которые улучшают тот или иной компонент детекционного пайплайна - например,PISA для умного взвешивания разных сэмплов в лоссе,Precise RoIPooling иDeformable RoIPooling для более точного и хитрого пулинга фичей,D2Det для декаплинга задач локализации и классификации,SoftNMS для замены традиционного NMS.

     23.05.2023       Выпуск 492 (22.05.2023 - 28.05.2023)       Статьи

Как разработать модель выявления связанных компаний на основании анализа транзакций

Сегодня мы хотим поделиться с вами процессом разработки модели выявления связанных компаний на основании транзакционных данных. Пришли к нам заказчики и говорят: «Хотим по имеющимся транзакциям наших клиентов определять, кто из контрагентов является с ними связанным».

     23.05.2023       Выпуск 492 (22.05.2023 - 28.05.2023)       Статьи

Пишем на Python как на Rust

Я начал программировать на Rust несколько лет назад, и это постепенно изменило мой подход к разработке программ на других языках программирования, особенно на Python. До того, как я начал использовать Rust, я обычно писал код на Python очень динамично, без подсказок типов, повсюду передавая и возвращая словари и время от времени возвращаясь к интерфейсам со «строковой типизацией». Однако, испытав на себе строгость системы типов Rust и заметив все проблемы, которые она предотвращает, я внезапно стал сильно беспокоиться всякий раз, когда возвращался к Python и не получал тех же гарантий.

     23.05.2023       Выпуск 492 (22.05.2023 - 28.05.2023)       Статьи

Улучшенная эвристика при квантовании цветовой палитры

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

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

 

     22.05.2023       Выпуск 492 (22.05.2023 - 28.05.2023)       Статьи

Поймай меня, если сможешь: руководство по обработке исключений в Python

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