Python RU
13.4K subscribers
880 photos
41 videos
36 files
1.13K links
Все для python разработчиков

админ - @haarrp

@python_job_interview - Python собеседования

@ai_machinelearning_big_data - машинное обучение

@itchannels_telegram - 🔥лучшие ит-каналы

@programming_books_it - it книги

@pythonl

РКН: clck.ru/3Fmy2j
加入频道
🖥 Удалить пунктуацию из строки

Строковый метод translate позволяет заменять (или удалять) несколько символов строки за один проход. (Это похоже на множественные вызовы метода replace.)
Please open Telegram to view this post
VIEW IN TELEGRAM
🧹 Очистка данных в Docker: как освободить место и ускорить работу

Docker — мощный инструмент, но со временем он начинает засоряться контейнерами, образами, томами и сетями. Это тормозит систему и забивает диск.

Вот как быстро навести порядок:

Удалить остановленные контейнеры

docker container prune


Удалить неиспользуемые образы

docker image prune
docker image prune -a


Удалить неиспользуемые сети

docker network prune


Удалить неиспользуемые тома

docker volume prune


Комплексная очистка всего окружения

docker system prune
docker system prune -a


⚙️ Автоматизация очистки (раз в неделю через cron)

0 * * 0 /usr/bin/docker system prune -f


📦 Для Docker Compose-проектов

docker-compose down --remove-orphans


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

@DevopsDocker
Что выведет следующий код на Python?


a = 256
b = 256
c = 257
d = 257

print(a is b) # #1
print(c is d) # #2

print(True + True + True == 3) # #3
print(True is 1) # #4
print(False == 0) # #5
print(False is 0) # #6


🔢 Варианты ответа:

A)

True
True
True
True
True


B)

False
True
False
True
False


C)

False
True
False
True
False


D)

True
False
False
False
False


Правильный ответ: B

💡 Почему?
-
a is bTrue, потому что int от -5 до 256 кэшируются.
-
c is dFalse, число 257 не кэшируется.
-
True + True + True == 3True, более того, True == 1.
-
True is 1False — это разные типы (bool и int).
-
False == 0True, False is 0False.
🖥 Огромная библиотеку Linux-команд

Реально огромная: более 5000 страниц, всё удобно разложено по категориям.

Можно пользоваться онлайн или скачать для локального использования.

#linux #commands #library
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🤖 Исследователи обнаружили тревожный тренд: ИИ-ассистенты вроде ChatGPT и Gemini всё чаще предлагают код с несуществующими зависимостями. Злоумышленники быстро адаптировались — они регистрируют эти галлюцинированные названия в PyPI и NPM, наполняя их вредоносным кодом.

Под особой угрозой разработчики, практикующие vibe-coding — бездумное копирование ИИ-подсказок. Некоторые фейковые пакеты выглядят убедительно: имеют документацию, GitHub-репозитории и даже блоги-однодневки.

‼️ Фонд Python называет эту тактику «слопсквоттинг» (от *slop* — «мусорный вывод ИИ») и усиливает защиту репозиториев. Пока главная рекомендация — вручную проверять каждую зависимость, даже если её рекомендует ИИ.

🔗 Ссылка - *клик*
🌐 GeoPincer — это Python-скрипт, использующий Overpass API OpenStreetMap для поиска местоположений, где определенные объекты находятся в непосредственной близости друг от друга!

🌟 Скрипт принимает в качестве входных данных базовую область поиска и как минимум два названия объектов (например, магазины или достопримечательности), которые расположены рядом. По умолчанию, расстояние между объектами устанавливается в 500 метров, но может быть изменено с помощью аргумента --distance. Результаты поиска предоставляются в виде URL-адресов Google Maps, указывающих на найденные локации.

🔐 Лицензия: MIT

🖥 Github

@pro_python_code
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
🖥 Python на скорости Rust

Новый Function (fxn) — фреймворк, который компилирует Python-функции в нативный код с производительностью, сравнимой с Rust.

🧠 Как это работает?
- Использует символическое трассирование на CPython для анализа функций
- Генерирует промежуточное представление (IR)
- Транслирует IR в C++ или Rust, а затем компилирует в бинарный код
- Поддерживает платформы: Linux, Android, WebAssembly и др.

📦 Пример:
@compile
def fma(x: float, y: float, z: float) -> float:
return x * y + z
После компиляции вы получаете нативный бинарник, который можно запускать без интерпретатора Python.

