Telegram Web Link
Режим разработки

Оказывается, еще в Python 3.7 появилась возможность запускать скрипты со специальным флагом -X для указания различных вариантов реализации.

Например, -X dev запускает скрипт в режиме разработки с функциями отладки и runtime-проверки, которые не используются по умолчанию из-за своей медлительности.

Также этот режим выводит дополнительные предупреждения в следующих случаях:

— Незакрытые файлы;
— Unawaited корутины;
— Неизвестная кодировка для str.encode;
— Проблемы с выделением памяти.

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

#python
Упрощение создания операторов сравнения

Для создания объектов с поддержкой операторов сравнения в классе обычно требуется реализовать большое количество магических методов, а именно – __lt__, __le__, __eq__, __ne__, __gt__, __ge__.

Про то, что делает каждый из них расскажем отдельным постом, но сейчас покажем, как можно сильно упростить реализацию подобного класса. Для этого можно использовать декоратор total_ordering из пакета functools.

В таком случае достаточно реализовать в классе только __lt__ и __eq__. Эти два метода являются минимумом, который нужен декоратору для конструирования остальных методов.

#классы
Пишем асинхронных ботов для ВК

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

Библиотека является асинхронной и требует минимум кода со стороны разработчика, что позволяет сконцентрироваться на задаче, не тратя силы и время на само взаимодействие с API.

Код, написанный на vkbottle, чем-то похож на всем знакомый flask. А пример выше реализует бота, который отвечает сообщением "Здравствуй!" на "Привет".

#боты #vk
This media is not supported in your browser
VIEW IN TELEGRAM
SmartDev 2023 — большая конференция про технологии от Сбера

21 сентября в кинотеатре «Октябрь» пройдет технологическая конференция SmartDev 2023, организованная Сбером. На одной площадке соберутся ведущие инженеры и разработчики из Сбера, VK, Яндекса, Kaspersky и других компаний, чтобы обменяться опытом создания лучших технологических решений в мире.

Основные темы конференции:
– Машинное обучение и искусственный интеллект
– Архитектура программных решений
– DevOps
– Работа с большими данными
– Безопасность приложений
– Инновации и стратегии в разработке ПО

Кроме того, участники конференции смогут задать вопросы создателям нашумевших проектов от Сбера — сервиса GigaChat и нейросети Kandinsky, а также впервые в России услышать выступление генерального директора Gitee, китайского аналога GitHub.

Конференция соберёт 1500 участников в офлайне и несколько тысяч зрителей в онлайне.

Участие бесплатное, подробности и регистрация — на сайте конференции
Перечисления

Python поддерживает простой механизм работы с перечислениями, которые ещё называют enum. Подобные перечисления удобно использовать для хранения списков констант.

Из документации можно узнать о том, что Enum — это набор символических имён, привязанных к уникальным, неизменным значениям. Члены одного перечисления можно сравнивать на идентичность.

Также можно задать геттер через @property, который используют для получения перечислений в других форматах. В примере реализовано перечисление цветов в RGB, а через геттер их можно получить в формате hex.

#enum
Простой, мощный и асинхронный веб-фреймворк

Одним из популярных фреймворков для разработки серверной части на Python является FastAPI. К слову, он уже догоняет Django и Flask по звездам на GitHub.

FastAPI предназначен для быстрого и легкого старта работы с возможностью масштабирования до сложных приложений. Он является одним из самых быстрых фреймворков на Python.

Для создания минимального рабочего приложения достаточно кода выше. После запуска такого скрипта можете перейти в браузере по адресу http://127.0.0.1:8000/ и посмотреть результат.

#модули
This media is not supported in your browser
VIEW IN TELEGRAM
IT-ипотека от 2,5%: все фичи от отделки до мебели

«Самолет» меняет представление о загородной жизни и предлагает проект, где максимально апдейтнули городской уровень комфорта — «Дмитров Дом».

