В Python методы - это мощный инструмент для организации кода и выполнения действий как на уровне объектов, так и на уровне классов. Давайте ближе познакомимся с различными типами методов, доступными в Python.
Читать далееДекораторы - одни из самых часто используемых инструментов в Python и предназначен для добавления дополнительного функционала данной функции без изменения содержимого.
В этой статье я покажу как можно создать и использовать декораторы.
Декораторы и их использование в экосистеме Python
Декоратор — это функция, которая позволяет обернуть другую функцию для расширения её функциональности без непосредственного изменения её кода.
Например , в документации Django вы можете увидеть такой код , где для кеширования вьюхи предлагают использовать декоратор cache_page
Читать далее
Иногда возникает необходимость запустить определенную программу на вашем компьютере или выполнить команды в операционной системе Linux из Python кода
Модуль subprocess
был введен в Python с целью предоставить более мощный и гибкий способ выполнения внешних команд и программ из Python кода. Это произошло в Python 2.4, а затем функциональность была улучшена и расширена в более поздних версиях Python 2.x и Python 3.x.
Если вы создаете новый проект на Django , то я рекомендую использовать пользовательскую модель User, которая расширяется от подкласса AbstractBaseUser вместо встроенной django.contrib.auth.models.User.
Вы конечно , можете этого не делать и использовать другие стратегии , такие как использование прокси-модели , использование связи один-к-одному с пользовательской моделью и создание пользовательской модели с помощью расширения AbstractUser, но по моему личному мнению расширения от подкласса AbstractBaseUser является самым гибким способом, хоть и вначале требует определенных усилий для его реализации.
Если вы разрабатываете свои проекты на Django , то вы легко можете разработать API с помощью замечательной библиотеки Django REST framework(DRF) . Но иногда бывает полезно рассматривать альтернативы и другие технологии , которые специально заточены для реализации данных задач. И при том эти фреймворки учитывают плюсы и минусы существующих технологий и разрабатываются с учетом новых возможностей языка Python.
Одним из таких современных фреймворков , который разрабатывался для построения API является фреймворк FastAPI
Многие начинающие разработчики на Django при работе с Django ORM сталкиваются с проблемой известной как "N+1 запрос". Это неэффективное обращение к базе данных , когда для получения связанных данных для каждого объекта генерируется новый запрос. В предыдущем посте, мы рассмотрели как это проблема решается с помощью использования select_related. Но там мы рассматривали связь многое-к-одному.
А что если у нас связь много-к-многим? Как быть в такой ситуации ?
Читать далее
Django ORM - это прекрасный инструмент , который позволяет нам работать с базой данных и при этом не используя голые запросы. Из-за этого начинающие разработчики допускают ошибки.
Рассмотрим самый распрастраненный и классический случай.
Читать далее
В этой статье мы разберем , что такое GIL. Для чего его реализовали в Python и какие проблемы он решает и какие проблемы он создает и почему его не убирают из Python. Нужно отметить тот факт, что GIL используется наиболее распространенной реализации интепретатора Python , а именно в CPython.
Docker - это ПО для автоматизации развёртывания и управления приложениями в средах с поддержкой контейнеризации и бла-бла-бла. Короче , все заумно и ничего неясно. Какая еще контейнеризация и автоматизация управления.
И еще все эти контейнеры , images , volumes и все такое. Короче запутаться можно и погрязнуть в этой теории.
Поэтому мы в данной статье будем на практике исползовать docker и по ходу будем в ней разбираться.
Читать далее
psql - это интерактивная программа , которая позволяет взаимодействовать с сервером базы данных. В этой программе мы можем выполнять операторы SQL и выполнять команды предоставляемые этой программой для изменения объектов баз данных.
Вот некоторые основные команды psql (клиент PostgreSQL) с их описанием и примерами
Читать далее
В этой статье воспользуемся замечательной библиотекой vk_api,
которая позволяет очень легко взаимодействовать с сайтом Вконтакте. И напишем простой скрипт с ее использованием , который выводит список песен , которые есть в ваших аудиозаписях
Pandas - это Python библиотека для обработки и анализа данных. Эта библиотека построена поверх библотеки NumPy, которая написана на С и славится своим быстройдествием.
Реализуем Rest Api на стороне сервера
Это очень легко реализовать с помощью DRF.
У нас есть модель Post и для него мы реализуем сериализатор.
Amazon Web Services (AWS)- это облачная платформа, разработанная и поддерживаемая компанией Amazon c 2006 года.
Эта платформа предоставляет огромное количествео сервисов , которые вы можете использовать для решения самых различных задач.
В данной статье мы рассмотрим библиотеку Boto3 , которая предоставляет SDK для работы с AWS с использованием языка программирования Python.
В процессе разработки программ мы часто игнорируем логирование. И для отладки программ мы используем вывод средствами print. И это большая ошибка , так как логирование играет большую роль при разработке надежных программных систем. Так как устранение ошибок производится не только на этапе разработки , но и на этапе продакшена могут возникать неполадки , которые требуют оперативного реагирования и решения. При правильном введении логировани мы можем упростить обнаружение неполадок и оперативное их устранение
Читать далееПодпишитесь на наш список рассылки, чтобы получать обновления из блога