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

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

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

Особенности асинхронности в Python

В этом посте я подробно расскажу о важной фиче, которая появилась в Python 3.5 — асинхронности. Затрону основные концепции и инструменты, приведу примеры кода. Пост будет полезен новичкам для понимания основ асинхронности и, может, даже опытным разработчикам в поиске новых идей и подходов.

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

Безопасная разработка на Python. Часть 3.О фреймворке Flask

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

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

Хорошая замена Celery

Речь пойдет о библиотеки для работы с AMPQ - aio-pika. Она имеет всего в районе 1К звёзд на GitHub (по сравнению с 20К+ у Celery). Я расмотрел абсолютно все популярные (500+ звёзд) решения и остановился именно на этом из-за активной (на текущий момент) разработке и относительной популярности.Стек, который вы увидите в статье: FastAPI, RabbitMQ, aio_pika и docker. Статья будет полезна тем кто использует Celery в своих проектах, а так же тем, кто только слышал о том, что такое очереди и RabbitMQ.

     20.05.2023       Выпуск 491 (15.05.2023 - 21.05.2023)       Статьи

Новый синтаксис для generic-типов в Python 3.12

Первоначально python как язык с динамической типизацией не предполагал никакого явного описания типов используемых объектов и список возможных действий с объектом определялся в момент его инициализации (или изменения значения). С одной стороны это удобно для разработчика, поскольку не нужно беспокоиться о корректности определения типов (но в то же время осложняло работу IDE, поскольку механизмы автодополнения требовали анализа типа выражения в ближайшей инициализации). Но это также приводило к появлению странных ошибок (особенно при использовании глобальных переменных, что само по себе уже плохое решение) и стало особенно неприятным при появлении необходимости контроля типа значений в коллекциях и созданию функций с обобщенными типами. В Python 3.12 будет реализована поддержка нового синтаксиса для generic-типов (PEP 695) и в этой статье мы обсудим основные идеи этого подхода.

     20.05.2023       Выпуск 491 (15.05.2023 - 21.05.2023)       Статьи

Дополнительная клавиатура своими руками

Давно интересовался как можно объединить микроконтроллеры, Python и пк, и мне в голову приходила идея дополнительной клавиатуры для пользователя, которая будет заменять сочетания клавиш, всего лишь одной кнопкой. Сначала я пробовал объединить платы NodeMCU на базе ESP8266 с пк, с помощью Python. Знаний для написания скетча на ардуино у меня не было, и погуглив, нашел язык MicroPython.

     20.05.2023       Выпуск 491 (15.05.2023 - 21.05.2023)       Статьи

Асинхронный ETL-процесс на Python

Продолжаю цикл статей по разработке ETL-процессов на Python. На этот раз мы преобразуем синхронный etl-процесс из статьи Пишем ETL-процесс на Python в асинхронный.

     19.05.2023       Выпуск 491 (15.05.2023 - 21.05.2023)       Статьи

Использование компьютерного зрения для игры в покер

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

     19.05.2023       Выпуск 491 (15.05.2023 - 21.05.2023)       Статьи

Проектирование ML-сервиса для прогнозирования котировок акций (для Advisors’ Axiom от Росбанка)

Задача сервиса — получение, оценка (классификация) финансово-экономических новостей на основе машинного обучения модели нейронной сети для классификации текстов финансово-экономической направленности по трем видам тональностей: 

     18.05.2023       Выпуск 491 (15.05.2023 - 21.05.2023)       Статьи

Восстановить удаленную фотографию с флешки? Искусственный интеллект в помощь

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

     18.05.2023       Выпуск 491 (15.05.2023 - 21.05.2023)       Статьи

TestRail для автоматизации тестирования. Делаем интеграцию: отправляем результаты и собираем репорты

Но сегодня речь не обо мне, как долго я этим занимаюсь, а только лишь об одном инструменте, с которым меня связывают лет пять работы. Речь пойдёт о TestRails. Я понимаю, что инструмент не новый, но всё-таки он ещё является достаточно популярным инструментом для ручного, и, что реже и больнее - автоматизированного тестирования. По-хорошему, поделиться своими наработками можно было раньше, но главное - это осознать такую необходимость, не правда ли?

     18.05.2023       Выпуск 491 (15.05.2023 - 21.05.2023)       Статьи

