Jebus | AI Design
2.05K subscribers
817 photos
37 videos
3 files
146 links
Промты для дизайна: свет, стиль, референсы.

🔥 Сохрани → сгенерируй

Библиотека промтов: @takeit4
Download Telegram
Менеджеры паролей на Python 🔒

В современном мире, где данные и учетные записи играют огромную роль, все говорят о важности использования менеджеров паролей для безопасности. Они обещают защитить ваши пароли и сделать их использование удобным. Давайте вместе рассмотрим структуру такого приложения на простом примере и поймем, как оно работает. Принцип работы таких сервисов простой как две коппейки. Менеджеры паролей генерируют и сохраняют сложные пароли для различных сервисов, используя шифрование для защиты данных.

Рассмотрим принцип работы на примере простейшей консольной программы, реальные такие приложения просто используют красивую мордочку 👩‍💻

👩‍💻 Сам код наглядно в HUBе: password_manager.py
👩‍💻 Ссылка на файл: password_manager.py

Основные принципы таких приложений заключаются в подобных функциях:
- Генерация ключа и его сохранение: функция generate_key() создает новый ключ шифрования и сохраняет его в файл secret.key.
- Загрузка ключа: функция load_key() загружает ключ из файла secret.key.
- Генерация пароля: функция generate_password() создает случайный пароль заданной длины, используя буквы, цифры и специальные символы.
- Шифрование и дешифрование: функции encrypt_message() и decrypt_message() используются для шифрования и дешифрования паролей с использованием ключа шифрования.

Сейчас нет никакой необходимости брутфорсить пароли, теперь подбирают ключи шифрования 🕷️
А теперь вы уверены в надежности таких сервисов? 🤔

Подписаться

#pyscripts | #passwordmanager
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21🔥1
Разбираемся как работают блокировщики рекламы

Реклама заполняет интернет-пространство, замедляет загрузку страниц и отвлекает от важного и в целом бесит. Сколько себя помню в инете, юзаю adblock, но как насчет того, чтобы поковырять код такого приложения изнутри? Напишем свой собственный блокировщик рекламы на Python 👩‍💻

Принцип работы достаточно простой. Блокировщик рекламы сканирует веб-страницы и удаляет элементы, которые идентифицируются как реклама. Это может быть достигнуто с использованием библиотек для веб-скрапинга и манипуляции DOM (Document Object Model).

Самый простейший блокировщик будет выглядеть так:
import requests
from bs4 import BeautifulSoup

def is_ad(tag):
"""Определяем, является ли тег рекламным баннером"""
ad_keywords = ['ad', 'advertisement', 'banner', 'sponsored']
for keyword in ad_keywords:
if keyword in tag.get('class', []) or keyword in tag.get('id', ''):
return True
return False

def remove_ads(url):
"""Удаляем рекламные баннеры с указанного URL"""
response = requests.get(url)
soup = BeautifulSoup(response.content, 'html.parser')

ads = soup.find_all(is_ad)
for ad in ads:
ad.decompose()

return soup

if __name__ == "__main__":
url = input("Введите URL страницы для блокировки рекламы: ")
clean_page = remove_ads(url)
with open('clean_page.html', 'w', encoding='utf-8') as file:
file.write(str(clean_page))
print("Страница без рекламы сохранена как 'clean_page.html'")


Так что тут происходит? 👩‍💻

- Импорт библиотек: используем requests для получения содержимого страницы и BeautifulSoup из библиотеки bs4 для анализа HTML.
- Функция is_ad: Определяет, является ли HTML-тег рекламным баннером, проверяя его классы и идентификаторы на наличие ключевых слов, связанных с рекламой.
- Функция remove_ads: Загружает веб-страницу и анализирует её содержимое, находит все элементы, определенные как рекламные, и удаляет их.
- Основной блок: Запрашивает URL страницы, очищает её от рекламы и сохраняет результат в файл clean_page.html.

Ну что, теперь сможем убрать рекламу с тырнета?

