Python RU
12.5K subscribers
1.03K photos
98 videos
40 files
1.27K links
Все для python разработчиков

админ - @haarrp

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

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

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

@programming_books_it - it книги

@pythonl

РКН: clck.ru/3Fmy2j
Download Telegram
⚡️ Linux Roadmap: подробный практический курс от нуля до уверенного администратора

Это пошаговый маршрут изучения Linux с упором на практику. Каждый раздел содержит объяснение «почему это устроено именно так», разбор команд и обязательные задания, которые нужно выполнить руками в терминале. Чтение без повторения навыка не даёт — держите терминал открытым рядом с этим текстом.

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

https://github.com/justxor/linuxfullroadmap/
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍1
⚡️ Python иногда умеет выглядеть как тёмная магия.

Вот однострочный quicksort через lambda:


q = lambda x: x and q([i for i in x[1:] if i <= x[0]]) + [x[0]] + q([i for i in x[1:] if i > x[0]])


Что тут происходит:

* берём первый элемент как pivot
* всё, что меньше или равно ему, рекурсивно сортируем слева
* сам pivot ставим в центр
* всё, что больше, рекурсивно сортируем справа
* если список пустой, возвращается пустой список

Работает красиво, но в продакшен так писать не надо. Это скорее пример того, насколько гибким может быть Python, чем нормальный стиль кода.

Минусы очевидные: плохая читаемость, рекурсия, лишние списки на каждом шаге и риск упереться в лимит рекурсии.

Но как демонстрация идеи quicksort в одну строку — выглядит эффектно.
Please open Telegram to view this post
VIEW IN TELEGRAM
👎4👍2
This media is not supported in your browser
VIEW IN TELEGRAM
Какую модель Claude выбрать в 2026: Sonnet, Opus, Haiku и подписки Pro/Max

Если нужен Claude для ежедневной работы, базовый выбор - Sonnet 4.6.

Он хорошо закрывает почти всё: посты, новости, сценарии, озвучки, переводы, саммари, ресёрч по текстам, правки и обычные рабочие задачи. Это самая сбалансированная модель по качеству, скорости и стоимости.

Opus 4.8 лучше не тратить на рутину. Его стоит включать там, где реально нужна глубина:

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

Haiku 4.5 — это модель для потока. Быстрые черновики, массовая обработка, классификация, простые переписывания, генерация вариантов, дешёвые итерации. Там, где важнее скорость и объём, чем максимальная глубина.

По подпискам логика такая:

Pro подойдёт, если Claude нужен периодически: написать текст, проверить идею, помочь с небольшим кодом. Но при длинных чатах, картинках, Claude Code и частых итерациях лимиты быстро начинают мешать.

Max 5x — самый практичный вариант для активной ежедневной работы. Его обычно хватает для контента, кода, анализа, длинных обсуждений и нормального рабочего ритма.

Max 20x имеет смысл брать только тем, кто реально живёт в Claude: весь день гоняет Claude Code, агентов, большие репозитории, длинные сессии и тяжёлые задачи.

Итог простой:

Для большинства оптимальная связка — Sonnet 4.6 + Max 5x.

Haiku — для быстрых массовых задач.
Opus — только для действительно сложных случаев.
Max 20x — если Claude стал основным рабочим инструментом на весь день.

#claude #claudecode #ai #нейросети
1
🔥 SPRINT OFFER: Инженер по автоматизации тестирования (Python)

Оффер за 5 дней – и вы в команде, которая создает программные системы для российской низкоорбитальной спутниковой группировки 🚀

БЮРО 1440 – место, где инженерные решения становятся частью технологий, определяющих будущее спутниковой связи и передачи данных. Команда нанимает в департамент "Единые системы управления и разработка ПО", где инженеры разрабатывают цифровые двойники, инструменты проектирования космической системы, внутреннее облако, дата-платформу, инструменты для разработчиков и системы управления разработкой, занимается тестированием и раскаткой ПО.

📍 Чем предстоит заниматься:
• Проводить полный цикл тестирования API, UI, GUI;
• Разрабатывать инструменты тестирования для космических систем;
• Развивать и оптимизировать тестовые фреймворки и интегрировать качество в CI/CD;
• Участвовать в технических обсуждениях, код-ревью и планировании.
Мы ищем инженеров уровня Middle и Senior с опытом в тестировании от 5 лет, высшим техническим образованием и опытом по автоматизации тестирования на Python от 3 лет.  

⚙️ Как проходит SPRINT OFFER:
1️⃣ Подайте заявку до 24 июня;
2️⃣ Пройдите техническое и менеджерское интервью;
3️⃣ Получите оффер в течение 5 рабочих дней.

💼 Что предлагаем:
🚀 Удалённую работу по РФ, гибридный формат или офис;
🚀 Участие в разработке космических технологий и спутниковых систем связи;
🚀 Карьерный рост внутри команды и возможность развиваться в смежных направлениях;
🚀 Возможность участия в профессиональных конференциях, тренингах и обучение в собственной академии за счет компании;
🚀 ДМС со стоматологией, страхование, корпоративные скидки и комплексная программа поддержки сотрудников.