🔗 Подробнее
🔗 Github

@pro_python_code

#Python #Rust #fxn #Compiler #Performance #AI #ML #Wasm
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Machinelearning
🌟 Kimi-Audio: открытая модель для аудиозадач.

Kimi-Audio — инструктивная модель с 7 млрд. параметров, разработанная командой MoonshotAI, которая объединяет распознавание речи, анализ аудиоконтента и генерацию ответов в реальном времени в единую архитектуру. Модель показала SOTA-результаты на множестве аудиобенчмарков, от распознавания речи до эмоционального анализа.

Архитектура Kimi-Audio — это 3 компонента:

🟢Гибридный токенизатор, который преобразует аудио в дискретные семантические токены (12.5 Гц) через векторное квантование и дополняет их непрерывными акустическими признаками из Whisper.

🟢Модифицированная LLM (на базе Qwen 2.5 7B) с общими слоями для мультимодальных данных и раздельными «головами» для генерации текста и аудио.

🟢Детокенизатор на основе flow matching и BigVGAN. Он превращает токены обратно в звук с задержкой менее секунды благодаря чанковому потоковому декодированию и look-ahead механизму.

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

Для повышения качества сегменты объединялись по контексту, а транскрипции дополнялись пунктуацией на основе пауз. После предобучения на задачах ASR и TTS модель прошла этап SFT на 300 тыс. часов данных (развернутые диалоги и аудиочаты).

В тестах ASR Kimi-Audio показала: WER 1.28 на LibriSpeech test-clean против 2.37 у Qwen2.5-Omni. В аудиопонимании она лидирует на ClothoAQA (73.18) и MELD (59.13), а в классификации сцен (CochlScene) показывает 80.99 — на 17 пунктов выше ближайшего соперника. В диалогах модель близка к GPT-4o (3.90 против 4.06 по субъективной оценке).


📌 Лицензирование кода : Apache 2.0 License.

📌 Лицензирование модели: MIT License.


🟡Модель
🟡Техотчет
🖥GitHub


@ai_machinelearning_big_data

#AI #ML #KimiAudio #MoonshotAI
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🧠 RegExp: Как найти строки с IP-адресами в логах

Частая задача — выцепить IP-адреса из логов. Вот регулярка и однострочник, которые помогут:


grep -Eo '([0-9]{1,3}\.){3}[0-9]{1,3}' /var/log/nginx/access.log


📌 Что делает:
- -Eo — включаем расширенные регулярки и выводим только совпадения
- ([0-9]{1,3}\.){3}[0-9]{1,3} — шаблон для IPv4-адресов

💡 Можно дополнительно убрать дубликаты и отсортировать по частоте:


grep -Eo '([0-9]{1,3}\.){3}[0-9]{1,3}' /var/log/nginx/access.log | sort | uniq -c | sort -nr | head


🚀 Покажет топ IP-адресов по количеству обращений — удобно для анализа трафика и выявления подозрительной активности.
🎯 GitHub Copilot — обновления в Visual Studio 17.14 Preview 3

🎯 1) Более глубокая интеграция Copilot Chat
● Теперь чат встроен прямо в редактор, можно задать вопрос по коду без открытия панели.
● Выделяешь фрагмент — пишешь “Explain this” — ответ в tooltip.

🎯 2) Поддержка многих языков
● С++, C#, JavaScript, Python — лучше понимает контекст многоязычных проектов.
● Корректнее читает namespace, dependency, partial classes.

🎯 3) Действия напрямую из чата
● Теперь можно нажать Insert/Replace прямо в чате, и код появится в файле.
● Можно отменить через Undo в VS.

🎯 4) Встроенная документация
● Спросишь “How to use HttpClient in C#?” — получишь код и объяснение без браузера.

🎯 5) Новый UI Copilot Chat
● Стал компактнее, добавили markdown , свертывание длинных блоков.

👀 GitHub Copilot в VS все ближе к роли интерактивного ассистента — а не просто генератора. Уже пробовали?

✔️ Релиз
Please open Telegram to view this post
VIEW IN TELEGRAM
# 🔐 Современные алгоритмы шифрования: обзор и примеры

Шифрование — основа информационной безопасности. От мессенджеров и банковских систем до VPN — всё держится на надёжных алгоритмах шифрования.

Сегодня используются десятки алгоритмов, но среди них выделяются несколько актуальных, проверенных и широко применяемых. Давайте разберём их понятным языком.

