🚩 5 красных флагов: как из текста вакансии понять, что компания — не очень
Как определить работодателя-абьюзера в АйТи? Объясняем на реальных примерах.
Читать статью
Как определить работодателя-абьюзера в АйТи? Объясняем на реальных примерах.
Читать статью
👍33❤17
Кэшированные атрибуты
Во встроенном пакете functools присутствует декоратор @cached_property, позволяющий кэшировать результат метода и загнать его в атрибут.
Таким образом, при первом обращении к атрибуту производятся вычисления в методе, а при дальнейших берется уже кэшированное значение.
Подобное кэширование полезно в случаях, когда в методе производятся вычисления, которые нагружают систему и занимают много времени.
#код
Во встроенном пакете functools присутствует декоратор @cached_property, позволяющий кэшировать результат метода и загнать его в атрибут.
Таким образом, при первом обращении к атрибуту производятся вычисления в методе, а при дальнейших берется уже кэшированное значение.
Подобное кэширование полезно в случаях, когда в методе производятся вычисления, которые нагружают систему и занимают много времени.
#код
👍34❤8
Шифрование и расшифровка паролей
Приведенный ниже скрипт выполняет шифрование и дешифрование текста с использованием пакета cryptography.
В приведенной выше реализации ключ шифрования генерируется с помощью метода Fernet.generate_key() и сохраняется в файле для дальнейшего использования.
Шифрование и дешифрование текста выполняются с использованием класса Fernet из пакета cryptography, где текст шифруется с помощью метода encrypt() и расшифровывается с помощью метода decrypt().
#код
Приведенный ниже скрипт выполняет шифрование и дешифрование текста с использованием пакета cryptography.
В приведенной выше реализации ключ шифрования генерируется с помощью метода Fernet.generate_key() и сохраняется в файле для дальнейшего использования.
Шифрование и дешифрование текста выполняются с использованием класса Fernet из пакета cryptography, где текст шифруется с помощью метода encrypt() и расшифровывается с помощью метода decrypt().
#код
👍27❤10
Что будет в результате выполнения данного кода?
Данный код выдаст в виде результата пустой список [], а ошибка IndexError не возникнет.
Как известно, попытка доступа к элементу списка с использованием индекса, превышающего число элементов (например, операция list[10] в списке выше), приводит к ошибке IndexError. Однако, попытка получить доступ к срезу списка с начальным индексом, превышающем количество элементов в списке, не приведет к IndexError и просто вернет пустой список.
Особенно неприятным это обстоятельство делает то, что оно может привести к ошибкам, которые действительно трудно отследить, поскольку во время выполнения кода не возникает никаких ошибок.
#вопросы_с_собеседований
Данный код выдаст в виде результата пустой список [], а ошибка IndexError не возникнет.
Как известно, попытка доступа к элементу списка с использованием индекса, превышающего число элементов (например, операция list[10] в списке выше), приводит к ошибке IndexError. Однако, попытка получить доступ к срезу списка с начальным индексом, превышающем количество элементов в списке, не приведет к IndexError и просто вернет пустой список.
Особенно неприятным это обстоятельство делает то, что оно может привести к ошибкам, которые действительно трудно отследить, поскольку во время выполнения кода не возникает никаких ошибок.
#вопросы_с_собеседований
👍28❤12🤔2
Узнаем, сколько всего определенных букв в строке
Один из способов узнать количество определенных букв в строке максимально быстрым методом – использовать метод count для строки. Этот метод принимает символ или подстроку и возвращает количество их вхождений в строку.
Этот метод является достаточно быстрым, так как использует внутренние оптимизации CPython, которые работают на низком уровне. Он также не требует дополнительной памяти, за исключением простой переменной, используемой для хранения результата.
#код
Один из способов узнать количество определенных букв в строке максимально быстрым методом – использовать метод count для строки. Этот метод принимает символ или подстроку и возвращает количество их вхождений в строку.
Этот метод является достаточно быстрым, так как использует внутренние оптимизации CPython, которые работают на низком уровне. Он также не требует дополнительной памяти, за исключением простой переменной, используемой для хранения результата.
#код
👍15❤11😁2🤔1
❤20😁6🤔5👍4👏2
Узнаем разницу в днях между датами представленными в виде строк
В данном коде мы используем функцию strptime из модуля datetime, чтобы преобразовать строки в объекты datetime. Затем мы вычисляем разницу между датами с помощью оператора - и получаем абсолютное значение разницы с помощью функции abs. Наконец, мы получаем разницу в днях, используя атрибут days разницы объекта.
#код
В данном коде мы используем функцию strptime из модуля datetime, чтобы преобразовать строки в объекты datetime. Затем мы вычисляем разницу между датами с помощью оператора - и получаем абсолютное значение разницы с помощью функции abs. Наконец, мы получаем разницу в днях, используя атрибут days разницы объекта.
#код
❤22👍7
Очередной #дайджест статей по Python:
🐍 Как создать голосового ассистента
В данной статье автор рассказал, как можно сделать простого голосового ассистента. Все это в Python при помощи некоторых библиотек.
🐍 Ray Casting 3D игра на Python + PyGame
🐍 Использование python-docx-template для динамического создания закладок и ссылок на них в документах Word
Модуль содержит функционал для вставки в документ внешних ссылок, но когда автору понадобилось создавать по шаблону внутренние ссылки (на конкретное место в документе), такого функционала не нашлось, поиск в сети тоже ничего не дал. В статье он предложил свой способ вставки закладок и ссылок на них при помощи python-docx-template.
🐍 Измерение покрытия python сервисов для end-to-end тестов
Как измерить покрытие автотестами? Данный вопрос всегда вызывает жаркие дискуссии в рядах тестировщиков.
🐍 Под капотом Python. Тонкости популярных конструкций with и contextmanager
В этой статье описано, как написать менеджер контекста, как создать функцию-генератор для декоратора contextmanager. Опытные разработчики могут узнать что-то новенькое или дополнить статью ценными комментариями.
🐍 Как правильно написать калькулятор на питоне с помощью eval()
О том, почему eval стоит использовать с осторожностью.
🐍 Пишем микро-shellcode в формате ELF вручную
Уже не раз публиковались статьи про устройство формата ELF и написание файлов в таком формате вручную, но здесь представлено другое решение. В результате получился файл, вызывающий /bin/sh и занимающий всего 76 байт (что на 8 байт меньше, чем сумма длин заголовков ELF, необходимых для запуска).
🐍 Как создать голосового ассистента
В данной статье автор рассказал, как можно сделать простого голосового ассистента. Все это в Python при помощи некоторых библиотек.
🐍 Ray Casting 3D игра на Python + PyGame
🐍 Использование python-docx-template для динамического создания закладок и ссылок на них в документах Word
Модуль содержит функционал для вставки в документ внешних ссылок, но когда автору понадобилось создавать по шаблону внутренние ссылки (на конкретное место в документе), такого функционала не нашлось, поиск в сети тоже ничего не дал. В статье он предложил свой способ вставки закладок и ссылок на них при помощи python-docx-template.
🐍 Измерение покрытия python сервисов для end-to-end тестов
Как измерить покрытие автотестами? Данный вопрос всегда вызывает жаркие дискуссии в рядах тестировщиков.
🐍 Под капотом Python. Тонкости популярных конструкций with и contextmanager
В этой статье описано, как написать менеджер контекста, как создать функцию-генератор для декоратора contextmanager. Опытные разработчики могут узнать что-то новенькое или дополнить статью ценными комментариями.
🐍 Как правильно написать калькулятор на питоне с помощью eval()
О том, почему eval стоит использовать с осторожностью.
🐍 Пишем микро-shellcode в формате ELF вручную
Уже не раз публиковались статьи про устройство формата ELF и написание файлов в таком формате вручную, но здесь представлено другое решение. В результате получился файл, вызывающий /bin/sh и занимающий всего 76 байт (что на 8 байт меньше, чем сумма длин заголовков ELF, необходимых для запуска).
❤12👍9
Какой ноутбук считаете наиболее подходящим для программирования и почему?
#интерактив
#интерактив
❤8😁2
❤1
Какие нюансы есть в использовании чисел как ключей?
Числовые ключи в словарях подчиняются правилам сравнения чисел. Таким образом, int(1) и float(1.0) считаются одинаковым ключом. Однако из-за того, что значения типа float сохраняются приближенно, не рекомендуется использовать их в качестве ключей.
#вопросы_с_собеседований
Числовые ключи в словарях подчиняются правилам сравнения чисел. Таким образом, int(1) и float(1.0) считаются одинаковым ключом. Однако из-за того, что значения типа float сохраняются приближенно, не рекомендуется использовать их в качестве ключей.
#вопросы_с_собеседований
👍19
Написание эмулятора 6502 на Python
Процессор 6502 от Motorola был довольно популярен, и его можно было найти в консолях Nintendo и Sega, а также в Commodore 64. В этой очень подробной статье показано, как создать эмулятор процессора на Python. Для прочтения нужен VPN.
Читать статью
Процессор 6502 от Motorola был довольно популярен, и его можно было найти в консолях Nintendo и Sega, а также в Commodore 64. В этой очень подробной статье показано, как создать эмулятор процессора на Python. Для прочтения нужен VPN.
Читать статью
👍9
Генерируем ip адреса
С помощью следующего фрагмента кода мы можем с легкостью сгенерировать ip адрес.
#код
С помощью следующего фрагмента кода мы можем с легкостью сгенерировать ip адрес.
#код
👍16🔥2
Сколько всего курсов по программированию вы купили?
#интерактив
#интерактив
🤔6