Оставляйте заявку до 24 июня и присоединяйтесь к команде БЮРО 1440, которая создаёт связь нового поколения!
3
This media is not supported in your browser
VIEW IN TELEGRAM
5 вещей, которые надо сделать до старта Python-проекта

Перед стартом Python-проекта сделай базовый набор, который потом спасёт нервы.

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

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

И главное: сразу сделай нормальную структуру папок, README и проверку перед коммитом.

Минимум простой: окружение, зависимости, форматирование, тесты и порядок в папках.

Это не занудство.
Это разница между проектом, который можно развивать, и папкой, которую страшно открыть через неделю.
4👍1
🐍 Python Парсинг: Большой продвинутый бесплатный курс

Полное практическое руководство по веб-скрейпингу на Python — от основ HTTP до production-grade пауков, обхода антибот-защит, асинхронности и проектирования надёжных пайплайнов. Каждый раздел содержит рабочие примеры, типовые ошибки и продвинутые практики.

https://github.com/justxor/Pythonparsing-/tree/main
🔥5
Больше никаких ожиданий: зеркало PyPI на GitVerse! ⚡️

Python‑пакеты теперь на российской платформе GitVerse, а это значит — скорость и стабильность вышли на новый уровень.

Зависимости стали быстрее, а пайплайны больше не завязаны на доступность внешнего PyPI — звучит как мечта!

Смотрите, как подключить зеркало, тестируйте и ставьте его как основной источник или держите как резерв!
👎31
OpenAI выпустила полную версию GPT-5.5-Cyber — своей самой продвинутой модели для авторизованной защитной кибербезопасности.

Новая модель набрала 85,6% на CyberGym и обошла:

• Mythos 5 — 83,8%

• раннюю версию GPT-5.5-Cyber — 81,9%

• GPT-5.5 — 81,8%

• GPT-5.4 — 79,0%

• Claude Opus 4.7 — 73,1%

Главный акцент — не на «хакинге ради хакинга», а на легальной defensive security: анализе уязвимостей, проверке систем, аудите кода и помощи security-командам.

https://x.com/sama/status/2069121360744550796
2👍1
Один из главных мифов вокруг ИИ-кодинга: достаточно найти правильный промпт — и модель начнет писать хороший код

Но на практике два разработчика могут отправить одинаковый запрос: «создай API для пользователей» — и получить совершенно разный результат. Один получит аккуратный FastAPI-сервис с типами, тестами и обработкой ошибок. Другой — код, который придется переписывать после первого изменения.

Причина часто не в модели.

LLM (большие языковые модели) не знает, как устроен ваш проект: какие архитектурные решения приняты, какие стандарты действуют и что команда считает качественным результатом.

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

На бесплатном вебинаре karpovꓸcourses «ИИ-агенты и профессиональная разработка на Python» Алексей Жиряков покажет вживую, почему ИИ-код ломается в реальных проектах и как это исправлять.

Алексей — исполнительный директор в Сбере, занимается развитием генеративного ИИ, а до этого более 15 лет работал в backend-разработке и руководил инженерными командами.

Будет живое демо поверх готового репозитория: как настроить процесс, получить более чистый типизированный код и использовать продакшен-подход вроде связки «дешевая модель пишет — дорогая ревьюит», которая помогает снижать стоимость генерации.

Присоединяйтесь по ссылке, а после регистрации вы получите гайд «Почему ваш ИИ пишет не то: LLM против ИИ-агента»: https://clc.to/erid_2W5zFHoKYJV

Реклама. ООО «КАРПОВ КУРСЫ». ИНН 7811764627. erid: 2W5zFHoKYJV
2
Один декоратор в Python может убрать сотни лишних запросов

В Python есть встроенный кэш, о котором часто забывают: lru_cache из functools.

Он запоминает результат функции и при повторном вызове с теми же аргументами не считает всё заново.


from functools import lru_cache

@lru_cache(maxsize=128)
def get_user(user_id: int):
print("Идём в базу...")
return load_user_from_db(user_id)

get_user(42) # запрос в базу
get_user(42) # результат из кэша


Где полезно:

1. дорогие вычисления
2. парсинг конфигов
3. API-запросы
4. рекурсивные алгоритмы
5. справочники и метаданные

Есть и продвинутые фишки:


get_user.cache_info()
get_user.cache_clear()


Первое покажет hit/miss статистику, второе очистит кэш.

Главное помнить: lru_cache хорош для чистых функций, где результат зависит только от аргументов.

Для случайных данных, времени, прав доступа и часто меняющейся базы лучше не использовать вслепую.
👍42
🖥 Python-трюк: `iter()` умеет работать как цикл до стоп-сигнала

Многие знают iter() только для списков, но у него есть второй режим:


iter(callable, sentinel)


Он вызывает функцию снова и снова, пока она не вернёт sentinel.

Например, читать большой файл кусками без while True:


with open("video.mp4", "rb") as f:
for chunk in iter(lambda: f.read(8192), b""):
process(chunk)


Что происходит:

lambda читает по 8192 байта
• когда файл закончится, read() вернёт b""
• цикл сам остановится

Выглядит мелко, но это чистый и питоновский способ убрать вечные:


while True:
chunk = f.read(8192)
if not chunk:
break


Редкая штука, которую приятно знать.
Please open Telegram to view this post
VIEW IN TELEGRAM
2