🧭 Как задать тайм-аут для любой функции
Иногда нужно ограничить время выполнения функции, особенно если она может "зависнуть". Для этого можно использовать concurrent.futures и ThreadPoolExecutor.
🎯 Итог
Такой приём позволяет безопасно завершать зависающие операции, не блокируя основной поток. Отлично подходит для сетевых вызовов, парсинга и других непредсказуемых задач.
Иногда нужно ограничить время выполнения функции, особенно если она может "зависнуть". Для этого можно использовать concurrent.futures и ThreadPoolExecutor.
🎯 Итог
Такой приём позволяет безопасно завершать зависающие операции, не блокируя основной поток. Отлично подходит для сетевых вызовов, парсинга и других непредсказуемых задач.
👀 Подсмотреть, как работают бэкендеры в прямом эфире
5 июля пройдет Яндекс 2718 — разбор сложных архитектурных задач с участием топовых разработчиков Яндекса.
Как это работает:
— участники предлагают задачи по проектированию backend-сервисов;
— эксперты выбирают самые интересные и нетривиальные кейсы;
— разработчики из Карт, Поиска, Автономного транспорта и Рекламы решают их в прямом эфире.
Чтобы попасть на эфир нужно посмотреть требования к задачам и отправить свою. Авторы принятых вариантов получат приглашение приехать на эфир лично или подключиться онлайн. А еще можно зарегистрироваться и прийти на трансляцию за вдохновением. Все о задачах и регистрации — здесь.
5 июля пройдет Яндекс 2718 — разбор сложных архитектурных задач с участием топовых разработчиков Яндекса.
Как это работает:
— участники предлагают задачи по проектированию backend-сервисов;
— эксперты выбирают самые интересные и нетривиальные кейсы;
— разработчики из Карт, Поиска, Автономного транспорта и Рекламы решают их в прямом эфире.
Чтобы попасть на эфир нужно посмотреть требования к задачам и отправить свою. Авторы принятых вариантов получат приглашение приехать на эфир лично или подключиться онлайн. А еще можно зарегистрироваться и прийти на трансляцию за вдохновением. Все о задачах и регистрации — здесь.
Использование defaultdict для работы со словарями
При работе со словарями часто возникает необходимость инициализировать значения по умолчанию, чтобы избежать ошибок при попытке доступа к несуществующим ключам. В таких случаях полезно использовать defaultdict из модуля collections.
Использование defaultdict упрощает код и избавляет от необходимости вручную проверять существование ключей в словаре, делая его более читаемым и эффективным.
При работе со словарями часто возникает необходимость инициализировать значения по умолчанию, чтобы избежать ошибок при попытке доступа к несуществующим ключам. В таких случаях полезно использовать defaultdict из модуля collections.
Использование defaultdict упрощает код и избавляет от необходимости вручную проверять существование ключей в словаре, делая его более читаемым и эффективным.
Бесплатный мини-курс по Java — начните программировать уже сегодня
Java-разработчики востребованы и зарабатывают от 80 000 ₽. Хотите проверить свои силы? На мини-курсе вы создадите три проекта, освоите основы языка и поймете, подходит ли вам этот путь.
Без опыта в IT, бесплатно и с поддержкой эксперта. А еще получите доступ к материалам и скидку на обучение. К тому же, каждый, кто посмотрит 1-е занятие, получит доступ к изучению английского языка на платформе Skillbox на год.
Количество мест ограничено! Успейте записаться.
Реклама. Информация о рекламодателе по ссылкам в посте.
Java-разработчики востребованы и зарабатывают от 80 000 ₽. Хотите проверить свои силы? На мини-курсе вы создадите три проекта, освоите основы языка и поймете, подходит ли вам этот путь.
Без опыта в IT, бесплатно и с поддержкой эксперта. А еще получите доступ к материалам и скидку на обучение. К тому же, каждый, кто посмотрит 1-е занятие, получит доступ к изучению английского языка на платформе Skillbox на год.
Количество мест ограничено! Успейте записаться.
Реклама. Информация о рекламодателе по ссылкам в посте.
🧼 Удаление дубликатов, сохраняя порядок
Стандартный set() удаляет дубликаты, но не сохраняет порядок. Чтобы сохранить порядок элементов, можно использовать dict.fromkeys().
🎯 Итог
dict.fromkeys() — простой и читаемый способ удалить дубликаты из списка, сохранив порядок появления. Работает быстро и не требует сторонних библиотек.
Стандартный set() удаляет дубликаты, но не сохраняет порядок. Чтобы сохранить порядок элементов, можно использовать dict.fromkeys().
🎯 Итог
dict.fromkeys() — простой и читаемый способ удалить дубликаты из списка, сохранив порядок появления. Работает быстро и не требует сторонних библиотек.
🔁 Повтор последнего результата в Python REPL
Если работаешь в интерактивном режиме Python (REPL), тебе не обязательно каждый раз сохранять результат в переменную — предыдущий результат всегда доступен через _.
🎯 Итог
Символ _ в интерактивной консоли Python хранит результат последнего выражения — удобно для быстрых вычислений и экспериментов без создания переменных.
Если работаешь в интерактивном режиме Python (REPL), тебе не обязательно каждый раз сохранять результат в переменную — предыдущий результат всегда доступен через _.
🎯 Итог
Символ _ в интерактивной консоли Python хранит результат последнего выражения — удобно для быстрых вычислений и экспериментов без создания переменных.
Маркетинг за 4 дня: бесплатно!
Зарплата начинающего маркетолога от 100 000₽, а стоимость обучения на профессию в онлайн-школах основам от 120 000 до 250 000 рублей.
Сейчас Skillbox дарит мини-курс на 4 дня: попробуйте себя в интернет-маркетинге, SMM, таргетинге и копирайтинге. Только практика, полезные чек-листы и доступ к материалам навсегда.
Переходите по ссылке и забирайте курс по маркетингу. Акция продлится до 30 июня: https://go.avck.ws/38e7b1aae75752f0?erid=2VfnxxcSezk&m=1
Зарплата начинающего маркетолога от 100 000₽, а стоимость обучения на профессию в онлайн-школах основам от 120 000 до 250 000 рублей.
Сейчас Skillbox дарит мини-курс на 4 дня: попробуйте себя в интернет-маркетинге, SMM, таргетинге и копирайтинге. Только практика, полезные чек-листы и доступ к материалам навсегда.
Переходите по ссылке и забирайте курс по маркетингу. Акция продлится до 30 июня: https://go.avck.ws/38e7b1aae75752f0?erid=2VfnxxcSezk&m=1
🧪 Быстрая проверка производительности кода
Иногда хочется быстро узнать, сколько времени занимает выполнение участка кода. Можно использовать timeit прямо из интерпретатора — быстро и без импорта в файл.
🎯 Итог
Модуль timeit — отличный способ измерить время выполнения кода без лишнего шума. Особенно полезно при оптимизации.
Иногда хочется быстро узнать, сколько времени занимает выполнение участка кода. Можно использовать timeit прямо из интерпретатора — быстро и без импорта в файл.
🎯 Итог
Модуль timeit — отличный способ измерить время выполнения кода без лишнего шума. Особенно полезно при оптимизации.
Тестирование: быстрый старт в IT за 0₽
Зарплата начинающего Тестировщика от 80 000₽. Он проверяет работу сайтов, мобильных приложений и ищет в них ошибки. От тестировщика во многом зависит качество итогового продукта, поэтому спрос на данных специалистов растёт.
Прямо сейчас Skillbox отдает пятидневный курс по тестированию бесплатно.
Переходите по ссылке и участвуйте в тест-драйве профессии. Акция продлится до 30 июня: https://go.redav.online/8f2a9d1d60e137f0?erid=2VfnxxcSezk&m=1
Зарплата начинающего Тестировщика от 80 000₽. Он проверяет работу сайтов, мобильных приложений и ищет в них ошибки. От тестировщика во многом зависит качество итогового продукта, поэтому спрос на данных специалистов растёт.
Прямо сейчас Skillbox отдает пятидневный курс по тестированию бесплатно.
Переходите по ссылке и участвуйте в тест-драйве профессии. Акция продлится до 30 июня: https://go.redav.online/8f2a9d1d60e137f0?erid=2VfnxxcSezk&m=1
🧪 Проверка существования атрибута без try/except
Иногда нужно понять, есть ли у объекта нужное свойство, и не хочется использовать try/except. В этом случае поможет встроенная функция hasattr().
🎯 Итог
Функция hasattr() позволяет лаконично проверить наличие атрибута у объекта — читаемо и без лишних конструкций.
Иногда нужно понять, есть ли у объекта нужное свойство, и не хочется использовать try/except. В этом случае поможет встроенная функция hasattr().
🎯 Итог
Функция hasattr() позволяет лаконично проверить наличие атрибута у объекта — читаемо и без лишних конструкций.
Зарплата до ₽900 тыс. на руки: на каких дата-специалистов сейчас высокий спрос
Сегодня практически любой бизнес не может работать без сбора, обработки, анализа данных — всё это подвиды задач Data Scientist. Чем крупнее компания, тем сильнее различаются задачи, стоящие перед этими специалистами, а также заработная плата.
С целью удовлетворить растущий мировой спрос на этих специалистов онлайн-университет Skillfactory создал бесплатный "мини-курс дата-сайентист". Он нацелен на обучение начинающих специалистов в кратчайшие сроки.
Попробовать мини-курс, и выйти на стартовый доход 100 тыс.руб.
Реклама. Информация о рекламодателе по ссылкам в посте.
Сегодня практически любой бизнес не может работать без сбора, обработки, анализа данных — всё это подвиды задач Data Scientist. Чем крупнее компания, тем сильнее различаются задачи, стоящие перед этими специалистами, а также заработная плата.
С целью удовлетворить растущий мировой спрос на этих специалистов онлайн-университет Skillfactory создал бесплатный "мини-курс дата-сайентист". Он нацелен на обучение начинающих специалистов в кратчайшие сроки.
Попробовать мини-курс, и выйти на стартовый доход 100 тыс.руб.
Реклама. Информация о рекламодателе по ссылкам в посте.
Общий сбор Python-разработчиков на бесплатном митапе ЮMoney «Питоняшки»
Он пройдет 3 июля в 19:00. Офлайн — в Санкт-Петербурге, онлайн — в любой точке мира.
Доклады:
— Это не те метрики, что вы ищете. Разбор, почему стандартного экспортёра может не хватать, и как написать свой на Python.
— Кодогенерация: как компьютеры учатся писать код за нас.
— Ruff: как не положить всё, переходя на новые правила?
— Применение scrapy и playwright в ЮMoney, чтобы создать сервис модерации сайтов.
Регистрация уже открыта, а подробности — на сайте.
Он пройдет 3 июля в 19:00. Офлайн — в Санкт-Петербурге, онлайн — в любой точке мира.
Доклады:
— Это не те метрики, что вы ищете. Разбор, почему стандартного экспортёра может не хватать, и как написать свой на Python.
— Кодогенерация: как компьютеры учатся писать код за нас.
— Ruff: как не положить всё, переходя на новые правила?
— Применение scrapy и playwright в ЮMoney, чтобы создать сервис модерации сайтов.
Регистрация уже открыта, а подробности — на сайте.
Бесплатный мини-курс: освой базу тестирования за 72 часа
Ты выполнишь 3 реальных задачи из жизни Junior QA — поиски багов вручную, и с помощью ПО. Получишь проекты в портфолио, значимые для будущего работодателя.
Как это работает?
1. Регистрируешься — это абсолютно бесплатно.
2. В течение трёх дней проходишь уроки от эксперта в удобное для себя время.
3. Получаешь консультацию по профессии, обучению и рынку.
4. Понимаешь, подходит ли тебе тестирование, как начать карьеру и как выгодно выделиться среди новичков.
Получи 4 гайда + 3 проекта в портфолио за 3 дня — успевай до 3 июля!
👉 Записаться бесплатно (осталось 12 мест).
Ты выполнишь 3 реальных задачи из жизни Junior QA — поиски багов вручную, и с помощью ПО. Получишь проекты в портфолио, значимые для будущего работодателя.
Как это работает?
1. Регистрируешься — это абсолютно бесплатно.
2. В течение трёх дней проходишь уроки от эксперта в удобное для себя время.
3. Получаешь консультацию по профессии, обучению и рынку.
4. Понимаешь, подходит ли тебе тестирование, как начать карьеру и как выгодно выделиться среди новичков.
Получи 4 гайда + 3 проекта в портфолио за 3 дня — успевай до 3 июля!
👉 Записаться бесплатно (осталось 12 мест).
🧪 Упрощённая проверка аргументов через __post_init__ в dataclass
Иногда тебе нужно добавить валидацию данных при создании объекта dataclass. Вместо написания кастомного init, просто используй post_init!
🎯 Итог
post_init — отличный способ добавить проверку инициализации в dataclass, не нарушая автоматические преимущества этого декоратора.
Иногда тебе нужно добавить валидацию данных при создании объекта dataclass. Вместо написания кастомного init, просто используй post_init!
🎯 Итог
post_init — отличный способ добавить проверку инициализации в dataclass, не нарушая автоматические преимущества этого декоратора.