Заметочки все тут 📂
#pyscripts | #adblock
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍1🔥1👏1
История про то как я нашел свой линукс 🦋

В общем всем понятно, что дистрибутивов ну оооочень много и с ноги залететь в линукс задача не из простых. Тем не менее начинал я свой путь с ютуба, как писал один из комментаторов:
Предпочитаю окунаться в линукс издалека

Короче я начала свой путь в мире линуксов с Ubuntu 👩‍💻, как и многие другие. Она удобна для новичков, но со временем я понял, что мне нужно что-то более гибкое. Так я решил попробовать Arch 👩‍💻. Я никогда так не ошибался... С ним можно настроить систему полностью под свои нужды, но на это уходит слишком много времени. В какой-то момент я тупо устал это настраивать со страхом поломать систему. А репозиторий хоть и наполнен пакетами последних версий, но там полный unstable. Считайте, что вы бетатестер.

В общем ковыряясь в этом всем я просто пришел в Fedora 👩‍💻. Она всегда включает самые свежие версии программ и библиотек, но проверенные, а не как на арче. Это особенно важно для разработчиков, которые хотят работать с новейшими инструментами. Несмотря на новизну ПО, Fedora остается стабильной. Она проходит тщательное тестирование, что снижает риск неожиданных проблем. Гном тоже прекрасно работает и, можно сказать, вполне симпатичный.

Выбор дистрибутива — дело личное, и каждый найдет что-то свое. Для меня Fedora стала идеальным балансом между новым софтом, стабильностью и удобством. Если вы в поисках нового рабочего окружения для разработки, рекомендую попробовать Fedora — возможно, это именно то, что вам нужно!

А какой дистрибутив используете вы? Делитесь своим опытом в комментариях! 👩‍💻

#linux | #fedora
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥31👏1
Сбой в работе Windows: пользователи по всему миру наблюдают ошибку BSOD на своих экранах. Все из-за обновы CrowdStrike.

Все еще сидишь на Windows?
Please open Telegram to view this post
VIEW IN TELEGRAM
💩2😱1🤬1
Прогнозирование покупок в интернет-магазине с помощью Python 🛒

А у вас бывало такое, что именно сегодня вы получаете сочный скидочный купон на wb или ozon?
Сегодня хочу поделиться интересной задачей и её решением, которое может быть полезно каждому, кто работает с данными пользователей в интернет-магазинах. Речь пойдёт о том, как предсказать, какие пользователи с наибольшей вероятностью сделают покупку в ближайшие 30 дней. Аналитика это просто 😁

Нам нужно:
⚠️ Собрать данные о действиях пользователей на сайте.
⚠️ Предобработать эти данные для анализа.
⚠️ Построить модель машинного обучения для предсказания покупок.
⚠️ Создать API для получения прогнозов в реальном времени.

Решить это можно следующим образом:
Сначала загружаем данные о действиях пользователей и подготавливаем их для анализа.
Обучаем модель машинного обучения для предсказания вероятности покупки.
Создаём API с использованием Flask для получения прогнозов в реальном времени.

👩‍💻 Результат:
Теперь у нас есть система, которая анализирует поведение пользователей и предсказывает вероятность их покупки в ближайшие 30 дней. Это поможет направлять рекламные акции и специальные предложения на тех пользователей, которые с наибольшей вероятностью совершат покупку. Теперь понимаешь, как такое происходит?

Хотите увидеть полный код? Вам сюда 👇
👩‍💻 Код в нашем HUB: market_analytics.py

Сохраняй, чтобы не забыть 📂
#pyproject | #ai
Please open Telegram to view this post
VIEW IN TELEGRAM
2🔥1😱1
🫠 - Снова эмодзи года, 3й раз подряд.

Знакомое ощущение, когда после одной новой строчки проект упал и поднять его не получается?
👏2😁1🗿1
👩‍💻 А как просто найти все ключевые слова в тексте?