🏘 Здесь классный фронтенд: готовые дома площадью от 61 до 225 м², полноценная экосистема, где все находится в шаговой доступности, а также единое оформление всех пространств. Можно взять MVP с базовой отделкой, а можно добавить в ипотеку полезных фич: кухню, мебель, баню, террасу и беседку.

🌐 Бэкенд тоже не подводит: все коммуникации, в том числе и высокоскоростной интернет, уже проведены — начинать спринты можно сразу после заезда. Работает профессиональная управляющая компания в доступе 24/7 в один клик в приложении — уникальная опция для ИЖС.

Преимущества проекта в его инфраструктуре, которая позволяет жить без забот: интернет даже на улице, коворкинг, поликлиника, школа, детский сад, магазины и кафе, конный клуб, собственный досуговый центр и многое другое — всё в шаговой доступности.

В сентябре загородный дом с участком можно взять в ипотеку со ставкой от 2,5% для IT-специалистов — платеж будет такой же, как за квартиру.

«Дмитров Дом» поможет по-новому взглянуть на загородную жизнь и удаленную работу. Если выбрать дом сейчас, то можно успеть встретить в нем Новый год! Выбрать дом можно по ссылке: https://smlt.ru/12popix

Реклама. ООО «СЗ «Самолет-Дмитров».
Мощная декларативная библиотека для работы с датой и временем

Большинство разработчиков знают про модуль datetime из стандартной библиотеки - достаточно хороший инструмент для работы с временем. Но не лишним будет узнать про его мощное расширение - dateutil.

dateutil позволяет писать краткий и декларативный код для решения задач по взаимодействию с датой и временем.

На скриншоте показано получение первого дня прошлого месяца с помощью dateutil и без.

Примечательно то, что dateutil позиционируется как расширение для datetime, что значит, что они друг с другом совместимы.
Асинхронные запросы с aiohttp

Модуль aiohttp представляет из себя асинхронный HTTP клиент/сервер для asyncio и Python. Он позволяет выполнять асинхронные HTTP запросы, что делает его идеальным инструментом для современных приложений, где требуется высокая производительность и параллелизм.

Установка aiohttp производится через pip. Чтобы начать делать асинхронные запросы, вам потребуется взаимодействовать с ним с помощью синтаксиса async/await. Запросы, такие как GET, POST, PUT и DELETE, оформляются чисто и ясно. Объекты ответов содержат все необходимые атрибуты для обработки ответов от сервера.

Модуль aiohttp подходит не только для работы с асинхронными веб-сервисами, но и для асинхронного скрапинга веб-страниц.

#модули
GitVerse: новая разработка СберТех для взаимодействия программистов и разработчиков

Дочерняя компания Сбера СберТех разработала GitVerse — Open Source сервис для совместной разработки проектов и хостинга кода. Презентация состоялась в рамках конференции SmartDev 2023.

GitVerse хостится в России для устранения рисков в отказе доступа российским пользователем и создан для упрощения разработки, позволяя выполнять задачи по сборке, тестированию, развертыванию и проверке кода в общей среде. Сервис автоматизирует процессы, упрощает хранение кода и управление репозиторием, а также позволяет назначать задачи и комментировать.

Кроме того, GitVerse интегрируется с GigaCode, AI-помощником, который повышает эффективность кодирования.

«Сегодня весь мировой IT-рынок движется по направлению к Open Source, и важно чтобы российские разработчики имели все необходимые инструменты для созданий передовых технологических решений. Теперь у них появился сервис, с помощью которого они могут создавать программные проекты и быть уверены в сохранности доступа к ним, ведь это полностью отечественное решение, независимое от иностранных вендоров и технологий.
» - Андрей Белевцев, старший вице-президент, CTO, руководитель блока «Технологии» Сбербанка.

GitVerse бесплатно предоставит 2 ГБ для использования сервисных ресурсов, плагинов IDE для упрощения разработки и информационный портал с новостями и материалами с открытым исходным кодом.

