Уже завтра вечером в 19:00 по мск приходи онлайн на открытое собеседование, чтобы посмотреть на настоящее интервью на Middle Python-разработчика.
Как это будет:
Это бесплатно. Эфир проходит в рамках менторской программы от ШОРТКАТ для Python-разработчиков, которые хотят повысить свой грейд, ЗП и прокачать скиллы.
Переходи в нашего бота, чтобы получить ссылку на эфир → @shortcut_py_bot
Реклама.
О рекламодателе.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤5🔥3🤯1
Если в вашем проекте повсюду такое:
print("сюда дошли")
print("что-то сломалось")
print(user)пора познакомиться со стандартным модулем
logging.Уже встроен в Python — устанавливать ничего не нужно.
import logging
logging.basicConfig(level=logging.INFO)
logging.debug("Отладочная информация")
logging.info("Приложение запущено")
logging.warning("Что-то подозрительное")
logging.error("Произошла ошибка")
logging.critical("Критическая ошибка")
В Python есть стандартные уровни логирования:
DEBUG 10
INFO 20
WARNING 30
ERROR 40
CRITICAL 50
Чем выше число — тем серьёзнее событие.
Если уровень установлен в
INFO, сообщения DEBUG выводиться не будут. А если вообще ничего не настраивать, стандартный порог — WARNING.import logging
logging.basicConfig(
level=logging.INFO,
format="%(asctime)s | %(levelname)s | %(name)s | %(message)s"
)
logger = logging.getLogger(__name__)
logger.info("Приложение запущено")
Получаем примерно:
2026-08-25 14:30:15,123 | INFO | __main__ | Приложение запущено
Использование
logger = logging.getLogger(__name__)
— рекомендуемый подход: имя логгера автоматически соответствует имени текущего модуля, а логгеры образуют иерархию модулей приложения.
logging.basicConfig(
filename="app.log",
encoding="utf-8",
level=logging.INFO,
format="%(asctime)s | %(levelname)s | %(message)s"
)
Теперь сообщения будут попадать в:
app.log
Параметр
encoding у basicConfig() поддерживается начиная с Python 3.9.Вот здесь особенно полезен:
logger.exception()
Например:
try:
result = 10 / 0
except ZeroDivisionError:
logger.exception("Не удалось выполнить вычисление")
В лог попадёт не только сообщение, но и traceback исключения.
Поэтому внутри
except зачастую гораздо полезнее:logger.exception("Ошибка обработки заказа")чем просто:
logger.error("Ошибка")logger.info(f"Пользователь {user_id} вошёл")Для логирования переменных предпочтительнее:
logger.info("Пользователь %s вошёл", user_id)Почему?
logging откладывает форматирование сообщения до момента, когда оно действительно понадобится. Если запись отфильтруется уровнем логирования, ненужного форматирования можно избежать.Тут появляются Handlers:
import logging
logger = logging.getLogger(__name__)
logger.setLevel(logging.DEBUG)
formatter = logging.Formatter(
"%(asctime)s | %(levelname)s | %(name)s | %(message)s"
)
console = logging.StreamHandler()
console.setLevel(logging.INFO)
console.setFormatter(formatter)
file = logging.FileHandler(
"app.log",
encoding="utf-8"
)
file.setLevel(logging.DEBUG)
file.setFormatter(formatter)
logger.addHandler(console)
logger.addHandler(file)
Получаем:
консоль
INFO
WARNING
ERROR
CRITICAL
app.log
DEBUG
INFO
WARNING
ERROR
CRITICAL
И это одна из главных возможностей
logging: Logger создаёт события, Handler определяет, куда их отправлять, Formatter — как они будут выглядеть, а Filter позволяет дополнительно фильтровать записи.Причём стандартная библиотека умеет отправлять логи не только в консоль или файл. Есть обработчики для очередей, сокетов, Syslog, SMTP и других направлений.
DEBUG → подробности для отладки
INFO → нормальная работа программы
WARNING → что-то пошло не совсем так
ERROR → операция не выполнена
CRITICAL → серьёзная проблема приложения
Для маленького скрипта иногда достаточно
print().Но как только появляется бот, API, парсер, сервер, база данных, фоновые задачи или большой проект, нормальные логи экономят огромное количество времени при поиске ошибок.
И главное — для базового логирования не нужна ни одна сторонняя библиотека. Всё уже есть в стандартной библиотеке Python.
#cheatsheet #python #doc
Please open Telegram to view this post
VIEW IN TELEGRAM
👍38🔥17❤6🫡1
Схема не новая:
— «Соискателю скинули предложение и сразу за ним тестовое задание. Попросили найти в готовом проекте ошибки и исправить их. Внутри был спрятан вирус, который и увёл все данные счетов и криптокошельков.»
Готовым проектом может быть как сайт, так и репозиторий с кодом. Чтобы выполнить «тестовое», жертва скачивает проект, устанавливает необходимые зависимости и запускает код вместе с вирусом.
Получил бесценный опыт...
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥44😱23🫡9🤯5❤3
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥62👍15❤4😱4🤯1🫡1
Шпаргалка по Claude на русском.
Создавай, запускай и масштабируй AI-агентов, которые анализируют, планируют, действуют и помогают в работе.
#нейросеть #cheatsheet
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥6❤2
🤯 Ошибка уже произошла. В логах — сотни строк, причин может быть несколько, а исправление ещё нужно проверить. Расследование инцидента легко превращается в часы ручной работы.
8 сентября в 20:00 МСК на открытом уроке «ИИ против бага: как разобрать инцидент в Python-проекте от логов до исправления» покажем, где в этом процессе действительно может помочь искусственный интеллект.
На практическом примере пройдём весь путь: проанализируем логи, сформулируем и проверим гипотезы, найдём проблемный участок кода, подготовим исправление и тесты. Вы увидите, как ускорять расследование с помощью ИИ, сохраняя контроль над результатом.
Урок будет полезен Python-разработчикам, знакомым с отладкой и анализом логов, и проходит в преддверии старта курса «ИИ для Python-разработчиков».
🤖Зарегистрируйтесь и разберите рабочий сценарий применения ИИ: https://otus.pw/B0Xn/
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
8 сентября в 20:00 МСК на открытом уроке «ИИ против бага: как разобрать инцидент в Python-проекте от логов до исправления» покажем, где в этом процессе действительно может помочь искусственный интеллект.
На практическом примере пройдём весь путь: проанализируем логи, сформулируем и проверим гипотезы, найдём проблемный участок кода, подготовим исправление и тесты. Вы увидите, как ускорять расследование с помощью ИИ, сохраняя контроль над результатом.
Урок будет полезен Python-разработчикам, знакомым с отладкой и анализом логов, и проходит в преддверии старта курса «ИИ для Python-разработчиков».
🤖Зарегистрируйтесь и разберите рабочий сценарий применения ИИ: https://otus.pw/B0Xn/
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
👍9❤2
Мощный DIY-гайд на русском: автор собирает систему, которая анализирует изменения Wi-Fi-сигнала и буквально замечает человека без камеры и PIR-датчика.
Система может:
Фишка в анализе Wi-Fi CSI (Channel State Information): человеческое тело меняет картину распространения радиоволн, а система ловит эти микроскопические изменения. ESP32 делает измерения примерно 100 раз в секунду, Raspberry Pi занимается обработкой.
#python #soft #article
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18❤9🔥5😱3
Гайд_по_сборке_простого_Wi_Fi_«радара».pdf
1.4 MB
Please open Telegram to view this post
VIEW IN TELEGRAM
👍22❤6🔥4🤯1
В тех-тусовке так стали называть людей, которые задают вопрос нейросетям, к примеру ChatGPT или Claude, получают готовый ответ и просто копируют его в рабочий чат без проверки, фактически выступая посредником между коллегами и нейросетью.
+1 название для твоего кореша
Логика руководителей понятна: если человек тупо работает как Ctrl+C
Вайбкодеры напряглись...
С добрым утром
Please open Telegram to view this post
VIEW IN TELEGRAM
👍39❤13🔥9🫡2
Большая подборка зарубежных площадок: от известных сервисов до менее очевидных ресурсов с вакансиями в стартапах и международных компаниях.
Искать можно практически всё:
🧑💼 Product / Project Management
Indeed
Glassdoor
FlexJobs
We Work Remotely
Remote.com
Upwork
Freelancer
Fiverr
Guru
Toptal
Wellfound — бывший AngelList Talent
Hubstaff Talent
SimplyHired
Remotive
Virtual Vocations
Working Nomads
Hired
CloudPeeps
TaskRabbit
Talent.com
Remote OK
DRemote
Jooble
Stack Overflow
Jobspresso
OnlineJobs.ph
SimplyHired
The Muse
SkipTheDrive
Zirtual
JustRemote
Hireable
Remote Work Hub
Jobbatical
Freelance Writing Gigs
Content Writing Jobs
ProBlogger Jobs
Behance
Designhill
Выходите на глобальный рынок, делайте нормальное англоязычное резюме и откликайтесь сразу на нескольких площадках.
Один удачный зарубежный контракт может полностью изменить математику вашей зарплаты.
#job
Please open Telegram to view this post
VIEW IN TELEGRAM
❤32👍14🔥10
This media is not supported in your browser
VIEW IN TELEGRAM
Пацаны выдвигаемся?
С добрым утром, пятница!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥74👍13❤10🤯1