📖 Asyncio и конкурентное программирование на Python.
• Если типичную программу на стандартном Python подвергнуть слишком высокой нагрузке, то она будет работать с черепашьей скоростью. Для решения этой проблемы была разработана библиотека #asyncio, которая позволяет разбить программу на более мелкие задачи и планировать их выполнение.
• По итогу получающиеся приложения работают молниеносно и допускают масштабирование. В этой книге асинхронное, параллельное и конкурентное программирование рассматривается на конкретных примерах. Сложные для понимания вопросы иллюстрируются с помощью диаграмм, позволяющих наглядно представить, как работают задачи.
#RU
• Если типичную программу на стандартном Python подвергнуть слишком высокой нагрузке, то она будет работать с черепашьей скоростью. Для решения этой проблемы была разработана библиотека #asyncio, которая позволяет разбить программу на более мелкие задачи и планировать их выполнение.
• По итогу получающиеся приложения работают молниеносно и допускают масштабирование. В этой книге асинхронное, параллельное и конкурентное программирование рассматривается на конкретных примерах. Сложные для понимания вопросы иллюстрируются с помощью диаграмм, позволяющих наглядно представить, как работают задачи.
#RU
Python | Программирование
📖 Asyncio и конкурентное программирование на Python. • Если типичную программу на стандартном Python подвергнуть слишком высокой нагрузке, то она будет работать с черепашьей скоростью. Для решения этой проблемы была разработана библиотека #asyncio, которая…
Asyncio_и_конкурентное_программирование_на_Python.pdf
13.3 MB
Asyncio и конкурентное программирование на Python.
2022 #RU #Asyncio || Бесплатный софт для чтения книг.
2022 #RU #Asyncio || Бесплатный софт для чтения книг.
Оператор "is" Python сложнее, чем вы думаете
• Подводные камни оператора is, которые могут вас удивить.
• Многие используют оператор "is" для сравнения значений, но не все знают, что это может вызвать огромное количество багов, если не знать о его особенностях, которые рассматриваются в данном видео.
• Мы также рассмотрим примеры, где его точно не следует применять и узнаем о том, почему именно он вызывает подобные баги и как это работает на более низком уровне.
🧷 https://youtu.be/mQk1NIV3HXM
#Видео
• Подводные камни оператора is, которые могут вас удивить.
• Многие используют оператор "is" для сравнения значений, но не все знают, что это может вызвать огромное количество багов, если не знать о его особенностях, которые рассматриваются в данном видео.
• Мы также рассмотрим примеры, где его точно не следует применять и узнаем о том, почему именно он вызывает подобные баги и как это работает на более низком уровне.
🧷 https://youtu.be/mQk1NIV3HXM
#Видео
Сериализация объектов Python с помощью Pickle
• В данном видео мы узнаем как использовать Pickle для сериализации и десериализации данных, узнаем в каких случаях это стоит применять и какие особенности данной технологии.
• Также в конце видео рассмотрим уязвимости технологии и почему стоит её применять правильно. Если не знать об этом, можно создать проект, который будет уязвим к атакам.
🧷 https://youtu.be/jpBTigXHUeA
#Видео
• В данном видео мы узнаем как использовать Pickle для сериализации и десериализации данных, узнаем в каких случаях это стоит применять и какие особенности данной технологии.
• Также в конце видео рассмотрим уязвимости технологии и почему стоит её применять правильно. Если не знать об этом, можно создать проект, который будет уязвим к атакам.
🧷 https://youtu.be/jpBTigXHUeA
#Видео
🧩 Лайфхаки Python: сэкономить память и ускорить выполнение программы
• Python часто ругают за то, что он медленный. Однако в нем существует несколько подходов, которые позволяют писать достаточно быстрый код. Сегодня поговорим про обработку списков.
🧷 https://tproger.ru/articles/lajfhaki-python-sjekonomit-pamjat-i-uskorit-vypolnenie-programmy/
#Статья
• Python часто ругают за то, что он медленный. Однако в нем существует несколько подходов, которые позволяют писать достаточно быстрый код. Сегодня поговорим про обработку списков.
🧷 https://tproger.ru/articles/lajfhaki-python-sjekonomit-pamjat-i-uskorit-vypolnenie-programmy/
#Статья
🧩 Как создать собственные Python-декораторы и правильно их использовать
• Статья рассчитана на тех, кто владеет основами Python, знаком с декораторами и хочет научиться создавать собственные декораторы для повышения качества кода.
🧷 https://tproger.ru/articles/kak-sozdat-sobstvennye-python-dekoratory-i-pravilno-ih-ispolzovat/
#Статья
• Статья рассчитана на тех, кто владеет основами Python, знаком с декораторами и хочет научиться создавать собственные декораторы для повышения качества кода.
🧷 https://tproger.ru/articles/kak-sozdat-sobstvennye-python-dekoratory-i-pravilno-ih-ispolzovat/
#Статья
🧩 Быстро и просто разворачиваем приложение на Selenium Python в Docker
• Selenium — это инструмент, созданный для автоматизации работы браузера. Он имеет довольно длинную историю, но несмотря на это на данный момент он является главным инструментом, если нужно прибегнуть к автоматизации браузера.
• Но у некоторых может возникнуть проблема с развертыванием кода, использующего этот инструмент, на сервере. На самом деле, все очень просто, если вы знакомы с Docker.
🧷 https://tproger.ru/articles/bystro-i-prosto-razvorachivaem-prilozhenie-na-selenium-python-v-docker/
#Статья
• Selenium — это инструмент, созданный для автоматизации работы браузера. Он имеет довольно длинную историю, но несмотря на это на данный момент он является главным инструментом, если нужно прибегнуть к автоматизации браузера.
• Но у некоторых может возникнуть проблема с развертыванием кода, использующего этот инструмент, на сервере. На самом деле, все очень просто, если вы знакомы с Docker.
🧷 https://tproger.ru/articles/bystro-i-prosto-razvorachivaem-prilozhenie-na-selenium-python-v-docker/
#Статья
📌 Форматирование сообщений
Telegram поддерживает два типа форматирования: HTML и MarkdownV2. Есть ещё Markdown, но он уже устарел.
HTML — форматирование с помощью тегов. Если пользователь отправит
MarkdownV2 — форматирование с помощью спецсимволов:
Предпочтительный использовать HTML, с ним меньше шанс допустить ошибку. Вот тут документация от Telegram.
Код
#урок #aiogram
Telegram поддерживает два типа форматирования: HTML и MarkdownV2. Есть ещё Markdown, но он уже устарел.
HTML — форматирование с помощью тегов. Если пользователь отправит
<b>Этот тест будет жирным<b>
, чтобы не применять форматирование, нужно использовать html.quote()
.MarkdownV2 — форматирование с помощью спецсимволов:
__underline__
, bold text, link on MarkdownV2.Предпочтительный использовать HTML, с ним меньше шанс допустить ошибку. Вот тут документация от Telegram.
Код
#урок #aiogram
🧩 Гайд по магическим методам в Python
• Магические методы в языке программирования Python нужны, чтобы реализовывать свойства объектов при их взаимодействии.
• В статье раскроем их «магию» и остановимся на каждом из методов подробно.
🧷 https://tproger.ru/articles/gajd-po-magicheskim-metodam-v-python/
#Статья
• Магические методы в языке программирования Python нужны, чтобы реализовывать свойства объектов при их взаимодействии.
• В статье раскроем их «магию» и остановимся на каждом из методов подробно.
🧷 https://tproger.ru/articles/gajd-po-magicheskim-metodam-v-python/
#Статья
📌 Кнопки
Есть два вида кнопок:
• Обычные кнопки — появляются внизу в виде клавиатуры. Просто отправляют сообщение, выбранное пользователем, хотя могут также по нажатию запрашивать аккаунт, геолокацию или создать опрос.
• Инлайн-кнопки — появляются по сообщениями. Могут пересылать людей на определённый URL, отправлять сообщения с данными боту и т.д.
Код
#урок #aiogram
Есть два вида кнопок:
• Обычные кнопки — появляются внизу в виде клавиатуры. Просто отправляют сообщение, выбранное пользователем, хотя могут также по нажатию запрашивать аккаунт, геолокацию или создать опрос.
• Инлайн-кнопки — появляются по сообщениями. Могут пересылать людей на определённый URL, отправлять сообщения с данными боту и т.д.
Код
#урок #aiogram
Дорожная карта по Python
• Полезная дорожная карта, которая пригодится начинающим Python-разработчикам и поможет определиться в дальнейшем развитии.
#Roadmap
• Полезная дорожная карта, которая пригодится начинающим Python-разработчикам и поможет определиться в дальнейшем развитии.
#Roadmap
📌 Фабрика колбэков
Передавать данные в Inline-кнопки как строки — не удобно. Данные тяжело считывается, код тяжело читается.
Для решения проблемы есть класс
Код
#урок #aiogram
Передавать данные в Inline-кнопки как строки — не удобно. Данные тяжело считывается, код тяжело читается.
Для решения проблемы есть класс
CallbackData
, с его помощью создаётся класс, который самостоятельно составляет строку и обрабатывает её. Программисту остаётся работать только с объектом. Код
#урок #aiogram
📌 Форматирование параграфа, модуль textwrap
• Функция textwrap.fill() принимает текст в качестве входных данных и возвращает отформатированный текст.
• Текст выравнивается по левому краю, первая строка сохраняет свой отступ, а пробелы в начале каждой последующей строки вставляются в абзац.
📕 Документация
#урок
• Функция textwrap.fill() принимает текст в качестве входных данных и возвращает отформатированный текст.
• Текст выравнивается по левому краю, первая строка сохраняет свой отступ, а пробелы в начале каждой последующей строки вставляются в абзац.
📕 Документация
#урок
Полная шпаргалка по Python
• Эта шпаргалка содержит всю необходимую информацию для всех уровней разработки.
🧩 Смотреть шпаргалку
#Шпаргалка
• Эта шпаргалка содержит всю необходимую информацию для всех уровней разработки.
🧩 Смотреть шпаргалку
#Шпаргалка
📌 Middleware
Это код, который выполняется перед тем как запустится обработчик. Так можно контролировать нагрузку, делать Antiflood или собирать статистику.
В то время как у
#урок #aiogram
Это код, который выполняется перед тем как запустится обработчик. Так можно контролировать нагрузку, делать Antiflood или собирать статистику.
В то время как у
aiogram 2.0
реализовано множество готовых обработчиков, aiogram 3.0
может похвастаться хорошей документацией.#урок #aiogram
📌 Класс bytearray() в Python, преобразует в массив байтов.
Класс bytearray() возвращает массив байтов bytearray, который является изменяемой последовательностью целых чисел в диапазоне от 0 <= х <256.
Необязательный параметр source можно использовать для инициализации массива несколькими различными способами:
• Если это строка, вы также должны указать параметры кодировки строки или будет ошибка. bytearray() преобразует строку в байты, используя str.encode().
• Если это целое число, то массив будет иметь размер переданного числа и будет инициализирован нулевыми байтами.
• Если это объект, соответствующий интерфейсу буфера, для инициализации массива байтов будет использоваться доступный только для чтения буфер объекта.
• Если это итерация, то это должна быть итерация целых чисел в диапазоне 0 <= x < 256, которые будут используются в качестве начального содержимого массива.
• Без аргумента создается массив размером '0'.
📕 Документация
#урок
Класс bytearray() возвращает массив байтов bytearray, который является изменяемой последовательностью целых чисел в диапазоне от 0 <= х <256.
Необязательный параметр source можно использовать для инициализации массива несколькими различными способами:
• Если это строка, вы также должны указать параметры кодировки строки или будет ошибка. bytearray() преобразует строку в байты, используя str.encode().
• Если это целое число, то массив будет иметь размер переданного числа и будет инициализирован нулевыми байтами.
• Если это объект, соответствующий интерфейсу буфера, для инициализации массива байтов будет использоваться доступный только для чтения буфер объекта.
• Если это итерация, то это должна быть итерация целых чисел в диапазоне 0 <= x < 256, которые будут используются в качестве начального содержимого массива.
• Без аргумента создается массив размером '0'.
📕 Документация
#урок