По работе с публикациями не редко приходится фильтровать множество работ по ключевым словам. Работа муторная и однотипная, а как мы знаем такую работу всегда можно поручить коду. 👨‍💻 Но вопрос, а как отфильтровать условные 200 работ по тематике, если она не известна заранее? На ум приходит фильтр по ключевым словам. Задача стояла не из легких: необходимо было найти слова, которые встречаются чаще всего, и отбросить все редкие вхождения.

Решение пришло быстро: написать скрабер ключевых слов, разберем принцип работы простейшего скрабера:

Чтобы увидеть код - тык сюда 👇
👩‍💻 Код в нашем HUB: scraber.py

Что мы делаем?
Открываем и читаем *.txt файл
Приводим текст к нижнему регистру
Удаляем знаки препинания
Разбиваем текст на слова
Используем Counter из модуля collections для подсчета частоты каждого слова
Исключаем слова, которые встречаются реже заданного порога threshold
Сортируем слова по частоте их вхождений в текст
Выводим результат

Безусловно код можно модифицировать, например, для автоматического определения фильтра вхождения или для работы с *.pdf и *.doc файлами. Все зависит от вашего интереса 😊

Просто кодим 📂
#pyscript| #scraber
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥1🥰1
Защити свои проекты с помощью шифрования на Python! 🔐

В мире информационных технологий защита данных становится все более важной. Мы часто слышим о взломах, утечках данных и киберугрозах. В такой среде важно обеспечить безопасность ваших проектов и личной информации.

Если вы хотите защитить свои проекты от несанкционированного доступа, шифрование – это то, что вам нужно. Предлагаю рассмотреть самый простой простой способ создать ключи шифрования с помощью Python.

👉🏻Пример код здесь👈🏻

👩‍💻 Этот скрипт на Python использует библиотеку cryptography для генерации пары ключей RSA (приватного и публичного). Давайте разберем некоторые части кода:

public_exponent=65537: типичное значение, используемое в RSA.
key_size=2048: размер ключа (2048 бит), что обеспечивает высокую безопасность.
backend=default_backend(): использование стандартного криптографического бэкенда.

Сериализация ключей:
Преобразование приватного ключа в формат PEM (формат для хранения и передачи ключей).
serialization.PrivateFormat.TraditionalOpenSSL: традиционный формат OpenSSL для приватных ключей.
serialization.BestAvailableEncryption(b'mypassword'): защита приватного ключа с помощью пароля mypassword.
Преобразование публичного ключа в формат PEM.
serialization.PublicFormat.SubjectPublicKeyInfo: стандартный формат для публичных ключей.

Приватный ключ сохраняется в файл private_key.pem
Публичный ключ сохраняется в файл public_key.pem

📂 Этот скрипт создает пару RSA-ключей, где:
Приватный ключ используется для дешифрования данных и защищен паролем.
Публичный ключ используется для шифрования данных и может быть распространен среди тех, кто будет отправлять вам зашифрованные сообщения.

Просто кодим 📂
#pyscript| #keygen
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍1🔥1
😁21🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Новая клава от логитек?
👍2🥰2🔥1
❤‍🔥2👍2🔥1🤔1
А вы верите в гороскопы?

Как на счет того, чтобы иметь гороскоп всегда под рукой 😁
Сегодня делимся интересным проектом на Python, который позволяет генерировать уникальные гороскопы для каждого знака зодиака. Поделимся с вами простым кодом и его объяснением.

👩‍💻 Ссылка на скрипт 👈🏻
Что делает этот скрипт?

Наш генератор гороскопов позволяет:
👩‍💻 Ввести знак зодиака
👩‍💻 Выбрать период (день, месяц, год) для получения гороскопа

Функция генерации гороскопа:
def generate_horoscope():
return f"{random.choice(beginnings)} {random.choice(middles)} {random.choice(ends)}"

👩‍💻 Подробнее по ссылке выше

Пользователь вводит знак зодиака и период, после чего получает соответствующий гороскоп.
Делитесь своим гороскопом в комментариях 🎉

Просто кодим 📂
#pyscript| #fun
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥2👍21🔥1
Вас тоже останавливает майкрософт офис от этого безумия?
😁3👍2👏1
А что посмотреть сегодня вечером? 👩‍💻

