Ломаем текстовую капчу на примере VK или брутфорсинг до сих пор актуален
В этой статье-мануале автор покажет, как создать собственную нейросеть по распознаванию текстовых капч, имея под рукой домашний компьютер, базовые знания в python и немножко примеров капч.
Читать...
Разъяснивший Python
В этой статье-мануале автор покажет, как создать собственную нейросеть по распознаванию текстовых капч, имея под рукой домашний компьютер, базовые знания в python и немножко примеров капч.
Читать...
Разъяснивший Python
Обработка ошибок и повторные попытки
API могут быть нестабильными, поэтому всегда стоит реализовать механизм повторных попыток.
Экспоненциальная задержка между попытками (
Разъяснивший Python
API могут быть нестабильными, поэтому всегда стоит реализовать механизм повторных попыток.
Экспоненциальная задержка между попытками (
backoff_factor * (2 ** retries)) помогает избежать перегрузки сервера и дает ему время восстановиться.Разъяснивший Python
Проверка типов данных
При отладке или работе с незнакомым API бывает полезно узнать тип и структуру объекта.
Этот простой инструмент неоднократно выручал меня при работе с API, возвращающими сложно структурированные данные.
Разъяснивший Python
При отладке или работе с незнакомым API бывает полезно узнать тип и структуру объекта.
Этот простой инструмент неоднократно выручал меня при работе с API, возвращающими сложно структурированные данные.
Разъяснивший Python
Безопасное получение вложенных значений
Доступ к вложенным атрибутам объектов или вложенным ключам словарей часто приводит к ошибкам.
Эта функция может сократить количество проверок в коде на порядок, сделав его намного чище и понятнее.
Разъяснивший Python
Доступ к вложенным атрибутам объектов или вложенным ключам словарей часто приводит к ошибкам.
Эта функция может сократить количество проверок в коде на порядок, сделав его намного чище и понятнее.
Разъяснивший Python
Анализ производительности популярных подходов с бенчмарками часть 1
Интуитивные представления о производительности нередко бывают ошибочными. Python - язык с множеством способов решения одной задачи, и выбор правильного подхода может дать огромный прирост производительности. Давайте сравним некоторые распространенные операции с помощью простых бенчмарков.
Результаты могут удивить:
list comprehension стабильно показывает результаты на 15-20% лучше, чем
Разъяснивший Python
Интуитивные представления о производительности нередко бывают ошибочными. Python - язык с множеством способов решения одной задачи, и выбор правильного подхода может дать огромный прирост производительности. Давайте сравним некоторые распространенные операции с помощью простых бенчмарков.
Результаты могут удивить:
join обычно в 10-15 раз быстрее, чем последовательное использование оператора +. Причина проста - строки в Python неизменяемы, и каждая операция + создает новый объект.list comprehension стабильно показывает результаты на 15-20% лучше, чем
filter() с lambda-функцией. Однако этот разрыв может меняться в зависимости от сложности фильтрующей функции. Особенно впечатляет разница при доступе к элементам словаряРазъяснивший Python
Анализ производительности популярных подходов с бенчмарками часть 2
Метод
Но не всегда стандартные методы лучше. Например, при сортировке списков с пользовательским ключом, использование
Разъяснивший Python
Метод
dict.get() обычно работает примерно на 30-40% быстрее, чем явная проверка через if key in dict, и примерно в 2-3 раза быстрее, чем использование блока try-except.Но не всегда стандартные методы лучше. Например, при сортировке списков с пользовательским ключом, использование
operator.itemgetter() может быть на 10-15% быстрее lambda-функций.Разъяснивший Python
Функция проверки чисел на простоту
Оптимизированный алгоритм для проверки простоты числа.
В этом алгоритме я использую свойство, что все простые числа (кроме 2 и 3) можно представить в виде 6k ± 1. Это сокращает количество проверок примерно в 3 раза по сравнению с наивным перебором до квадратного корня.
Разъяснивший Python
Оптимизированный алгоритм для проверки простоты числа.
В этом алгоритме я использую свойство, что все простые числа (кроме 2 и 3) можно представить в виде 6k ± 1. Это сокращает количество проверок примерно в 3 раза по сравнению с наивным перебором до квадратного корня.
Разъяснивший Python
👎1
16 сентября в Arena Breakout: Infinite выходит седьмой сезон — «Утопия»
Если не сталкивались с игрой: это бесплатный тактический шутер про вылазки за добычей. Заходишь на локацию со своим снаряжением, набираешь лут и пытаешься уйти живым. Погиб — потерял всё, что было с собой.
Что завозят в новом сезоне:
• Заражённая зона — три карты превращаются в биоопасные локации с ночью, туманом и ливнем, по ним бродят шесть видов мутантов. Другие игроки при этом никуда не делись
• Режим на выживание — отдельный PvE без риска: снаряжение с собой не берёшь и ничего не теряешь, просто отбиваешься от волн и открываешь усиления
• Торговец прямо в рейде — можно обменять припасы и разведданные или докупить снаряжение
• Два новых ствола, сезонные обвесы и переработанная стрельба: дальность выше, попадания в голову ощутимее
• На старте бесплатно выдают прокачиваемую сапёрную лопату, скины и билеты, а между игроками разыгрывают 200 000 очков
Игра бесплатная, качается в Steam, российский регион поддерживается → https://abi.go.link/2wzTb
Если не сталкивались с игрой: это бесплатный тактический шутер про вылазки за добычей. Заходишь на локацию со своим снаряжением, набираешь лут и пытаешься уйти живым. Погиб — потерял всё, что было с собой.
Что завозят в новом сезоне:
• Заражённая зона — три карты превращаются в биоопасные локации с ночью, туманом и ливнем, по ним бродят шесть видов мутантов. Другие игроки при этом никуда не делись
• Режим на выживание — отдельный PvE без риска: снаряжение с собой не берёшь и ничего не теряешь, просто отбиваешься от волн и открываешь усиления
• Торговец прямо в рейде — можно обменять припасы и разведданные или докупить снаряжение
• Два новых ствола, сезонные обвесы и переработанная стрельба: дальность выше, попадания в голову ощутимее
• На старте бесплатно выдают прокачиваемую сапёрную лопату, скины и билеты, а между игроками разыгрывают 200 000 очков
Игра бесплатная, качается в Steam, российский регион поддерживается → https://abi.go.link/2wzTb
Алгоритм Евклида на Python
Алгоритм Евклида - элегантное решение для нахождения НОД
Расширенный алгоритм Евклида особенно полезен в криптографии и при решении линейных диофантовых уравнений. Я использовал его при реализации алгоритма RSA для учебного проекта.
Разъяснивший Python
Алгоритм Евклида - элегантное решение для нахождения НОД
Расширенный алгоритм Евклида особенно полезен в криптографии и при решении линейных диофантовых уравнений. Я использовал его при реализации алгоритма RSA для учебного проекта.
Разъяснивший Python
Функция для измерения времени выполнения кода
Отладка производительности - частая головная боль. Простой декоратор для измерения времени выполнения функций спасает в таких ситуациях.
Можно модифицировать этот декоратор, добавляя вывод аргументов функции или интеграцию с системой логирования проекта.
Разъяснивший Python
Отладка производительности - частая головная боль. Простой декоратор для измерения времени выполнения функций спасает в таких ситуациях.
Можно модифицировать этот декоратор, добавляя вывод аргументов функции или интеграцию с системой логирования проекта.
Разъяснивший Python