This media is not supported in your browser
VIEW IN TELEGRAM
🖥 Молниеносный HTML-парсинг: selectolax быстрее BS4 в разы
Полезный трюк: быстро парсим HTML прямо из строки с помощью selectolax — лёгкой и очень быстрой библиотеки на C, в разы быстрее BeautifulSoup.
Установка:
pip install selectolax
Пример:
from selectolax.parser import HTMLParser
html = """
<html><body> <h1>Hello</h1> <p class='msg'>World</p> </body></html> """
tree = HTMLParser(html)
print(tree.css_first("h1").text()) # Hello
print(tree.css_first("p.msg").text()) # World
@python_be1
Полезный трюк: быстро парсим HTML прямо из строки с помощью selectolax — лёгкой и очень быстрой библиотеки на C, в разы быстрее BeautifulSoup.
Установка:
pip install selectolax
Пример:
from selectolax.parser import HTMLParser
html = """
<html><body> <h1>Hello</h1> <p class='msg'>World</p> </body></html> """
tree = HTMLParser(html)
print(tree.css_first("h1").text()) # Hello
print(tree.css_first("p.msg").text()) # World
@python_be1
ИИ впервые взял золото на Международной олимпиаде по информатике
OpenAI сообщила, (https://x.com/sherylhsu02/status/1954966109851119921?s=46) что их экспериментальная модель заняла первое место среди всех ИИ-моделей и 6 место среди 330 кожаных участников на сложнейшей Олимпиаде по информатике для школьников.
Это без выхода в интернет, RAG, специального обучения и с теми же условиями, что и у людей.
И тут OpenAI проиграла азиатам 😁
@python_be1
OpenAI сообщила, (https://x.com/sherylhsu02/status/1954966109851119921?s=46) что их экспериментальная модель заняла первое место среди всех ИИ-моделей и 6 место среди 330 кожаных участников на сложнейшей Олимпиаде по информатике для школьников.
Это без выхода в интернет, RAG, специального обучения и с теми же условиями, что и у людей.
И тут OpenAI проиграла азиатам 😁
@python_be1
Проходим сложные собеседования без проблем — тулза cheating daddy (https://cheatingdaddy.com/) поможет получить самый жирный оффер.
Сервис генерирует готовые ответы для HR в реальном времени. Работает быстро и четко. Помимо генерации ответов, тулза умеет подсказывать формулировки, приводить примеры кода, напоминать о ключевых алгоритмах и даже корректировать технические неточности в ответах.
Все это в ПОЛНОЙ «невидимости». Сервис функционирует без сбоев, а при подключении бесплатного Gemini API раскрывает весь свой потенциал. Остается только не вылететь с работы через месяц.
Срочно забираем имбу — здесь. (https://cheatingdaddy.com/)
@python_be1
Сервис генерирует готовые ответы для HR в реальном времени. Работает быстро и четко. Помимо генерации ответов, тулза умеет подсказывать формулировки, приводить примеры кода, напоминать о ключевых алгоритмах и даже корректировать технические неточности в ответах.
Все это в ПОЛНОЙ «невидимости». Сервис функционирует без сбоев, а при подключении бесплатного Gemini API раскрывает весь свой потенциал. Остается только не вылететь с работы через месяц.
Срочно забираем имбу — здесь. (https://cheatingdaddy.com/)
@python_be1
This media is not supported in your browser
VIEW IN TELEGRAM
🔥 Python: Быстрое измерение времени выполнения кода с контекстным менеджером
Полезный трюк для Python-разработчиков: если вам нужно замерить время работы конкретного участка кода, можно использовать контекстный менеджер перф каунтер вместе с with.
Это позволит быстро и удобно профилировать фрагменты без громоздких измерений и принтов. Такой приём особенно полезен при оптимизации производительности.
@python_be1
Полезный трюк для Python-разработчиков: если вам нужно замерить время работы конкретного участка кода, можно использовать контекстный менеджер перф каунтер вместе с with.
Это позволит быстро и удобно профилировать фрагменты без громоздких измерений и принтов. Такой приём особенно полезен при оптимизации производительности.
@python_be1
Для продвинутых администраторов Linux есть одна команда, которая может значительно облегчить управление системами — это 'lsof'. Эта утилита позволяет просмотреть список открытых файлов и сокетов в системе, что крайне полезно для диагностики и мониторинга. Например, если вам нужно выяснить, какой процесс использует определённый порт, просто выполните 'lsof -i :<порт>'. Это даст вам информацию о процессе, который его использует, включая PID и имя пользователя.
Используя 'lsof', администраторы могут быстро находить утечки памяти, следить за активностью сетевых соединений и даже выявлять несанкционированные доступы. Кроме того, команда позволяет фильтровать вывод по различным критериям, что делает её мощным инструментом для анализа состояния системы и устранения проблем.
@python_be1
Используя 'lsof', администраторы могут быстро находить утечки памяти, следить за активностью сетевых соединений и даже выявлять несанкционированные доступы. Кроме того, команда позволяет фильтровать вывод по различным критериям, что делает её мощным инструментом для анализа состояния системы и устранения проблем.
@python_be1
Для продвинутых пользователей Linux одна из самых мощных команд — это 'strace'. Эта утилита позволяет отслеживать системные вызовы и сигналы, которые генерируются процессом в реальном времени. Вы можете использовать 'strace -p <PID>' для мониторинга конкретного процесса, чтобы увидеть, какие файлы он открывает, какие сетевые запросы отправляет и какие ошибки возникают. Это бесценный инструмент для отладки и диагностики, позволяющий получить детализированную информацию о работе приложения и его взаимодействии с операционной системой. Например, если приложение не может открыть файл, 'strace' покажет, какие именно вызовы были сделаны и почему они не удались. Это значительно ускоряет процесс поиска и устранения неполадок, особенно в сложных системах.
@python_be1
@python_be1
📸 Разработчик запустил свой код на сервере, имея лишь возможность изменения содержимого комментария в Python-скрипте
Участник соревнования UIUCTF 2025 обошёл ограничения задачи, где можно было изменять только содержимое комментария в Python-скрипте и подробно рассказал об этом. Вместо поиска уязвимостей в парсере, он использовал особенность интерпретатора — выполнение ZIP-архивов как Python-кода.
Секрет в структуре ZIP-файлов: Python ищет метаданные в конце архива, что позволило вставить архив в комментарий, сохранив валидность исходного скрипта. При запуске такого скрипта выполнялся код из<i> </i><i>main.</i>py внутри архива.
🔗 Ссылка - *клик* (https://www.hacktron.ai/blog/posts/python-zip-confusion/)
@python_be1
Участник соревнования UIUCTF 2025 обошёл ограничения задачи, где можно было изменять только содержимое комментария в Python-скрипте и подробно рассказал об этом. Вместо поиска уязвимостей в парсере, он использовал особенность интерпретатора — выполнение ZIP-архивов как Python-кода.
Секрет в структуре ZIP-файлов: Python ищет метаданные в конце архива, что позволило вставить архив в комментарий, сохранив валидность исходного скрипта. При запуске такого скрипта выполнялся код из<i> </i><i>main.</i>py внутри архива.
🔗 Ссылка - *клик* (https://www.hacktron.ai/blog/posts/python-zip-confusion/)
@python_be1
This media is not supported in your browser
VIEW IN TELEGRAM
🎮 GPT-5 прошёл Pokémon Red!
6 470 шагов против 18 184 у o3 — колоссальный прогресс в эффективности.
• GPT-5 гораздо реже «галлюцинирует» — главный фактор ускорения.
• Лучшая пространственная логика: o3 часто пытался «пробиться» сквозь стены и путался в сложных локациях, а GPT-5 умеет планировать длинные последовательности действий с минимумом ошибок.
• Более чёткое планирование целей и их последовательное выполнение.
Теперь посмотрим, как он справится с финальным испытанием! 🔥
🔜 Следующий челлендж: GPT-5 играет Pokémon Crystal. Старт скоро на Twitch!
Livestream: https://twitch.tv/gpt_plays_pokemon
@python_be1
6 470 шагов против 18 184 у o3 — колоссальный прогресс в эффективности.
• GPT-5 гораздо реже «галлюцинирует» — главный фактор ускорения.
• Лучшая пространственная логика: o3 часто пытался «пробиться» сквозь стены и путался в сложных локациях, а GPT-5 умеет планировать длинные последовательности действий с минимумом ошибок.
• Более чёткое планирование целей и их последовательное выполнение.
Теперь посмотрим, как он справится с финальным испытанием! 🔥
🔜 Следующий челлендж: GPT-5 играет Pokémon Crystal. Старт скоро на Twitch!
Livestream: https://twitch.tv/gpt_plays_pokemon
@python_be1
Еще одна полезная команда для системных администраторов — 'nc', или Netcat. Эта утилита позволяет отправлять и получать данные по сетевым соединениям, и может использоваться для множества задач: от отладки сетевых сервисов до создания простых чатов. Например, с помощью 'nc -l -p <порт>' вы можете создать прослушивающий сокет, который будет ждать входящих соединений. Это дает вам возможность протестировать, как ваши приложения взаимодействуют по сети, и выявлять проблемы с подключениями. Также 'nc' может быть использован для передачи файлов между машинами или для создания туннелей, что делает его настоящим швейцарским армейским ножом для сетевых администраторов.
@python_be1
@python_be1
Если вы хотите оптимизировать операции с множествами в Python, обратите внимание на использование 'frozenset'. Этот неизменяемый аналог обычного 'set' может быть использован в качестве ключей в словарях, что расширяет ваши возможности работы с данными. Например, вместо использования обычного множества в качестве ключа, создайте 'frozenset', чтобы избежать ошибок, связанных с изменяемостью. Это также позволяет создавать более сложные структуры данных, обеспечивая при этом неизменяемость. Пример создания 'frozenset': 'frozen_set = frozenset([1, 2, 3])'. С его помощью вы сможете легко проверять наличие элементов и выполнять другие операции над множествами.
@python_be1
@python_be1
🚀 Ускоряем работу с данными с помощью Delta Lake
Когда нужно добавить новые данные к уже существующему набору, есть два подхода:
🔴 Без Delta Lake
- Сначала загружаешь все старые данные (например, 10 000 записей) из CSV.
- Загружаешь новые данные (например, 50 записей).
- Объединяешь их, что требует обработки всех 10 050 записей.
- Это медленно, расходует память и ресурсы.
🟢 С Delta Lake
- Хранишь данные в формате Delta Lake.
- Загружаешь только новые записи (например, 50 штук).
- Добавляешь их напрямую в существующую таблицу с помощью `append`, обрабатывая только новые данные.
- Экономия времени, памяти и ресурсов.
💡 Преимущества Delta Lake:
- Инкрементальная загрузка данных.
- Работа с большими объёмами без полной перезагрузки.
- Поддержка транзакций (ACID).
- Совместимость с большими дата-платформами (Spark, Pandas и др.).
📊 Если у тебя миллионы строк — выигрыш в скорости будет колоссальным.
@python_be1
Когда нужно добавить новые данные к уже существующему набору, есть два подхода:
🔴 Без Delta Lake
- Сначала загружаешь все старые данные (например, 10 000 записей) из CSV.
- Загружаешь новые данные (например, 50 записей).
- Объединяешь их, что требует обработки всех 10 050 записей.
- Это медленно, расходует память и ресурсы.
🟢 С Delta Lake
- Хранишь данные в формате Delta Lake.
- Загружаешь только новые записи (например, 50 штук).
- Добавляешь их напрямую в существующую таблицу с помощью `append`, обрабатывая только новые данные.
- Экономия времени, памяти и ресурсов.
💡 Преимущества Delta Lake:
- Инкрементальная загрузка данных.
- Работа с большими объёмами без полной перезагрузки.
- Поддержка транзакций (ACID).
- Совместимость с большими дата-платформами (Spark, Pandas и др.).
📊 Если у тебя миллионы строк — выигрыш в скорости будет колоссальным.
@python_be1
Только что в России начали работать нейросети от Google — без обхода блокировок и без смены региона.
Пробуем тут. (https://gemini.google.com/app)
@python_be1
Пробуем тут. (https://gemini.google.com/app)
@python_be1
This media is not supported in your browser
VIEW IN TELEGRAM
🚀 ByteDance выкатили **UI-TARS Desktop** — опенсорсный AI-агент для управления рабочим столом
📌 Что умеет:
- Управлять любыми приложениями через язык — клики, ввод текста, навигация
- Работает локально, бесплатно и под лицензией Apache 2.0
- Поддержка Windows и macOS (Linux в разработке)
- Новое в v0.2.0 — удалённое управление компьютером и браузером (пока только для материкового Китая)
📌 Зачем нужен:
- Локальный и приватный ассистент без облака
- Полезен для RPA, автоматизации и тестирования
- Основан на визуально-языковой модели, которая распознаёт интерфейсы и взаимодействует с ними
📂 Код: github.com/bytedance/UI-TARS-desktop
@python_be1
📌 Что умеет:
- Управлять любыми приложениями через язык — клики, ввод текста, навигация
- Работает локально, бесплатно и под лицензией Apache 2.0
- Поддержка Windows и macOS (Linux в разработке)
- Новое в v0.2.0 — удалённое управление компьютером и браузером (пока только для материкового Китая)
📌 Зачем нужен:
- Локальный и приватный ассистент без облака
- Полезен для RPA, автоматизации и тестирования
- Основан на визуально-языковой модели, которая распознаёт интерфейсы и взаимодействует с ними
📂 Код: github.com/bytedance/UI-TARS-desktop
@python_be1
🧪 uQLM — движок для SQL‑запросов к LLM, разработанный в CVS Health
Что если к языковой модели можно обращаться как к обычной базе данных?
💡 uQLM (Universal Query Language for Models) позволяет писать SQL‑подобные запросы, чтобы:
✅ Обращаться к LLM как к таблице
✅ Фильтровать, агрегировать и комбинировать ответы
✅ Подключать собственные модели и источники данных
✅ Использовать привычный синтаксис SQL без prompt-инженерии
📌 Пример запроса:
```
SELECT generate_response(prompt)
FROM gpt4
WHERE prompt LIKE '%explain%'
LIMIT 5;
```
uQLM работает как прослойка между пользователем и языковой моделью, облегчая интеграцию ИИ в аналитические пайплайны.
🔗 GitHub: https://github.com/cvs-health/uqlm
@python_be1
Что если к языковой модели можно обращаться как к обычной базе данных?
💡 uQLM (Universal Query Language for Models) позволяет писать SQL‑подобные запросы, чтобы:
✅ Обращаться к LLM как к таблице
✅ Фильтровать, агрегировать и комбинировать ответы
✅ Подключать собственные модели и источники данных
✅ Использовать привычный синтаксис SQL без prompt-инженерии
📌 Пример запроса:
```
SELECT generate_response(prompt)
FROM gpt4
WHERE prompt LIKE '%explain%'
LIMIT 5;
```
uQLM работает как прослойка между пользователем и языковой моделью, облегчая интеграцию ИИ в аналитические пайплайны.
🔗 GitHub: https://github.com/cvs-health/uqlm
@python_be1
😂MrBeast устраивает (https://nomusica.com/mrbeast-announces-1-million-coding-challenge-for-software-engineers/) конкурс для разработчиков, лол
Сообщается, что в конкурсе примут участие 100 инженеров-программистов, работающих без доступа к Cursor
@python_be1
Сообщается, что в конкурсе примут участие 100 инженеров-программистов, работающих без доступа к Cursor
@python_be1
🐍 Почему Python `deepcopy()` такой медленный и что использовать вместо
Функция `copy.deepcopy()` кажется удобной: она создаёт полную копию объекта со всеми вложенными структурами. Но на практике она часто оказывается очень медленной и становится бутылочным горлышком в проектах. Давайте разберёмся почему так происходит и какие есть альтернативы.
🔥 Почему `deepcopy()` тормозит
1. Рекурсия на всём дереве объектов
Python проходит по каждому вложенному элементу, даже если их сотни тысяч.
2. Определение метода копирования
Для каждого объекта проверяется, можно ли вызвать `__deepcopy__`, или приходится идти стандартным путём.
3. Memo-словарь для ссылок
Чтобы избежать бесконечных циклов при копировании (например, объект ссылается сам на себя), Python ведёт словарь уже скопированных элементов. Это полезно, но замедляет работу.
4. Реализация на чистом Python
В отличие от сериализации (`pickle`), `deepcopy()` не ускорена на уровне C, поэтому работает медленнее.
📊 Пример замеров скорости
```
import copy, pickle, time
data = [[i for i in range(1000)] for _ in range(1000)]
# deepcopy
start = time.time()
a = copy.deepcopy(data)
print("deepcopy:", time.time() - start)
```
```
# pickle
start = time.time()
b = pickle.loads(pickle.dumps(data))
print("pickle roundtrip:", time.time() - start)
```
```python
# list comprehension (для списков списков)
start = time.time()
c = [sub[☺ for sub in data]
print("manual copy:", time.time() - start)
````
`
💻 Результат (у вас может отличаться, но смысл тот же):
- d`eepcopy:` ~2.5 сек
- p`ickle:` ~0.8 сек
- р`учное копирование:` ~0.02 сек (!)
⚡ Когда что использовать
✅ copy.deepcopy()
Подходит, если структура очень сложная, а вам нужна стопроцентно независимая копия.
✅ pickle.loads(pickle.dumps(obj))
Быстрее на больших структурах, плюс удобно, если данные нужно сохранять.
✅ json.loads(json.dumps(obj))
Хорошо для простых словарей и списков с базовыми типами.
✅ Ручное копирование (list comprehension, dict comprehension)
Лучший вариант, если вы знаете структуру данных и хотите максимум скорости.
📌 Итог
d`eepcopy() `— это универсальный инструмент, но он платит за универсальность скоростью.
Если важна производительность — используйте сериализацию или ручные методы копирования, они могут быть в десятки и сотни раз быстрее.
Ставь 🔥, сохраняй себе в копилку Python-трюков, чтобы не забыть 😉
@python_be1
Функция `copy.deepcopy()` кажется удобной: она создаёт полную копию объекта со всеми вложенными структурами. Но на практике она часто оказывается очень медленной и становится бутылочным горлышком в проектах. Давайте разберёмся почему так происходит и какие есть альтернативы.
🔥 Почему `deepcopy()` тормозит
1. Рекурсия на всём дереве объектов
Python проходит по каждому вложенному элементу, даже если их сотни тысяч.
2. Определение метода копирования
Для каждого объекта проверяется, можно ли вызвать `__deepcopy__`, или приходится идти стандартным путём.
3. Memo-словарь для ссылок
Чтобы избежать бесконечных циклов при копировании (например, объект ссылается сам на себя), Python ведёт словарь уже скопированных элементов. Это полезно, но замедляет работу.
4. Реализация на чистом Python
В отличие от сериализации (`pickle`), `deepcopy()` не ускорена на уровне C, поэтому работает медленнее.
📊 Пример замеров скорости
```
import copy, pickle, time
data = [[i for i in range(1000)] for _ in range(1000)]
# deepcopy
start = time.time()
a = copy.deepcopy(data)
print("deepcopy:", time.time() - start)
```
```
# pickle
start = time.time()
b = pickle.loads(pickle.dumps(data))
print("pickle roundtrip:", time.time() - start)
```
```python
# list comprehension (для списков списков)
start = time.time()
c = [sub[☺ for sub in data]
print("manual copy:", time.time() - start)
````
`
💻 Результат (у вас может отличаться, но смысл тот же):
- d`eepcopy:` ~2.5 сек
- p`ickle:` ~0.8 сек
- р`учное копирование:` ~0.02 сек (!)
⚡ Когда что использовать
✅ copy.deepcopy()
Подходит, если структура очень сложная, а вам нужна стопроцентно независимая копия.
✅ pickle.loads(pickle.dumps(obj))
Быстрее на больших структурах, плюс удобно, если данные нужно сохранять.
✅ json.loads(json.dumps(obj))
Хорошо для простых словарей и списков с базовыми типами.
✅ Ручное копирование (list comprehension, dict comprehension)
Лучший вариант, если вы знаете структуру данных и хотите максимум скорости.
📌 Итог
d`eepcopy() `— это универсальный инструмент, но он платит за универсальность скоростью.
Если важна производительность — используйте сериализацию или ручные методы копирования, они могут быть в десятки и сотни раз быстрее.
Ставь 🔥, сохраняй себе в копилку Python-трюков, чтобы не забыть 😉
@python_be1
🎙️ NVIDIA выпустили Canary-1B v2 — открытую модель для распознавания и перевода речи, которая работает с 25 европейскими языками.
Что она умеет:
- 📝 Точное ASR (распознавание речи) и AST (перевод речи) между английским и 24 другими языками.
- Автоматическая пунктуация, капитализация и точные таймстампы до слова.
- Поддержка русского, французского, немецкого, испанского и многих других языков.
Чем интересна
- До 10× быстрее инференс, чем у моделей в 3 раза больше.
- Уже показывает state-of-the-art точность среди открытых моделей на Hugging Face.
- Лицензия CC-BY-4.0 — можно свободно использовать в проектах.
Под капотом:
- Архитектура: FastConformer-энкодер + Transformer-декодер (~978M параметров).
- Форматы: `.wav` и `.flac`, моно 16 кГц.
- Легко интегрируется через NVIDIA NeMo или прямо с Hugging Face.
Где пригодится:
🟢 голосовые ассистенты
🟢 субтитры и перевод видео
🟢 чат-боты с речевым вводом
🟢 real-time анализ речи
Всего ~978M параметров → легче, быстрее и дешевле в использовании, чем большие модели конкурентов.
🟠 Попробовать можно здесь: https://huggingface.co/nvidia/canary-1b-v2
🟠SET: https://huggingface.co/datasets/nvidia/Granary
🟠PARAKEET: https://huggingface.co/nvidia/parakeet-tdt-0.6b-v3
#AI #NVIDIA #SpeechRecognition #ASR #AST #Multilingual #MachineLearning #DeepLearning
@python_be1
Что она умеет:
- 📝 Точное ASR (распознавание речи) и AST (перевод речи) между английским и 24 другими языками.
- Автоматическая пунктуация, капитализация и точные таймстампы до слова.
- Поддержка русского, французского, немецкого, испанского и многих других языков.
Чем интересна
- До 10× быстрее инференс, чем у моделей в 3 раза больше.
- Уже показывает state-of-the-art точность среди открытых моделей на Hugging Face.
- Лицензия CC-BY-4.0 — можно свободно использовать в проектах.
Под капотом:
- Архитектура: FastConformer-энкодер + Transformer-декодер (~978M параметров).
- Форматы: `.wav` и `.flac`, моно 16 кГц.
- Легко интегрируется через NVIDIA NeMo или прямо с Hugging Face.
Где пригодится:
🟢 голосовые ассистенты
🟢 субтитры и перевод видео
🟢 чат-боты с речевым вводом
🟢 real-time анализ речи
Всего ~978M параметров → легче, быстрее и дешевле в использовании, чем большие модели конкурентов.
🟠 Попробовать можно здесь: https://huggingface.co/nvidia/canary-1b-v2
🟠SET: https://huggingface.co/datasets/nvidia/Granary
🟠PARAKEET: https://huggingface.co/nvidia/parakeet-tdt-0.6b-v3
#AI #NVIDIA #SpeechRecognition #ASR #AST #Multilingual #MachineLearning #DeepLearning
@python_be1
huggingface.co
nvidia/canary-1b-v2 · Hugging Face
We’re on a journey to advance and democratize artificial intelligence through open source and open science.