Способы обхода GIL для повышения производительности
Global Interpreter Lock в Питоне предотвращает одновременное выполнение нескольких потоков в одном процессе интерпретатора Python. Т.е даже на многоядерном процессоре многопоточные Python-приложения будут выполняться только в одном потоке за раз. Это было введено для некой потокобезопасности при работе с объектами Python, упрощая тем самым разработку на уровне интерпретатора.
На первый взгляд, GIL кажется разумным компромиссом для упрощения разработки. Однако, когда есть многоядерные процессоры и появляется необходимость в высокопроизводительных вычислениях GIL серьезно ограничивает возможности масштабирования и параллельную работу.
В этой статье автор рассмотрел способы обхода GIL.
Подробнее👇
#статьи
@python_practics
Global Interpreter Lock в Питоне предотвращает одновременное выполнение нескольких потоков в одном процессе интерпретатора Python. Т.е даже на многоядерном процессоре многопоточные Python-приложения будут выполняться только в одном потоке за раз. Это было введено для некой потокобезопасности при работе с объектами Python, упрощая тем самым разработку на уровне интерпретатора.
На первый взгляд, GIL кажется разумным компромиссом для упрощения разработки. Однако, когда есть многоядерные процессоры и появляется необходимость в высокопроизводительных вычислениях GIL серьезно ограничивает возможности масштабирования и параллельную работу.
В этой статье автор рассмотрел способы обхода GIL.
Подробнее👇
#статьи
@python_practics
👍4
GPT-3. Руководство по использованию API OpenAI
Чему вы научитесь:
• Основам работы с API OpenAI для доступа к модели GPT-3;
• Форматированию и отправке запросов к API для получения текстовых ответов от модели;
• Использованию различных параметров запроса для настройки работы модели, таких как температура, максимальная длина ответа и прочие;
• Обработке и интерпретации ответов от модели GPT-3;
• Реализации различных приложений и сервисов, использующих API GPT-3 для генерации текста.
Эта книга предназначена для разработчиков, исследователей и всех, кто интересуется использованием и применением модели GPT-3 в своих проектах.
Книга в формате pdf👇
#курсы_книги
@python_practics
Чему вы научитесь:
• Основам работы с API OpenAI для доступа к модели GPT-3;
• Форматированию и отправке запросов к API для получения текстовых ответов от модели;
• Использованию различных параметров запроса для настройки работы модели, таких как температура, максимальная длина ответа и прочие;
• Обработке и интерпретации ответов от модели GPT-3;
• Реализации различных приложений и сервисов, использующих API GPT-3 для генерации текста.
Эта книга предназначена для разработчиков, исследователей и всех, кто интересуется использованием и применением модели GPT-3 в своих проектах.
Книга в формате pdf👇
#курсы_книги
@python_practics
👍2
С помощью какой функции можно вызвать метод из родительского класса python?
Anonymous Quiz
59%
super()
33%
self()
8%
meth()
🔥7
Мониторинг Celery
Существует популярный подход к покрытию метриками Celery: он заключается в запуске некоторого процесса, который слушает события из специальной очереди, на основе этих событий обновляются объекты метрик, а фоновый поток сервера отдаёт собранные метрики скраперу. В этой статье автор подробно разобрал события, их жизненный цикл, откуда и как их принимать. Также рассмотрел механизм удалённого управления (remote control), какие у него есть возможности и как им пользоваться. Обсудил существующие решения, чем они отличаются, и почему вам, возможно, будет выгодно сделать своё.
Подробнее👇
#статьи
@python_practics
Существует популярный подход к покрытию метриками Celery: он заключается в запуске некоторого процесса, который слушает события из специальной очереди, на основе этих событий обновляются объекты метрик, а фоновый поток сервера отдаёт собранные метрики скраперу. В этой статье автор подробно разобрал события, их жизненный цикл, откуда и как их принимать. Также рассмотрел механизм удалённого управления (remote control), какие у него есть возможности и как им пользоваться. Обсудил существующие решения, чем они отличаются, и почему вам, возможно, будет выгодно сделать своё.
Подробнее👇
#статьи
@python_practics
👍2
Внимание! - Вопрос!
Что такое интроспекция?
Интроспекция — это способность программы исследовать тип или свойства объекта во время работы программы. Вы можете поинтересоваться, каков тип объекта, является ли он экземпляром класса. Некоторые языки даже позволяют узнать иерархию наследования объекта. Возможность интроспекции есть в таких языках, как Ruby, Java, PHP, Python, C++ и других. В целом, инстроспекция — это очень простое и очень мощное явление.
#вопросы_из_собеседований
@python_practics
Что такое интроспекция?
#вопросы_из_собеседований
@python_practics
👍3
Задача:
Ваша команда пишет новый модный текстовый редактор, и вам было поручено реализовать нумерацию строк.
Напишите функцию, которая принимает список строк и возвращает каждую строку, перед которой стоит правильный номер.
Пример:
#задачник
@python_practics
Ваша команда пишет новый модный текстовый редактор, и вам было поручено реализовать нумерацию строк.
Напишите функцию, которая принимает список строк и возвращает каждую строку, перед которой стоит правильный номер.
Пример:
[] --> []
["a", "b", "c"] --> ["1: a", "2: b", "3: c"]
#задачник
@python_practics
👍3👎1
Получение данных Exif для фотографий
Используйте модуль Python Pillow для получения Exif-данных любой фотографии.
👍 - если было полезно
#полезные_сниппеты
@python_practics
Используйте модуль Python Pillow для получения Exif-данных любой фотографии.
👍 - если было полезно
#полезные_сниппеты
@python_practics
👍9
Внимание! - Вопрос!
Что такое рефлексия?
Интроспекция позволяет вам изучать атрибуты объекта во время выполнения программы, а рефлексия — манипулировать ими. Рефлексия — это способность компьютерной программы изучать и модифицировать свою структуру и поведение (значения, мета-данные, свойства и функции) во время выполнения. Простым языком: она позволяет вам вызывать методы объектов, создавать новые объекты, модифицировать их, даже не зная имён интерфейсов, полей, методов во время компиляции. Из-за такой природы рефлексии её труднее реализовать в статически типизированных языках, поскольку ошибки типизации возникают во время компиляции, а не исполнения программы (подробнее об этом здесь). Тем не менее, она возможна, ведь такие языки, как Java, C# и другие допускают использование как интроспекции, так и рефлексии (но не C++, он позволяет использовать лишь интроспекцию).
#вопросы_из_собеседований
@python_practics
Что такое рефлексия?
#вопросы_из_собеседований
@python_practics
👍4
Freezegun
Библиотека поможет, если нужно протестировать работу программы в конкретный период. Она «замораживает» параметры даты и времени на определенной точке, нужной программисту. Это может быть полезно, например, если тестируемая программа должна работать по-разному в зависимости от времени суток или дня недели.
Подробнее👇
#фреймворки_библиотеки
@python_practics
Библиотека поможет, если нужно протестировать работу программы в конкретный период. Она «замораживает» параметры даты и времени на определенной точке, нужной программисту. Это может быть полезно, например, если тестируемая программа должна работать по-разному в зависимости от времени суток или дня недели.
Подробнее👇
#фреймворки_библиотеки
@python_practics
👍5❤1
Поиск в Google
Вы можете извлечь URL Retargeting из поисковой системы Google, установить следующий модуль упоминания и следовать коду.
👍 - если было полезно
#полезные_сниппеты
@python_practics
Вы можете извлечь URL Retargeting из поисковой системы Google, установить следующий модуль упоминания и следовать коду.
👍 - если было полезно
#полезные_сниппеты
@python_practics
👍10