Доступ к сервису откроется в начале 2024 года, а зарегистрироваться для раннего тестирования можно уже сейчас на странице проекта.
spotDL: Автоматизация загрузки музыки из Spotify

Библиотека spotDL - это мощный инструмент для автоматизации процесса загрузки музыки из Spotify. Если вы ищете способ легко и быстро получить аудиотреки с этой популярной стриминговой платформы, то spotDL может стать вашим идеальным партнером.

Установка spotDL также проста и выполняется через pip. Эта библиотека предоставляет удобные средства для поиска и загрузки музыки из Spotify. Она работает асинхронно и поддерживает асинхронный синтаксис с помощью async/await, что делает ее отличным инструментом для современных приложений, где требуется автоматизированный доступ к аудиоконтенту.

spotDL позволяет выполнять поиск треков, альбомов или плейлистов по запросам и загружать их на ваше устройство. Он также предоставляет возможность выбора желаемого качества аудио и множество других опций для настройки загрузки.

Библиотека spotDL не только удобна для скачивания музыки для личного пользования, но также может быть использована для создания аудиоархивов, подкастов или даже для автоматизации процесса создания музыкальных бэкапов.

#spotify #spotDL #аудио #автоматизация
BeautifulSoup 4: Инструмент для разбора HTML

Библиотека BeautifulSoup, часто называемая bs4, - инструмент для разбора и анализа HTML и XML документов в Python. Если вы работаете с веб-страницами и вам нужно извлечь информацию из HTML-кода, bs4 отлично подойдет для этого.

Установка bs4 также проста и выполняется через pip. С bs4 вы можете легко извлекать данные из HTML, навигировать по документу, находить и извлекать теги и их атрибуты. Это делает bs4 идеальным инструментом для веб-скрапинга, анализа веб-страниц, извлечения данных и многих других задач.
aiogram: Создание Telegram ботов

Библиотека aiogram предоставляет мощный и удобный способ создания ботов для Telegram на языке Python. Если вы хотите автоматизировать взаимодействие с пользователями или создать бота для своего бизнеса, то aiogram станет вашим надежным инструментом.

Установка aiogram производится через pip. Эта библиотека предоставляет асинхронный интерфейс для работы с Telegram API и позволяет легко создавать и управлять ботами. Вы можете отправлять и получать сообщения, создавать клавиатуры для взаимодействия с пользователями, а также выполнять множество других действий.

В этом примере мы инициализируем бота с помощью aiogram, создаем обработчик для команды /start, и запускаем бота с помощью executor.start_polling. Не забудьте заменить "YOUR_TELEGRAM_BOT_TOKEN" на токен вашего бота.

aiogram делает создание ботов для Telegram простым и эффективным, что делает его отличным выбором для разработчиков, которые хотят взаимодействовать со своей аудиторией.
VK Mini Apps открывает регистрацию на грантовую программу Fresh Code 2023 для разработчиков мини-приложений

VK Mini Apps приглашает независимых разработчиков принять участие в грантовой программе Fresh Code 2023. Программа продлится два месяца, в течение которых участники смогут создать свое собственное мини-приложение или представить уже готовый проект.

Авторы 25 лучших сервисов будут награждены грантами в размере 200к рублей, причем принимать участие можно как в одиночку, так и в команде. Прочитать подробнее и заполнить форму можно тут до 24 ноября, так что сейчас - лучшее время, чтобы начать работу над приложением.

#миниприложения #vk
RabbitMQ: Брокерская система сообщений для асинхронной обработки данных

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

Для взаимодействия с RabbitMQ на языке программирования Python часто используется библиотека pika. Pika предоставляет удобный интерфейс для работы с RabbitMQ, позволяя отправлять и принимать сообщения в очереди.

Ключевые характеристики RabbitMQ:

1. Асинхронность: RabbitMQ предоставляет механизм асинхронной обработки сообщений. Это позволяет разным частям вашего приложения обмениваться данными, не блокируя друг друга.

