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

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

     05.05.2023       Выпуск 489 (01.05.2023 - 07.05.2023)       Статьи

Безопасная разработка в Python. 2 часть

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

     05.05.2023       Выпуск 489 (01.05.2023 - 07.05.2023)       Статьи

Как я написал удобную оболочку над электронным дневником

Статья о том, как я в 15 лет облегчил работу с электронным дневником, представленным Кировской области в 2022 году.Что получилось сделать и как это было реализовано.

     05.05.2023       Выпуск 489 (01.05.2023 - 07.05.2023)       Статьи

Книга «Python для хакеров. Нетривиальные задачи и проекты»

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

     05.05.2023       Выпуск 489 (01.05.2023 - 07.05.2023)       Статьи

Асинхронные задачи с FastAPI и Celery

Если в приложении есть длительные процессы, то вместо того, чтобы блокировать основной поток, вы должны обрабатывать их в фоновом режиме.Чтобы достичь этого, мы расскажем вам о процессе настройки Celery и Redis для обработки длительно выполняющихся процессов в приложении FastAPI. Мы также будем использовать Docker и Docker Compose, чтобы связать все воедино. Наконец, мы рассмотрим, как протестировать задачи Celery с помощью модульных (unit) и интеграционных тестов.

     04.05.2023       Выпуск 489 (01.05.2023 - 07.05.2023)       Статьи

Как человек посередине помогает крутить прокси для парсинга

Каждый, кто занимался сбором данных во «внешнем мире» знает, что этот мир жесток. И парсер сторонних сайтов всегда может наткнуться на какие-то блокировки, задержки и множество других проблем, которые либо замедляют работу, либо вообще делают парсинг невозможным. Лимиты по IP и капча — нам не друзья. Поэтому было решено сделать инструмент, позволяющий с ними бороться.

     04.05.2023       Выпуск 489 (01.05.2023 - 07.05.2023)       Статьи

PySpark для аналитика. Как правильно просить ресурсы и как понять, сколько нужно брать

Эта статья будет полезна аналитикам, дата-инженерам и специалистам по обработке больших данных, а также тимлидам команд, которые работают с Apache Spark для решения задач аналитики и машинного обучения. Вы узнаете, как правильно задавать параметры Spark-сессии, чтобы получить ресурсы.

     04.05.2023       Выпуск 489 (01.05.2023 - 07.05.2023)       Видео

Притворяемся языковой моделью: учимся генерировать текст на Python с помощью цепи Маркова

Разберем что такое большие языковые модели, рассмотрим принцип генерации текста, и напишем свой генератор текста на Python, используя цепи Маркова.

     03.05.2023       Выпуск 489 (01.05.2023 - 07.05.2023)       Статьи

Как ускорить бинарный поиск

Я решил рассказать о том, как ускорить обычный бинаный поиск в сотни раз и искать данные в обычном текстовом файле БЫСТРЕЕ, чем при использовании класических баз данных. Сейчас я попробую решить задачу бинарного поиска без них, расскажу об основных способах оптимизации, а в конце проведу сравнение. Это вполне реальная задача, с которой я столкнутся при разработке собственного проекта, а поэтому мне есть что вам рассказать.

     03.05.2023       Выпуск 489 (01.05.2023 - 07.05.2023)       Статьи

Особенности работы с русской кодировкой при загрузке файлов через aiohttp

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

     03.05.2023       Выпуск 489 (01.05.2023 - 07.05.2023)       Статьи

Шпаргалка: fixture в pytest

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

     04.05.2023       Выпуск 489 (01.05.2023 - 07.05.2023)       Релизы

django-taggit - 4.0.0

Приложение для поддержки тегов в Django. Приложение будет крайне полезно на сайте с новостями, которые необходимо помечать тегами, так же можно легко реализовать сортировку по тегам.. Скачать можно по ссылке: https://pypi.python.org/pypi/django-taggit/

     01.05.2023       Выпуск 489 (01.05.2023 - 07.05.2023)       Статьи

Проверка GIL в python

Когда-то давно я узнал что в python есть Threading. Потом я узнал про GIL. Вариантов как его обойти - масса, но я решил провести небольшое исследование и написать про то, в каких случаях стоит использовать и какие библиотеки многопоточности. Я встречал на хабре статью про GIL, там описано это всё более подробно и более глубоко. Но мне, на тот момент только начавшему разбираться в многопоточности было сложно разобраться в том что там к чему, поэтому я решил сделать своё исследование, а спустя долго время и написать о нём здесь (естественно переписав всё исследование почти с нуля)

     01.05.2023       Выпуск 489 (01.05.2023 - 07.05.2023)       Статьи

Создание DSL на Python с библиотекой textx

textX - это инструмент для создания языковых моделей (DSL) на Python. Он позволяет быстро и легко определить грамматику языка и сгенерировать парсер для этого языка. textX распространяется с открытым исходным кодом, легко интегрируется с другими инструментами Python и может быть использован в различных проектах, где необходимо определять и обрабатывать языки на основе текста.

     01.05.2023       Выпуск 489 (01.05.2023 - 07.05.2023)       Статьи

Ускоряем Python в сто раз при помощи менее чем ста строк на Rust

Однажды на работе у нас возникла проблема с производительностью одной из наших основных Python-библиотек.

Эта библиотека формирует фундамент нашего конвейера 3D-обработки. Это довольно большая и сложная библиотека, использующая NumPy и другие научные пакеты Python для выполнения широкого спектра математических и геометрических операций.

     29.04.2023       Выпуск 488 (24.04.2023 - 30.04.2023)       Учебные материалы

Про книгу Энтони Шоу «Внутри CPython»

Обзор книги Энтони Шоу "Внутри CPython".

     29.04.2023       Выпуск 488 (24.04.2023 - 30.04.2023)       Статьи

7 подходов к проверке атрибутов классов в Python

Проверка типов и проверка значений обрабатываются в Python гибким и неявным образом. В Python начиная с Python 3 появился модуль 1typing, который обеспечивает поддержку подсказок типов во время 2выполнения. Но для проверки значений не существует единого способа проверки.

     29.04.2023       Выпуск 488 (24.04.2023 - 30.04.2023)       Статьи

Оптимизируем использование памяти в приложениях Python

Когда дело доходит до оптимизации производительности, чаще всего особое внимание уделяется скорости и активности использования ЦП. Гораздо реже кто-либо задумывается о потреблении памяти, конечно, пока не будут израсходованы мощности RAM. Есть много причин, по которым предпринимаются попытки лимитировать использование памяти – не только стремление избежать отказа приложения из-за ошибок, связанных с её исчерпанием. В этой статье будет исследовано, как находить в ваших приложениях на Python такие участки, где возникает перерасход памяти, проанализировано, по каким причинам это происходит. Наконец, мы научимся снижать использование памяти и сокращать отпечаток программы в памяти, пользуясь простыми приёмами и эффективными структурами данных.

     28.04.2023       Выпуск 488 (24.04.2023 - 30.04.2023)       Статьи

За границей Hello World: полный гайд по разработке Telegram ботов с помощью Python и Aiogram 3. Часть 1

Нетипичный туториал по разработке Telegram-бота на Python и Aiogram 3. В отличие от большинства гайдов и туториалов про разработку ботов «для новичков», здесь будут рассмотрены все аспекты создания бота, от установки редактора кода до подключения оплаты и развёртывания на сервере. В первой части мы рассмотрим подготовку окружения, файловую структуру бота и напишем первый рабочий код бота.

     28.04.2023       Выпуск 488 (24.04.2023 - 30.04.2023)       Статьи

Network configuration compliance и как его готовить

TLDR: в этой статье я рассуждаю о подходах к организации валидации конфигураций сетевых железок и презентую свой плагин для NetBox, позволяющий легко создавать эти самые комплаенс‑тесты.

     25.04.2023       Выпуск 488 (24.04.2023 - 30.04.2023)       Статьи

Python Дайджест: как ускорить Django проект до (почти) максимума

Завершение цикла статей про техническое оживление Python Дайджест. В первых трех частях рассказано как был совершен переход с Python 3.4 на Python 3.11 и Django 4, отформатирована вся кодовая база с pre-commit, настроена автоматизация задач на основе Github Actions. В заключительной части расскажу как получить "быстрый" сайт.