---

## 1️⃣ AES (Advanced Encryption Standard)

AES — стандарт симметричного блочного шифрования. Принят в 2001 году, заменил DES. Используется один ключ для шифрования и дешифрования.

- Блок данных: 128 бит
- Ключи: 128, 192 или 256 бит
- Количество раундов: 10, 12, 14

### 💡 Где используется?

- HTTPS
- VPN (OpenVPN, WireGuard)
- ZIP-архивы
- WhatsApp, Signal

### 🐍 Пример на Python (PyCryptodome):


from Crypto.Cipher import AES
from Crypto.Random import get_random_bytes
from Crypto.Util.Padding import pad, unpad

key = get_random_bytes(16) # 128-битный ключ
cipher = AES.new(key, AES.MODE_CBC)

data = b"Secret message"
padded = pad(data, AES.block_size)
encrypted = cipher.encrypt(padded)

print("Encrypted:", encrypted)

# Для дешифрования нужен IV
iv = cipher.iv
cipher_dec = AES.new(key, AES.MODE_CBC, iv)
decrypted = unpad(cipher_dec.decrypt(encrypted), AES.block_size)

print("Decrypted:", decrypted.decode())


2️⃣ RSA (Rivest–Shamir–Adleman)

RSA — алгоритм с асимметричными ключами (есть открытый и закрытый ключи). Подходит для безопасной передачи данных и цифровых подписей.

- Размер ключей: от 1024 до 4096 бит
- Основан на сложности факторизации больших чисел

💡 Где используется?

- TLS/SSL
- PGP/GPG
- Электронные подписи

### 🐍 Пример на Python (cryptography):


from cryptography.hazmat.primitives.asymmetric import rsa, padding
from cryptography.hazmat.primitives import hashes

# Генерация ключей
private_key = rsa.generate_private_key(public_exponent=65537, key_size=2048)
public_key = private_key.public_key()

message = b"Secret message"

# Шифрование
ciphertext = public_key.encrypt(
message,
padding.OAEP(mgf=padding.MGF1(algorithm=hashes.SHA256()), algorithm=hashes.SHA256(), label=None)
)

print("Encrypted:", ciphertext)

# Дешифрование
plaintext = private_key.decrypt(
ciphertext,
padding.OAEP(mgf=padding.MGF1(algorithm=hashes.SHA256()), algorithm=hashes.SHA256(), label=None)
)

print("Decrypted:", plaintext.decode())


3️⃣ ChaCha20 (с поточной схемой Poly1305)

ChaCha20-Poly1305 — алгоритм поточного шифрования с аутентификацией. Быстрее AES на мобильных устройствах и устойчив к атакам на побочные каналы.

- Ключ: 256 бит
- Потоковый шифр + аутентификация (AEAD)

### 💡 Где используется?

- TLS 1.3
- Google Chrome
- WhatsApp
- OpenSSH

### 🐍 Пример на Python (cryptography):


from cryptography.hazmat.primitives.ciphers.aead import ChaCha20Poly1305
import os

key = ChaCha20Poly1305.generate_key()
nonce = os.urandom(12)

chacha = ChaCha20Poly1305(key)
data = b"Secret message"

# Шифрование
encrypted = chacha.encrypt(nonce, data, None)
print("Encrypted:", encrypted)

# Дешифрование
decrypted = chacha.decrypt(nonce, encrypted, None)
print("Decrypted:", decrypted.decode())



## 🏆 Как выбрать алгоритм?

| Задача | Алгоритм |
|------------------------------|------------------|
| Шифрование файлов | AES |
| Безопасная передача ключа | RSA |
| Быстрое шифрование в сети | ChaCha20-Poly1305|
| Цифровая подпись | RSA, ECDSA |

✍️ Вывод

- Для симметричного шифрования лучше использовать AES или ChaCha20.
- Для обмена ключами и подписей — RSA или эллиптические алгоритмы (ECDSA, ECDH).
- Все алгоритмы нужно использовать в правильных режимах и с дополнительными проверками целостности (например, GCM, Poly1305).

Современные алгоритмы — это не просто "шифрование", а комплексная система защиты данных. Выбирайте подходящий инструмент под задачу!

👉Подробнее
🔧 telegram-member-adder-scrapper

Автор: takitakir
Репозиторий: telegram-member-adder-scrapper