2. Маршрутизация: RabbitMQ обеспечивает гибкую маршрутизацию сообщений с использованием обменников (exchanges) и очередей (queues). Это позволяет точно определить, какие сообщения должны быть отправлены в какие очереди.

3. Надежность: RabbitMQ обеспечивает сохранность данных даже в случае сбоев. Он поддерживает различные стратегии обработки ошибок и перенаправления сообщений.

4. Поддержка множества протоколов: RabbitMQ поддерживает несколько протоколов связи, включая AMQP (Advanced Message Queuing Protocol) и MQTT (Message Queuing Telemetry Transport). Это делает его универсальным и пригодным для различных типов приложений.
SQLAlchemy: Работа с базами данных в Python

SQLAlchemy - библиотека для работы с базами данных в Python. Она предоставляет абстрактный и удобный способ взаимодействия с различными системами управления базами данных, такими как PostgreSQL, MySQL, SQLite и другими.

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

Для начала работы с SQLAlchemy, вам нужно установить библиотеку с помощью pip. Затем вы можете создать модели данных и определить структуру таблиц в вашей базе данных с использованием Python-классов. SQLAlchemy предоставляет удобные ORM (Object-Relational Mapping) инструменты, которые позволяют вам работать с данными в объектно-ориентированном стиле, а не в виде SQL-запросов.

Исходный код можно скопировать тут
Участвуйте в Hiring Days в команду VK Cloud 30 сентября и 1 октября и не упустите возможность получить офер всего за одни выходные.

VK ищет специалистов, которые будут поддерживать IaaS — операционную систему для дата-центров, которая управляет динамическим выделением ресурсов, масштабированием, отказоустойчивостью и является фундаментом облачной платформы VK Cloud. Разработчики требуются на три основных направления: Network + Services, Storage и Compute.

Отправляйте отклик до 28 сентября.
Playwright: Автоматизации браузерных тестов и взаимодействия с веб-приложениями

Playwright - библиотека, разработанная для автоматизации браузерных тестов и взаимодействия с веб-приложениями с использованием Python. Она предоставляет удобные и абстрактные средства для взаимодействия с различными браузерами, такими как Chrome, Firefox и т.д., позволяя вам создавать автоматизированные сценарии и тесты.

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

Для начала работы с Playwright, вам нужно установить библиотеку командами pip install pytest-playwright и python -m playwright install, чтобы библиотека скачала и установила нужные для работы инструменты. Затем вы можете создавать скрипты для автоматизации действий в браузере, такие как открытие страниц, заполнение форм, клики на элементы и многое другое. Playwright обеспечивает поддержку асинхронных операций, что позволяет создавать эффективные и быстрые автоматизированные сценарии.

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

Исходный код можно скопировать тут
discord.py: Создание ботов Discord на Python

discord.py - библиотека для создания ботов на платформе Discord. Она предоставляет удобный и абстрактный способ взаимодействия с Discord API, что делает ее отличным выбором для разработчиков, желающих создать собственных ботов и расширить функциональность своих discord серверов.

С discord.py вы можете легко управлять событиями, сообщениями и голосовыми каналами на серверах Discord. Библиотека обеспечивает полную поддержку Discord API, включая возможность создания текстовых и голосовых каналов, отправки сообщений, управления ролями и многие другие функции.

Для начала работы с discord.py, вам потребуется установить библиотеку с помощью pip. Затем вы сможете создавать ботов, настраивать их поведение и взаимодействовать с серверами Discord, используя простой и интуитивно понятный интерфейс.
Инкапсуляция

Инкапсуляция - это один из ключевых принципов объектно-ориентированного программирования (ООП). Она позволяет скрыть детали реализации класса и предоставить доступ только к необходимой функциональности через публичные методы и свойства.

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

Определение интерфейса класса через публичные методы и скрытие внутренних деталей - вот основные задачи инкапсуляции.

#классы #ооп #инкапсуляция
2024/09/27 15:35:30
Back to Top
HTML Embed Code: