Python community developers
1.38K subscribers
367 photos
45 videos
6 files
241 links
Сообщество программистов на языке Python🙂
🔥Разбор вопросов и задач с собеседований
🔥Обзор популярных библиотек и фишек языка
🔥Интересные идеи программ

Сотрудничество - @BorryaD

@Python_community_developers_bot
加入频道
Отправляем универсальные уведомления

Наткнулся на интересный пакет notifiers, который позволяет отправлять уведомления на почту, через Телеграм бота, в Слэк и еще много куда. Всего доступно 16 провайдеров, подробнее про них в документации.

В функцию get_notifier передаем название провайдера в виде строки и получаем объект, с которым можно работать. Отправить уведомление можно с помощью универсального метода notify.

Если не уверены, какие аргументы нужно передать для отправки уведомления, то можете посмотреть их через атрибут required у созданного объекта.

Например, для Телеграма нужно передать токен бота, айди чата и само сообщение. В случае с почтой необходимо указать логин, пароль, адресата и также сообщение.

#уведомления #notifiers
This media is not supported in your browser
VIEW IN TELEGRAM
👨‍💻 9 лучших архитектурных шаблонов для потоков данных и коммуникаций

🖱 Peer-to-Peer
Шаблон Peer-to-Peer подразумевает прямую связь между двумя компонентами без необходимости в центральном координаторе.

🖱 API Gateway
Шлюз API выступает в качестве единой точки входа для всех клиентских запросов к внутренним службам приложения.

🖱 Pub-Sub
Шаблон Pub-Sub разделяет производителей сообщений (издателей) от потребителей сообщений (подписчиков) через брокера сообщений.

🖱 Request-Response
Это один из самых фундаментальных шаблонов интеграции, где клиент отправляет запрос на сервер и ждет ответа.

🖱 Event Sourcing
Event Sourcing подразумевает сохранение изменений состояния приложения в виде последовательности событий.

🖱 ETL
ETL — это шаблон интеграции данных, используемый для сбора данных из нескольких источников, преобразования их в структурированный формат и загрузки в целевую базу данных.

🖱 Batching
Пакетирование подразумевает накопление данных в течение определенного периода или до тех пор, пока не будет достигнут определенный порог, прежде чем обрабатывать их как единую группу.

🖱 Streaming Processing
Потоковая обработка обеспечивает непрерывный прием, обработку и анализ потоков данных в режиме реального времени.

🖱 Orchestration
Orchestration подразумевает наличие центрального координатора (оркестратора), управляющего взаимодействиями между распределенными компонентами или службами для достижения рабочего процесса или бизнес-процесса.

#doc #cheatsheet
➡️ Декоратор для измерения времени выполнения функции в Python

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

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

Декоратор time_it может использоваться для любых функций, без изменения их логики, что делает его удобным инструментом для анализа производительности.
Media is too big
VIEW IN TELEGRAM
Как выучить язык программирования быстрее

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

00:00 Вступление
00:09 Практика
00:58 Каждый следующий язык учить легче предыдущего
01:45 Читайте чужой исходный код
02:19 Читайте документацию от разработчиков
03:27 Задавайте вопросы на Stackoverflow
04:00 Заведите профессиональный блог
04:46 Найдите работу на языке, который вы учите
05:51 Геймификация
07:29 Синдром самозванца
09:35 Не бойтесь гуглить
10:44 Начните с фреймворков
11:54 Дайте себе время
12:56 Не бросайте!

Смотреть это видео на youtube: youtu.be/Sxy8_9DK0Xg
Media is too big
VIEW IN TELEGRAM
▶️ Реальное live-coding собеседование Junior Python разработчик

Сегодня вы увидите реальное собеседование на Python Backend разработчика, на котором мне предложили 100.000 рублей

В видео вы увидите live-coding, рассмотрим три практические задачи по уроню сложности

👀 Смотреть на YouTube
🔥 Полезные библиотеки Python

LinkedIn_AIHawk — созданная реддитором AI утилита для быстрого поиска работы.

Софт редактирует ваше резюме под описание вакансий и автоматически рассылает их.

Результат впечатляет: за сутки парень разослал 1000 резюме, которые превратились в 50 приглашений на собес. Бот не только правит резюме, но и сам отвечает на вопросы HR-ов от вашего лица.

Установка:
$ git clone https://github.com/feder-cr/LinkedIn_AIHawk_automatic_job_application

$ cd LinkedIn_AIHawk_automatic_job_application

$ pip install -r requirements.txt


⚙️ GitHub/Инструкция

#soft #code #python #github
➡️ Использование contextlib.contextmanager для создания контекстных менеджеров

Иногда бывает нужно создать собственный контекстный менеджер для управления ресурсами, такими как файлы или сетевые соединения.

✔️ В Python для этого можно использовать декоратор contextlib.contextmanager, что делает код простым и элегантным.
➡️ Извлечение уникальных элементов из списка с сохранением порядка

🗣️ Обычно, когда нужно получить уникальные элементы из списка, используют set. Однако это нарушает порядок элементов.

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

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

Используем однострочный list comprehension с условием, которое добавляет элемент в результирующий список только если он ещё не был добавлен.
👨‍💻 Распознавание текста на изображении с помощью Python

🎞 Видеоурок с подключением конфига и словарей

⚙️ pip install pytesseract pillow

#tipsandtricks #python
Naive

В методе Naive цикл for используется для обхода второго списка. После этого элементы из второго списка добавляются к первому списку. Первый список является объединением первого и второго списков.
⚙️ Управление временем выполнения функций с помощью тайм-аутов в Python

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

🗣️ В Python можно использовать модуль signal для установки тайм-аутов на выполнение кода.
Более простой способ создания контекстных менеджеров

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

Но не всегда хочется реализовывать магические методы __enter__ и __exit__. В качестве альтернативы есть один классный прием в пакете contextlib. Там протокол управления контекстом реализован с использованием декоратора contextmanager.

Первая часть функции tag,  которая идёт до yield, выполняется при входе в блок with. Затем исполняется сам этот блок, а после этого завершается оставшаяся часть функции tag.

 #contextlib
⚡️ drawDB — удобный инструмент для проектирования баз данных

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

Инструмент поддерживает: MySQL, PostgreSQL, SQLite, MariaDB и SQL Server. Его также легко развернуть локально через npm или запустить с помощью Docker.

И всё это бесплатно! 😎

⚙️ GitHub/Инструкция

🌍 drawdb.app

#soft #github