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

Собрали в одном месте самые важные ссылки
и сделали Тренажер IT-инцидентов для DevOps/SRE

     27.12.2021       Выпуск 419 (27.12.2021 - 02.01.2022)       Статьи

Как мы оптимизировали i-запросы, а нашли неточности в документации Django (clickbait)

В современных веб-приложениях большинство запросов к базе данных пишется не на сыром SQL, а с использованием объектно-реляционного отображения (ORM). Оно автоматически генерирует SQL-запросы по привычному объектно-ориентированному коду. Однако эти запросы не всегда оптимальны,  и с  ростом нагрузки на веб-приложение встает вопрос их оптимизации. Как раз в ходе такой оптимизации наша команда обнаружила, что документация Django с нами не совсем честна.

     26.12.2021       Выпуск 418 (20.12.2021 - 26.12.2021)       Статьи

Django-sockpuppet, интересная альтернатива React, Vue, Angular или очередная заброшенная джанговская «батарейка»?

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

     10.12.2021       Выпуск 416 (06.12.2021 - 12.12.2021)       Статьи

Окей, Джанго, у меня к тебе несколько вопросов

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

     08.12.2021       Выпуск 416 (06.12.2021 - 12.12.2021)       Статьи

Django Rest Framework для начинающих: создаём API для записи и обновления данных (часть 2)

Продолжаем цикл статей, посвящённый основам Django Rest Framework. В предыдущей статье мы подробно рассмотрели, как сериалайзер валидирует входные данные.

 

В этой статье мы закрепим теорию на простом примере, а также затронем те вопросы, которые не успели рассмотреть раньше

     06.12.2021       Выпуск 416 (06.12.2021 - 12.12.2021)       Статьи

Деплоим приложение на Django в Kubernetes с нуля

Нашей компании уже 6 лет, и 4 из них мы живем с Kubernetes. До этого мы испытали все варианты деплоя приложений на серверах: начиная от простого git pull до ci/cd на нескольких серверах.

     29.11.2021       Выпуск 415 (29.11.2021 - 05.12.2021)       Статьи

Метаклассы в Python

Возможен вопрос: а что такое метакласс? Если коротко, метакласс относится к  классу точно как класс к объекту.

Метаклассы – не самый популярный аспект языка Python; не сказать, что о них воспоминают в каждой беседе. Тем не менее, они используется в весьма многих статусных проектах: в частности, Django ORM[2], стандартная библиотека абстрактных базовых классов (ABC)[3] и реализации Protocol Buffers [4].

     20.11.2021       Выпуск 413 (15.11.2021 - 21.11.2021)       Статьи

Асинхронному django быть

Эта статья о фреймворке для перфекционистов с дедлайнами, и о том, можно ли добавить в него асинхронность. Некоторые в курсе, что со стороны Django Foundation также есть некоторые усилия в этом направлении. Например, есть DEP-09, который примерно очерчивает границы будущих изменений. Причём, некоторые преобразования, на взгляд авторов, слишком объёмные, и про них явно говорится, что они выходят за рамки DEP. Такой, например, является задача сделать django orm асинхронной. Учитывая, что, по любым меркам, django orm - это больше 50% всего django, а на мой взгляд - его главная часть, DEP-09 мне кажется какими-то непонятными полумерами.

     12.10.2021       Выпуск 408 (11.10.2021 - 17.10.2021)       Статьи

Django Admin с миллионами записей — 11 практик оптимизаций для начинающих

Django — самый популярный Python web-framework. За больше чем 10 лет оброс огромным слоем возможностей. Среди них можно выделить — Django Admin — это готовый CRUDL интерфейс с поиском, фильтрами и хитрыми настройками. Каждый раз стартуя проект на Django, удивляюсь насколько круто иметь админку — web интерфейс просмотра данных. Да еще и бесплатно. Каждый раз поддерживая проект на Django, удивляюсь, как же сложно поддерживать админку в рабочем состоянии. В этой статье я постараюсь привести 11 практик, которые позволят избегать тормозов админки максимально долго.

     12.10.2021       Выпуск 408 (11.10.2021 - 17.10.2021)       Статьи

SQL в SQLAlchemy

Меня зовут Алексей Казаков, я техлид команды «Клиентские коммуникации» в Домклик. По моему опыту подавляющее большинство приложений, взаимодействующих с базой данных, использовали для этого Object Relational Mapper. В этой статье я продолжу знакомить вас с популярными ORM, которые встречались мне в продовых проектах. В прошлый раз мы рассматривали Django ORM , а сегодня на очереди всемогущий SQLAlchemy.

     12.10.2021       Выпуск 408 (11.10.2021 - 17.10.2021)       Статьи

Wagtail — лучшая CMS на python в нашей галактике

Wagtail - это популярная CMS на основе Django. Django предоставляет огромные возможности - с его помощью созданы не только сайты, но и, например, популярный веб-сервис комментариев disqus, веб-сервис хранения git репозиториев bitbucket и многое другое. На django можно создать все что угодно.

 

     06.10.2021       Выпуск 407 (04.10.2021 - 10.10.2021)       Статьи

Тестируем собственную батарейку для Django с pytest и tox

Итак, у нас есть идея потрясающей и всем необходимой батарейки для Django. После того, как мы написали весь код мы готовы релизнуть нашу батарейку в PyPI. Однако перед этим мы должны разобраться с несколькими моментами

     28.09.2021       Выпуск 406 (27.09.2021 - 03.10.2021)       Статьи
     16.09.2021       Выпуск 404 (13.09.2021 - 19.09.2021)       Статьи
     16.09.2021       Выпуск 404 (13.09.2021 - 19.09.2021)       Статьи

Отображение объектов на картах в админке Django

Бесплатная, с открытым исходным кодом библиотека DjangoAdminGeomap предназначена для отображения объектов на карте в админке Django.

     11.09.2021       Выпуск 403 (06.09.2021 - 12.09.2021)       Статьи

Как серверу на Django знать своих клиентов на React в лицо, практическое руководство

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

Достаточно несложно в React нарисовать форму, где можно позволить пользователям вводить свои учетные данные, включающие в себя логин и пароль. Не стоит практически никаких усилий, чтобы на Django сверить пароль, соответствующий логину в базе данных. Но что дальше? Обзор получился достаточно объемный с примерами кода, которые помогут воссоздать реализацию всех схем аутентификации/авторизации.

     09.09.2021       Выпуск 403 (06.09.2021 - 12.09.2021)       Статьи
     31.08.2021       Выпуск 402 (30.08.2021 - 05.09.2021)       Статьи
     26.08.2021       Выпуск 401 (23.08.2021 - 29.08.2021)       Статьи

Low-Level Cache API in Django

This article looks at how to use the low-level cache API in Django.

     24.08.2021       Выпуск 401 (23.08.2021 - 29.08.2021)       Статьи

Принимаем на работу брокера для Celery: подбор, аджаст и выкатка

У Яндекса много самописных сервисов для внутренних задач: Яндекс.Формы, Яндекс.Диск, трекер, календарь. Со временем их решили использовать не только внутри компании, но и за ее пределами. Так появилась платформа Яндекс.Коннект.

Большинство сервисов Коннекта построено на Python V3. В качестве web-фреймворка используется Django, реже Flask и Tornado, а новые чаще пишутся на FastAPI. Сервисы, как и базы PostgreSQL, MySQL и MongoDB, живут в облаке. В качестве очереди сообщений почти везде используется Celery с MongoDB в качестве брокера. Он и стал проблемой.