⚡️ Обфускация исходного кода. Работаем с pyarmor
Python никак не скрывает свой исходный код и каждый, кто получит файл, может легко его прочитать.
Это может стать серьёзной проблемой в безопасности и, чтобы скрыть и запутать исходник, используют обфускаторы.
Обфускатор — это программа, которая различными способами усложняет скрипт. Меняет названия переменных, потоки и так далее.
Это затрудняет анализ скрипта, сохраняя функциональность. Одна из таких программ — pyarmor.
Установка:
#миниурок #pyarmor
Python никак не скрывает свой исходный код и каждый, кто получит файл, может легко его прочитать.
Это может стать серьёзной проблемой в безопасности и, чтобы скрыть и запутать исходник, используют обфускаторы.
Обфускатор — это программа, которая различными способами усложняет скрипт. Меняет названия переменных, потоки и так далее.
Это затрудняет анализ скрипта, сохраняя функциональность. Одна из таких программ — pyarmor.
Установка:
pip install pyarmor
Пример кода взят из этой статьи, а выше — можете видеть результат.#миниурок #pyarmor
⚡️ Простая проверка данных
Довольно часто случается, что необходимо проверить ссылку или, например, почту на правильность ввода.
Вместо того, что бы писать огромное количество регулярных выражений, можно воспользоваться модулем validators.
Установка:
Библиотека может проверять почту, узнавать, находится ли число между максимальным и минимальным числом, показываться домен, ip и даже mac-адрес.
Подробнее — в документации.
#мини_урок #validators
Довольно часто случается, что необходимо проверить ссылку или, например, почту на правильность ввода.
Вместо того, что бы писать огромное количество регулярных выражений, можно воспользоваться модулем validators.
Установка:
pip install validators
Библиотека может проверять почту, узнавать, находится ли число между максимальным и минимальным числом, показываться домен, ip и даже mac-адрес.
Подробнее — в документации.
#мини_урок #validators
⚡️ Задача на собеседование: скрытие символов банковской карты
Условие:
На вход идёт строка с номером карты. Она может иметь внутри себя пробелы, что функция и должна предусматривать. Результат — 12 символов * и 4 последних символа от входной строки.
Пример:
hidecard("3459 0054 1234 6674") → ************6674
hidecard("1234567890987654") → ************7654
📌 Пишите ваше решение в комментариях. Решение будет через 4 часа на этом канале.
#Задача_с_собеседования
Условие:
На вход идёт строка с номером карты. Она может иметь внутри себя пробелы, что функция и должна предусматривать. Результат — 12 символов * и 4 последних символа от входной строки.
Пример:
hidecard("3459 0054 1234 6674") → ************6674
hidecard("1234567890987654") → ************7654
📌 Пишите ваше решение в комментариях. Решение будет через 4 часа на этом канале.
#Задача_с_собеседования
⚡️ Ищем файлы по шаблону
В этом нам поможет простой модуль glob. Он разыскивает файлы по паттерну принятой в Unix-системе.
Библиотека является встроенной, так что установка не требуется.
Чаще всего употребляется два знака — * (на его месте может быть неограниченное количество символов) и ? (только один символ).
Подробнее все шаблоны можно рассмотреть на этом сайте.
Также, если вы импортируете pathlib, можете воспользоваться методом pathlib.glob, который выполняет ту же самую функцию.
#миниурок #glob
В этом нам поможет простой модуль glob. Он разыскивает файлы по паттерну принятой в Unix-системе.
Библиотека является встроенной, так что установка не требуется.
Чаще всего употребляется два знака — * (на его месте может быть неограниченное количество символов) и ? (только один символ).
Подробнее все шаблоны можно рассмотреть на этом сайте.
Также, если вы импортируете pathlib, можете воспользоваться методом pathlib.glob, который выполняет ту же самую функцию.
#миниурок #glob
Что выведет этот код?
Anonymous Quiz
38%
Lorem ipsum
28%
ruxks ovyas
14%
yberz vcfhz
19%
YbeRZ VchfZ
⚡️Делаем и сохраняем скриншоты
В этом нам поможет pyscreenshot — простая библиотека с открытым исходным кодом. Для её стабильной работы необходим Pillow.
Установка:
Модуль может работать с разным бэкэндом, захватывать небольшие области, сохранять файлы и имеет множество других методов для работы с изображением.
Также, в модуле имеется возможность просмотреть картинку до сохранения с помощью show.
#миниурок #pyscreenshot
В этом нам поможет pyscreenshot — простая библиотека с открытым исходным кодом. Для её стабильной работы необходим Pillow.
Установка:
pip install Pillow pyscreenshot
Модуль может работать с разным бэкэндом, захватывать небольшие области, сохранять файлы и имеет множество других методов для работы с изображением.
Также, в модуле имеется возможность просмотреть картинку до сохранения с помощью show.
#миниурок #pyscreenshot
test2.py
885 B
⚡ Задачка с собеседования
У вас есть алгоритм, начальный текст и результат его работы. Ваша задача — узнать ключ шифрования.
Ключ состоит только из ASCII символов и только из больших и маленьких букв английского алфавита.
• Исходный код — файл test2.py
• Результат — файл result.txt
📌 Пишите ваше решение в комментариях. Решение будет через 4 часа на этом канале. 👇
#Задачка_с_собеседования
У вас есть алгоритм, начальный текст и результат его работы. Ваша задача — узнать ключ шифрования.
Ключ состоит только из ASCII символов и только из больших и маленьких букв английского алфавита.
• Исходный код — файл test2.py
• Результат — файл result.txt
📌 Пишите ваше решение в комментариях. Решение будет через 4 часа на этом канале. 👇
#Задачка_с_собеседования
⚡️ Кодировка base64
base64 — это стандарт кодирования битов с помощью только 64 символов ASCII. Он переводит все значения в символы, список которых можно тут.
Он создавался для бережной передачи информации между серверами, которыми могут выступать, например, вложения электронной почты.
Работать с этим стандартом можно и в Python, с помощью модуля base64.
Установка, по традиции, не требуется — библиотека уже должна быть в языке.
• b64encode(bytes) — преобразует двоичные данные в символы
• b64decode(bytes) — наоборот, декодирует их.
#теория #base64
base64 — это стандарт кодирования битов с помощью только 64 символов ASCII. Он переводит все значения в символы, список которых можно тут.
Он создавался для бережной передачи информации между серверами, которыми могут выступать, например, вложения электронной почты.
Работать с этим стандартом можно и в Python, с помощью модуля base64.
Установка, по традиции, не требуется — библиотека уже должна быть в языке.
• b64encode(bytes) — преобразует двоичные данные в символы
• b64decode(bytes) — наоборот, декодирует их.
#теория #base64
⚡️ Геттеры и сеттеры
В ООП языках, например C#, распространено использование таких конструкций, как геттеры и сеттеры. Они позволяют безопасно работать с приватными переменными.
В Python тоже есть такой функционал. Получение значения реализуется с помощью декоратора property, а назначение — @свойство.setter.
Также очень важно, чтобы методы и свойства имели одно и то же имя.
В примере выше мы отключаем возможность менять имя и проверяем возраст пользователя.
#теория
В ООП языках, например C#, распространено использование таких конструкций, как геттеры и сеттеры. Они позволяют безопасно работать с приватными переменными.
В Python тоже есть такой функционал. Получение значения реализуется с помощью декоратора property, а назначение — @свойство.setter.
Также очень важно, чтобы методы и свойства имели одно и то же имя.
В примере выше мы отключаем возможность менять имя и проверяем возраст пользователя.
#теория
⚡️ Задачка с собеседования
Условие:
Ваша цель — написать функцию, которая находит самые повторяющиеся слова в строке.
Пример:
text ('Am I want write code? Yeah! I like it') → I
text ('Hi! How are you? Hi! I am ok') → Hi
text ('test text test and test that again') → test
📌 Пишите ваше решение в комментариях. Решение будет через 4 часа на этом канале. 👇
#Задачка_с_собеседования
Условие:
Ваша цель — написать функцию, которая находит самые повторяющиеся слова в строке.
Пример:
text ('Am I want write code? Yeah! I like it') → I
text ('Hi! How are you? Hi! I am ok') → Hi
text ('test text test and test that again') → test
📌 Пишите ваше решение в комментариях. Решение будет через 4 часа на этом канале. 👇
#Задачка_с_собеседования
⚡️ Выводим таблицы в красивой форме
Для это используется модуль с не менее красивым названием — prettytable с одноименным классом PrettyTable.
Он позволяет легко составить таблицу и использовать её для вывода в консоль или сразу в файл.
Установка:
Полный набор возможностей можно просмотреть на сайте документации.
Для это используется модуль с не менее красивым названием — prettytable с одноименным классом PrettyTable.
Он позволяет легко составить таблицу и использовать её для вывода в консоль или сразу в файл.
Установка:
pip install prettytable
Библиотека может взаимодействовать с sqlite3 и csv-файлами. Также, вы можете настроить позиционирование, сортировку и даже отображение определённых строк и столбцов при выводе.Полный набор возможностей можно просмотреть на сайте документации.