Описание:
Этот проект представляет собой скрипт для Telegram, который сочетает две ключевые функции:

1️⃣ Сбор участников (scraper):

Извлекает список пользователей из открытых Telegram-групп.

Полученные данные можно сохранять для дальнейшего использования.

2️⃣ Добавление участников (adder):

Позволяет массово добавлять собранных пользователей в целевую группу Telegram.

Поддерживает добавление через несколько аккаунтов, что снижает риск блокировки.

Особенности:

Автоматизация с помощью Telethon (Telegram API).
Поддержка мультиаккаунтов для обхода лимитов Telegram.
Простая конфигурация через config.data файл.
Возможность фильтровать участников по различным критериям.
Логирование процесса добавления и ошибок.

Применение:
💡 Проект используется для маркетинговых задач, прироста аудитории в Telegram-группах и быстрой миграции участников между чатами.

Важно:
🚫 Telegram строго запрещает массовое добавление пользователей без их согласия. Использование такого скрипта может привести к блокировке аккаунта или юридическим последствиям. Проект предоставлен только в образовательных целях.

👉 Github
Forwarded from Machinelearning
⚡️ HunyuanCustom: консистентная видеогенерация c инпейнтом и липсинком.

Tencent выпустила HunyuanCustom, фреймворк, который не только генерирует видео по заданным условиям, но и умеет сохранять консистентность субъектов, будь то человек, животное или предмет. Модель справляется даже с мультисубъектными сценами: в демо-роликах люди естественно взаимодействуют с предметами, а текст на упаковках не плывет между кадрами.

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

Но главное - это модуль временной конкатенации: он «растягивает» особенности изображения вдоль временной оси видео, используя 3D-VAE. Это помогает избежать «прыгающих» лиц или внезапных изменений фона, проблемы, которая характерна даже для топовых моделей видеогенерации.

Tencent переработали и пайплайн аудио. Для синхронизации звука с движениями губ или действиями в кадре HunyuanCustom использует AudioNet, модуль, который выравнивает аудио- и видеофичи через пространственное кросс-внимание.

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

Экспериментальные тесты показали, что HunyuanCustom обходит конкурентов по ключевым метрикам. Например, Face-Sim (сохранение идентичности лица) у Tencent — 0.627 против 0.526 у Hailuo, а с Keling, Vidu, Pika и Skyreels разрыв еще больше.

⚠️ Для работы модель требует минимум 24 ГБ видеопамяти для роликов 720p, но чтобы раскрыть все возможности, разработчики рекомендуют 80 ГБ VRAM.

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


📌Лицензирование кода : Tencent Hunyuan Community License.


🟡Страница проекта
🟡Модель
🟡Arxiv
🖥GitHub


@ai_machinelearning_big_data

#AI #ML #Video #HunyuanCustom #Tencent
Please open Telegram to view this post
VIEW IN TELEGRAM
🐍 Python-задача с подвохом: “Список-призрак”

📘 Условие

Посмотри на этот код:


def append_item(item, lst=[]):
lst.append(item)
return lst

result1 = append_item(1)
result2 = append_item(2)
result3 = append_item(3)

print(result1)
print(result2)
print(result3)


Вопрос:
Что выведет программа и почему?

🔍 Варианты ответа:

А)

[1]
[2]
[3]


Б)

[1]
[1, 2]
[1, 2, 3]


В)

[3]
[3]
[3]


Правильный ответ: Б

Почему?

💥 Подвох: аргумент lst=[] — мутабельный объект, и он создаётся только один раз при определении функции, а не при каждом вызове.

📌 То есть каждый вызов append_item модифицирует один и тот же список, который "помнит" все предыдущие элементы.

Как исправить:


def append_item(item, lst=None):
if lst is None:
lst = []
lst.append(item)
return lst


Теперь каждый вызов создаёт новый список, если его не передали явно.

⚠️ Подвох

• Аргументы по умолчанию вычисляются один раз
• Это работает и с dict, и с set, и с любыми объектами
• Даже опытные Python-разработчики иногда "попадаются" на этом

🎯 Отлично подходит для проверки глубокого понимания поведения функций в Python.
💡 Извлечение ключевых данных из документов

Подписи:

➡️ Document Content → Содержание документа

➡️ Define Context(Aspect) → Определите контекст (Аспект)

➡️ Select your LLM Model → Выберите модель LLM

➡️ Extract information → Извлеките информацию