(Не)безопасная разработка, часть 2: заимствование метаданных популярных пакетов для подделки рейтинга Python-проектов

Недавно мы опубликовали статью о выявлении вредоносных пакетов в Python Package Index и с тех пор активно используем разработанный нами сервис для анализа проектов. Сегодня хотим поделиться с вами интересным наблюдением, связанным с накруткой репутационной статистики в проектах. Как нечаянно улучшить репутацию своего проекта, насколько распространена эта проблема и как в автоматическом режиме обнаружить подобные манипуляции — читайте под катом.

     18.05.2023       Выпуск 491 (15.05.2023 - 21.05.2023)       Статьи

Как заставить бэкендера писать фронтенд

Сегодня я хочу поделиться с вами историей написания очередной панели администрирования и как из этого мы собрали подходящие подходы и практики.Для начала давайте вспомним, что же это за панели. Панель администрирования (или админка) — это приложение, которое используется для управления и настройки приложения. То есть это такой продукт для продукта. Панели администрирования нужны для различных целей, например, для создания и редактирования контента, настройки параметров продукта или управления пользователями.Но иногда в проектах важна скорость и ресурсов на создание админки с привлечением команды фронтенда откровенно не хватает. И тогда бэкендеру приходится брать процесс в свои руки.

     18.05.2023       Выпуск 491 (15.05.2023 - 21.05.2023)       Статьи

Книга «Python для финансистов»

Программирование, математика и финансы неразрывно связаны между собой. Ив Хилпиш, автор бестселлера «Python для финансовых расчетов», объясняет базовые концепции и дает в ваши руки все необходимые инструменты для работы в мире финансовой инженерии.

     17.05.2023       Выпуск 491 (15.05.2023 - 21.05.2023)       Статьи

Что нового в SQLAlchemy 2.0?

Возможно, вы слышали, что основная версия SQLAlchemy 2.0, была выпущена в январе 2023 года. Или, может быть, вы пропустили объявление и это новость для вас. В любом случае, я подумал, что вам будет интересно узнать, что в нем нового, стоит ли его обновлять и насколько сложно это сделать.Как и в предыдущих обзорах программного обеспечения, это будет субъективный обзор. Я давно использую SQLAlchemy ORM в веб-проектах, поэтому в этой статье я расскажу о функциях, которые влияют на мою собственную работу, как в положительную, так и в отрицательную сторону. Если вместо этого вам интересно увидеть список всех изменений, внесенных в этот новый релиз, то официальный журнал изменений — это то что вам нужно.

     17.05.2023       Выпуск 491 (15.05.2023 - 21.05.2023)       Статьи

Создаем блог на Django с опросами и тестами. Краткая инструкция. Часть 1

Самый действенный способ изучить фреймворк — написать пет-проект. Например, свою социальную платформу на Django. Во время реализации можно попрактиковаться в работе с формами, представлениями, сигналами и SMTP. В Proglib собрали небольшой шаблон, на базе которого можно создать свой блог на Django, а после — задеплоить на виртуальный сервер. Материал будет полезен новичкам, которые знакомы с базовыми концепциями фреймворка и хотят закрепить знания.

     17.05.2023       Выпуск 491 (15.05.2023 - 21.05.2023)       Вопросы и обсуждения

Python Bytes: #336 We found one of your batteries

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

     16.05.2023       Выпуск 491 (15.05.2023 - 21.05.2023)       Статьи

Как написать расширение для Python Markdown

Пример простого расширения для Python-Markdown применительно для сайта на Django

     16.05.2023       Выпуск 491 (15.05.2023 - 21.05.2023)       Статьи

Точечные фильтры: алгоритмы и их реализация

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

 

     16.05.2023       Выпуск 491 (15.05.2023 - 21.05.2023)       Статьи

Как нейросеть достопримечательности на фотокарточках распознавала

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

     16.05.2023       Выпуск 491 (15.05.2023 - 21.05.2023)       Статьи

Тебе не нужно классическое ООП в твоём бэкенд микросервисе

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