Иногда задачи запускаются, но не завершаются — и это может привести к сбоям, потерянным данным или поломке бизнес-процессов.
В этой задаче:
• Разбираем простой лог-файл.
• Находим задачи без строки "Завершено".
• Собираем список зависших job'ов с деталями.
Без сторонних библиотек, пригодится для мониторинга.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥21👍8❤6🤝1
Например, список поддерживает индексацию, изменяемый и хранит дубликаты, а множество хранит только уникальные элементы и не имеет порядка.
На картинке — краткая сводка по основным типам данных с их свойствами: порядок, изменяемость, дубликаты и индексация.
Сохрани, чтобы не забыть!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥24❤14👍9😁3👎1
Готовим картинки для продакшна!
Сделаем мини-утилиту на Python, которая автоматически сжимает все изображения в папке — без потери визуального качества.
Импортируем
Создадим функцию сжатия: откроем изображение безопасно, сохраним с оптимизацией и нужным качеством:
Обойдём все файлы и применим сжатие к JPG и PNG:
🔥 Теперь все изображения в папке
👉 Python Ready | #практика
Сделаем мини-утилиту на Python, которая автоматически сжимает все изображения в папке — без потери визуального качества.
Импортируем
Pillow
и подготовим рабочие директории:from PIL import Image
import os
FOLDER = "images"
OUTPUT = "compressed"
os.makedirs(OUTPUT, exist_ok=True)
Создадим функцию сжатия: откроем изображение безопасно, сохраним с оптимизацией и нужным качеством:
def compress_image(path):
with Image.open(path) as img:
format = img.format if img.format in ("JPEG", "PNG") else "JPEG"
img.save(
os.path.join(OUTPUT, os.path.basename(path)),
format=format,
optimize=True,
quality=85 # только для JPEG, для PNG будет проигнорировано
)
Обойдём все файлы и применим сжатие к JPG и PNG:
for file in os.listdir(FOLDER):
if file.lower().endswith((".jpg", ".png")):
compress_image(os.path.join(FOLDER, file))
🔥 Теперь все изображения в папке
compressed
будут весить в 2–5 раз меньше — без потери визуального качества.Please open Telegram to view this post
VIEW IN TELEGRAM
🔥25❤13🤝6
This media is not supported in your browser
VIEW IN TELEGRAM
Отличный ресурс для практического обучения, где ты пишешь код и сразу видишь результат.
Раздел по Python — это целый набор курсов: от базового синтаксиса и ООП до работы с API, анализом данных и автоматизацией.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15❤11🔥6
Они позволяют тонко управлять поведением объектов — от контекстных менеджеров и асинхронности до дескрипторов и метаклассов. В этой шпаргалке собраны малоизвестные, но мощные приёмы с компактными примерами.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤24🤝11🔥7
This media is not supported in your browser
VIEW IN TELEGRAM
Один из самых полезных репозиториев по подготовке к собеседованиям: структурированные материалы, реальные советы от инженеров, частые вопросы, подходы к решению задач, поведенческие сценарии и даже шаблоны для резюме.
Оставляю ссылочку: GitHub📱
Please open Telegram to view this post
VIEW IN TELEGRAM
❤20🔥8😁6🤝1
Сегодня покажу, как с помощью
f-строк
и метода format()
можно делать читаемый и аккуратный вывод — без лишнего шума и сложностей. Основные моменты:
• f-строки с выражениями
• format() с позициями и именами
• Округление и выравнивание
Отлично подойдет для оформления логов, сообщений, табличек и любых шаблонов, где важна чистота текста.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🤝37👍13🔥12❤9
В этой статье ты:
• Реализуешь рекурсивное открытие пустых клеток;
• Настроишь ввод игрока: открытие клеток и установка флагов;
• Научишься проверять победу и проигрыш;
• Получишь чистый, структурированный код, который можно расширять (GUI, таймер, уровни сложности);
🔊 Продолжай читать на Habr!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥22❤11👍7