Python Backend | YeaHub
1.19K subscribers
162 photos
41 videos
6 files
251 links
Теория, подготовка к интервью и курсы для Python разработчиков

YeaHub — это платформа для IT-специалистов, объединяющая обучение, карьерный рост, развитие и сообщество единомышленников.

Платформа: https://yeahub.ru

Для связи: @ruslan_kuyanets
Download Telegram
#полезное
😇 Fastrtc — это библиотека, которая превращает функции Python в решения для потоковой передачи аудио и видео в режиме реального времени с использованием WebRTC или WebSockets.

Библиотека содержит множество примеров, демонстрирующих её применение: от интеграции с голосовыми API (например, Google Gemini и OpenAI) до транскрипции речи при помощи Whisper и обработки видеопотока с помощью модели YOLO v10.

Документация включает краткое руководство и примеры кода, что облегчает внедрение Fastrtc в ваши проекты.

pip install fastrtc

Github
Документация

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
👍32
#Собес #bash
🤔 Как удалить все .log файлы в директории?

Чтобы удалить все .log файлы в текущей папке, выполните:
rm *. log

Для удаления в подкаталогах используйте:
find . -name "*.1og" -delete


👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
#полезное
😱 Использование декоратора dataclass в Python

Декоратор dataclass упрощает создание классов, которые в основном хранят данные. Он автоматически генерирует специальные методы, такие как __init__, repr и другие. Это снижает многословность кода, сохраняя при этом его ясность и функциональность.

На фото приведены два примера. В первом мы используем декоратор dataclass, поэтому явно не добавляем методыnit__, __r repr и eq. Они автоматически добавляются декоратором.

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

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
#полезное
🛞 Совет по Python:

Чтобы посчитать количество вхождений элементов, используйте Counter из модуля collections

Например у нас словарь, где ключ — это ID устройства, а значение — его производитель.

devices_vendors = {
'device001': 'Cisco',
'device002': 'Juniper',
'device003': 'Cisco',
'device004': 'Arista',
'device005': 'Cisco'
}


🟠 Выполняем подсчёт:

vendor_counts = Counter(devices_vendors.values())


Здесь берутся все значения из словаря (.values()), т.е. список вендоров: ['Cisco', 'Juniper', 'Cisco', 'Arista', 'Cisco'], и Counter считает, сколько раз каждый встретился.

🟠Выводим и получаем:

Counter({'Cisco': 3, 'Juniper': 1, 'Arista': 1})



👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
2
#полезное
🥄 Использование оператора match case

В Python 3.10 был введён оператор match case для сопоставления с образцом (pattern matching). Он предоставляет более питоничный способ обработки множества условий без использования традиционных конструкций if-else.

Выше представлен пример использования оператора match case для сопоставления дней недели с задачами. Например, case 'monday' срабатывает, если значение переменной day равно 'monday', и возвращает 'learn Python'.

Подход с match-case более читаемый по сравнению с традиционным if, особенно при работе с большим числом условий

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
4
#Собес #bash
🤔 Как вывести только каталоги в папке?

Чтобы отобразить только папки, используйте:
Is -d */

Или команду find :
find . -type d


👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
2
Media is too big
VIEW IN TELEGRAM
#полезное
🤓 Создай своего первого AI-агента + MCP-сервер на Python

Вот всё, что тебе нужно, чтобы собрать своего первого AI-агента меньше чем за 20 минут.

О коде, который ты здесь увидишь:

🟠 Используется Google ADK с Gemini Flash для запуска агента
🟠 Агент подключается к MCP-серверу
🟠 Он также использует два кастомных инструмента для выполнения задач
🟠 Всё, что делает агент, можно отслеживать благодаря библиотеке Opik

Вот видео — можешь смотреть бесплатно.
А вот репозиторий на GitHub с кодом

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
2
This media is not supported in your browser
VIEW IN TELEGRAM
#полезное
🥺 Нашёл классный инструмент для тех, кто работает с Pandas

Теперь можно автоматически профилировать DataFrame в Jupyter с помощью Pandas AutoProfiler

На выходе — распределение по колонкам, сводная статистика, данные по null-значениям, экспорт кода и т.д.

Всё работает автоматически — писать дополнительный код не нужно

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Media is too big
VIEW IN TELEGRAM
#полезное
😐 Вот игра, с которой ты выучишь Python

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

CodeStrike — шутер + приключение + Python. Полностью бесплатно в Steam — но ограниченное время

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

Отличный способ учиться весело. Но, увы, мало кто знает. Наслаждайся

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
🥰21👍1
#Собес #bash
🤔 Как посчитать количество строк в файле?

Для подсчёта строк в файле используйте:
wc -1 file.txt

Эта команда выведет количество строк в файле.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
#полезное
🛞 Code review больше никогда не будет прежним

CodeRabbit добавил бесплатные AI-ревью кода прямо в VS Code, Cursor и Windsurf.

Этот инструмент находит баги и проверяет твой код на ошибки всего за несколько секунд. Подводит итоги и анализирует Pull Request из твоего репозитория на GitHub или GitLab

Всё что нужно это открыть панель расширений в VS Code, Cursor или Windsurf, введите "CodeRabbit" и нажмите Install

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
2
This media is not supported in your browser
VIEW IN TELEGRAM
#полезное
👋 SSHClick — это инструмент для управления SSH-конфигурациями, разработанный на Python с использованием фреймворков Click, Rich и Textual!

🟠 Он предоставляет удобный интерфейс для работы с файлами ssh_config, позволяя визуализировать, фильтровать и редактировать записи. Это упрощает управление большими и сложными конфигурациями SSH, особенно для системных администраторов, работающих с множеством серверов.

🟠 Основные функции SSHClick включают парсинг существующих SSH-конфигураций, добавление метаданных для группировки и фильтрации хостов, а также удобный текстовый интерфейс (TUI) для работы прямо в терминале. Инструмент помогает быстро находить и редактировать записи, сокращая время, затрачиваемое на ручное управление конфигурациями.
Гитхаб

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
1
#полезное
❤️‍🔥 Диагностика ty становится всё лучше

Если ты ссылаешься на символ или модуль, который был добавлен в более новой версии Python, вам сообщат об этом, а также укажут, где и почему была выведена поддерживаемая версия Python

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #bash
🤔 Как переместить файлы в Bash?

Чтобы переместить файл, используйте mv :
mv source_file destination_directory/

Команда mv также используется для переименования:
mv old_name.txt new_name.txt


👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
2
#полезное
📞 Совет по Python на сегодня:

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

🟠 Имя файла с расширением:

>>> path.name
'test.md'


🟠 Имя файла без расширения:

>>> path.stem
'test'


🟠 Расширение файла:

>>> path.suffix
'.md'


🟠 Родительский каталог:

>>> path.parent
PosixPath('C:/Users')


👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
#полезное
😊 Вот четвёртый трюк с GitHub вам в копилку: просто замени .com на chat.ai в URL любого репозитория — и ты сможешь напрямую общаться с кодом

Это меняет правила игры для быстрого понимания и навигации по проекту

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
2🔥2👍1
#полезное
😇 Анатомия Python-класса

Почти всё, что может содержать определение класса в Python — в одной картинке.

Удобный визуал, чтобы быстро освежить синтаксис и структуру

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2
#Собес #bash
🤔 Как скопировать файлы в Bash?

Чтобы скопировать файл, используйте команду ср :
cp source_file destination_file

Для копирования папки используйте -r :
cp -r source_directory destination_directory


👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
1
This media is not supported in your browser
VIEW IN TELEGRAM
#полезное
😵‍💫 Отслеживайте и оценивайте любое приложение на базе AI/LLM в 3 строки кода

🟠 Инициализируйте объект оценки с помощью LangWatch (строка 3)

🟠 Декорируйте метод рабочего процесса LLM (строка 5)

🟠 Запишите результат оценки (строка 11)

Можно продолжать использовать Pandas и другие любимые инструменты.

Вы можете интегрировать оценки LangWatch в CI/CD-пайплайны, чтобы каждая новая версия модели автоматически проверялась перед деплоем.
Полностью с открытым исходным кодом

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
1
#полезное
🤓 Функция filter

Функция filter() используется для фильтрации элементов из итерируемого объекта на основе заданного условия. Она принимает два аргумента: функцию и итерируемый объект. Возвращает итератор, содержащий элементы, которые удовлетворяют условию.

Предположим, у вас есть список чисел, и вы хотите отфильтровать из него только чётные числа. Вы можете использовать функцию filter:

numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9]
even_numbers = list(filter(lambda x: x % 2 == 0, numbers))
even_numbers


Результат:

[2, 4, 6, 8]


Обратите внимание, что функция filter использует критерий, заданный функцией lambda, чтобы отфильтровать чётные числа из списка numbers. filter возвращает итератор, поэтому мы используем функцию list(), чтобы извлечь чётные числа в виде списка.

Функция filter() — мощный инструмент для выбора элементов из итерируемых объектов на основе пользовательских условий. Ниже приведены другие способы использования функции filter() в коде:
Фильтрация строк по длине

Если у вас есть список строк, и вы хотите отфильтровать строки определённой длины, вы можете использовать функцию filter(). Предположим, вы хотите получить из списка только те строки, длина которых меньше 5 символов. Вот пример того, как это можно сделать:

words = ["apple", "banana", "kiwi", "grape"]

# Функция, передаваемая в filter
def filter_words(x):
return x if len(x) < 5 else None

short_words = list(filter(filter_words, words))
print(short_words)


Результат:

['kiwi']


👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍1
#полезное
🥺 Изменение ключей словаря

Ключи словаря являются неизменяемыми. В Python не существует прямого способа изменить ключ словаря. Однако можно использовать метод pop() для изменения или создания нового ключа со значением из существующего ключа.

Допустим, мы хотим заменить ключ "school" на "university" в приведённом ниже словаре. Первый шаг — использовать метод pop() для удаления старого ключа и получения его значения. Второй шаг — создать новый ключ и присвоить ему значение удалённого ключа. Смотрите код ниже:

# Исходный словарь
my_dict = {'school': 'Yale', 'age': 22}

# Шаг 1: Удалить старый ключ и получить его значение
old_value = my_dict.pop('school')

# Шаг 2: Создать новый ключ с нужным именем и присвоить значение
my_dict['university'] = old_value
print(my_dict)


Результат:

{'age': 22, 'university': 'Yale'}


Как видно, ключ "school" был заменён на "university". Учтите, что данный процесс по сути создаёт новый ключ, сохраняя исходное значение

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
2