Бывало у вас такое, что время есть, а что посмотреть не знаем. Вот у меня возникла идея парсера фильмов с кинопоиска. Пользователь вводит жанр и год, а потом получает ссылку на случайный фильм. Но это оказалось чуть сложнее чем 15 минут игрулек с кодом, поэтому пока сделал небольшой генератор случайный фильмов кинопоиска 👨‍💻

import random,requests

def is_film_exists(url):
try:
response = requests.get(url)
# Проверяем успешный запрос
return response.status_code == 200
except requests.RequestException:
return False

def generate_random_film_url(min_id=100, max_id=1190000):
while True:
# Генерируем случайное число в диапазоне ID фильмов
film_id = random.randint(min_id, max_id)

# Формируем URL для фильма
url = f"https://www.kinopoisk.ru/film/{film_id}/"

# Проверяем, существует ли фильм по этой ссылке
if is_film_exists(url):
return url

random_film_url = generate_random_film_url()
print("Ссылка на случайный фильм:", random_film_url)


В нем все просто, запускаете и получаете ссылку на случайный фильм. Код проверяет наличие фильма по предложенной ссылке или создает новую 😐

Просто кодим 📂
#pyscript| #fun
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍2🔥1🥰1
Не высказывался еще только ленивый, поэтому и мне захотелось. Не круто короче, замедление по факту вредит только пользователям.

Пока еще мобильное приложение не трогают, но скоро и до него дело дойдет.

А вы где смотрите замечательные видосики? На каком ресурсе?
3🔥1👏1
Jebus | AI Design
Какой контент более интересный?
squares.bin
3.1 KB
Поскольку кто-то проголосовал за бинарный файл с 244 строками с геометрией 12 квадратов, то вот он
🔥32👍1
2👍2🔥2
👩‍💻 EndeavourOS

Сейчас почему-то очень популярным дистрибутивом стал Arch linux. Я как-то не вкатился в него, можно сказать не понял. Там очень муторная установка, через терминал при помощи арч-вики, но я с ней справился. Думая, что самое душное позади, я начал ковырять ее дальше. Эх... В общем скажу сразу, что с ноги врываться в Арч смысла мало, но как учебник штука не плохая. Тем не менее, если все-таки тянет на арч, но недели на настройку у вас нету, ставьте EndeavourOS. Если простыми словами: это арч, который за вас настроил какой-то дядька. Но тем не менее, вкатываться уже можно начинать. В целом этот пост натолкнул меня на мысль о микрообзорах дистрибутивов с точки зрения "запустил и погнали".

Нужен обзор EndeavourOS?
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥41👍1
👩‍💻 Самый быстрый по скорости алгоритм поиска не первого наибольшего элемента массива

Разберем задачу: поиск второго наибольшего числа в массиве.

Например нужно обработать данные списка на питоне:
second_largest([3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5])  # 6
second_largest([10, 10, 10]) # None
second_largest([1]) # None
second_largest([]) # None
second_largest([8, 8, 7, 6, 5, 6]) # 7


Для этого:
Мы будем использовать две переменных: first и second, инициализировав их значением как минус бесконечность. Пройдем по списку один раз и обновим значения этих переменных по мере необходимости. Этот метод работает за O(n), что быстро и эффективно!

Сам алгоритм:
def second_largest(numbers):
if len(numbers) < 2:
return None

first, second = float('-inf'), float('-inf')
for number in numbers:
if number > first:
first, second = number, first
elif first > number > second:
second = number

return second if second != float('-inf') else None

# Примеры использования
print(second_largest([3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5])) # 6
print(second_largest([10, 10, 10])) # None
print(second_largest([1])) # None
print(second_largest([])) # None
print(second_largest([8, 8, 7, 6, 5, 6])) # 7


🔥 Преимущества:
- Временная сложность: O(n)
- Простота реализации
- Легкость в понимании

А как бы вы решили эту задачу?
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥21