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

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

Библиотека промтов: @takeit4
Download Telegram
❤‍🔥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
Ну что, готовимся к разрывному стартапу 😏
Please open Telegram to view this post
VIEW IN TELEGRAM
😁4❤‍🔥2🔥2
Вот не понимаю этой новой моды на Arc Browser 👩‍💻

Мне в рекомендациях на YouTube навалило много видео от айтишников, что это просто нечто, революция и глоток свежего воздуха... Но это просто очередной Google Chrome с вертикальными вкладками. В чем смысл? 😐

Да, у него вертикальные вкладки, но что это дает? У меня широкий монитор, да, но я как-то не испытывал потребности именно в вертикальных вкладках. 👀

Да, у него есть space, то есть что-то вроде локальных профилей, что позволяет залогиниться на условном VK с рабочего аккаунта и личного, ну или в почте так сделать. Удобно ли это? Я не знаю, у меня все и без этого Arc так настроено. 👀

Да, у него есть предпросмотр страницы. Это вообще непонятно, в чем киллер-фича. Это вроде даже в Mozilla есть. 😆

В общем, не понимаю и не советую вам Arc Browser. Может, на маке он какой-то супер красивый, я без мака, сказать ничего не могу. А еще в нем нет русского языка, думайте.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥1😁1🤔1
Jebus | AI Design
👩‍💻 EndeavourOS Сейчас почему-то очень популярным дистрибутивом стал Arch linux. Я как-то не вкатился в него, можно сказать не понял. Там очень муторная установка, через терминал при помощи арч-вики, но я с ней справился. Думая, что самое душное позади, я…
👩‍💻 микрообзор на EndevourOS

Можно ставить и кайфовать

Простота установки: 4 из 5. Ставить ее очень просто, установщик на русском языке, все пакеты нужные можно установить сразу. Любое окружение. В общем это арчинсталлер на стероидах. Бал забрал за то, что разбегаются глаза при установке и просит вифи. Без интернета никаких доп пакетов не видать.

Легкость первой настройки: 4 из 5. Ну тут по сравнению с арчем тоже все круто-классно. Да, дядечка за тебя уже все решил и все скриптики написал. А минусы будут? Ну типо вау, арч работает и мне не пришлось каждый вечер бороться с ним за первенство в этой квартире. Бал снимаю потому что с коробки все равно не все есть и работает, но это такие мелочи.

Репозитории и пакеты: 5 из 5. EndeavourOS использует мощный пакетный менеджер pacman и имеет доступ к Arch User Repository (AUR), что предоставляет пользователям огромный выбор программного обеспечения и возможность установки почти любого нужного пакета. Но есть и минусы, в AUR все пакеты как с ветки unstable. Наткнуться на что-то, что сломается непонятно от чего проще простого, но все равно наполненность отличная.

Плавность работы интерфейса: 4 из 5. А какие тут могут быть проблемы? множество настраиваемых и современных окружений рабочего стола, таких как XFCE, KDE и GNOME, что делает его привлекательным для пользователей с различными предпочтениями. Эти окружения можно легко настроить под себя, что делает систему ещё более удобной и красивой.

В общем система прикольная и мне зашла, но я пользоваться ей не буду. Мне не нравится арч и его репозиторий, но как вариант для тех, кому арч заходит мастхев.
Please open Telegram to view this post
VIEW IN TELEGRAM
3🔥2👍1
This media is not supported in your browser
VIEW IN TELEGRAM
А мне говорили, что этим все кончится
😁4🔥1😱1
👩‍💻 Интересный факт про питон

Одной из уникальных и забавных особенностей Python является возможность использования ключевого слова else вместе с циклами for и while. В других языках программирования такое использование ключевого слова else встречается крайне редко или вовсе отсутствует.

В Python блок else в цикле выполняется, когда цикл завершается "естественным образом", то есть без использования ключевого слова break. Это может быть полезно для того, чтобы отличить завершение цикла по естественной причине от завершения из-за прерывания.

Пример:
# Пример использования else с циклом for
for i in range(5):
if i == 3:
print("Нашли 3, выходим из цикла")
break
else:
print("Цикл завершился без прерывания")

# Пример использования else с циклом while
n = 0
while n < 5:
if n == 3:
print("Нашли 3, выходим из цикла")
break
n += 1
else:
print("Цикл завершился без прерывания")


В первом примере цикл for прерывается, когда i становится равным 3, поэтому блок else не выполняется. Во втором примере аналогично, цикл while прерывается при n == 3, и блок else также не выполняется.
Если бы в обоих случаях условие прерывания не было выполнено, блоки else были бы выполнены, что позволяет легко проверить, завершился ли цикл по естественной причине или был прерван.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍41🔥1
Есть проблемы с ютубом?
Anonymous Poll
50%
Да
50%
Нет
🥴1
This media is not supported in your browser
VIEW IN TELEGRAM
Как на счет забацать свой валдберист, потягивая кофеек и смотря на закат?

Недавно начал разбираться с библиотекой flet. Эта библиотека позволяет делать симпатичный интерфейс, причем адаптированный для web. А также компилируется одинаково для любой системы. Поскольку ничего полезного делать я не умею, я решил сделать онлайн магазин. Базовый с минимумом функий. Оказалось это очень просто.

👩‍💻 Исходный код доступен по 👉🏻 ссылке 👈🏻

Для того, чтобы собрать это в *.exe используем функцию на windows

 pyinstaller --onefile --windowed .\wb.py


В магазине есть главная страница с товарами (стакан, стол, корова), страница товара с возможностью выбрать количество и добавить товар в корзину, корзина с возможностью изменять количество товаров и оплачивать покупку, а также личный кабинет с аватаром и балансом пользователя. Все страницы и элементы интерфейса создаются и обновляются динамически при взаимодействии пользователя с кнопками и другими элементами управления. Реализуется все благодаря внутренним функция flet, причем они не такие уж и сложные.

Если интересна эта библиотека, пишите в комментарии, а также можете посоветовать мне что-то, в чем тоже стоит покопаться.

Основные функции кода:
main(page): Инициализирует приложение, устанавливает заголовок и размеры окна, определяет баланс пользователя и корзину, и вызывает главную страницу.
update_page(view): Очищает текущие элементы управления на странице, добавляет новый вид и обновляет страницу.
home_page(e=None): Создает и отображает главную страницу с товарами, кнопками навигации и их обработчиками событий.
product_page(e, product): Создает и отображает страницу товара с возможностью выбрать количество, добавить товар в корзину и вернуться на главную страницу.
cart_page(e=None): Создает и отображает корзину с товарами, их количеством, общей стоимостью и кнопкой для оплаты, а также кнопками навигации.
account_page(e=None): Создает и отображает личный кабинет с аватаром пользователя, балансом и кнопками навигации.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍32🔥1
Channel name was changed to «Пикод»
Задача о поиске всех простых чисел до заданного числа n 👩‍💻
Как пример влияния оптимизации кода на время решения.

Пример неоптимизированного кода для нахождения всех простых чисел до n с использованием простого перебора делителей:
def is_prime(n):
if n <= 1:
return False
for i in range(2, n):
if n % i == 0:
return False
return True

def find_primes(n):
primes = []
for i in range(2, n + 1):
if is_prime(i):
primes.append(i)
return primes

n = 100
print(find_primes(n))



Теперь улучшим этот код, используя алгоритм "Решето Эратосфена":
def sieve_of_eratosthenes(n):
is_prime = [True] * (n + 1)
p = 2
while p ** 2 <= n:
if is_prime[p]:
for i in range(p * p, n + 1, p):
is_prime[i] = False
p += 1
primes = [p for p in range(2, n + 1) if is_prime[p]]
return primes

n = 100
print(sieve_of_eratosthenes(n))


В оптимизированном коде используется алгоритм "Решето Эратосфена", который значительно эффективнее простого перебора делителей.

1. Создаем список булевых значений is_prime, где is_prime[i] указывает, является ли число i простым.
2. Начинаем с первого простого числа 2 и отмечаем все его кратные как составные (непростые).
3. Переходим к следующему неотмеченному числу и повторяем процесс.
4. Повторяем процесс до тех пор, пока квадрат текущего числа p меньше или равен n.
5. Возвращаем все числа, которые остались отмеченными как простые.

Этот алгоритм имеет временную сложность (O(n log n)), что значительно быстрее по сравнению с временной сложностью (O(n)) для простого перебора делителей.
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍2🔥1
FireFox самый быстрый браузер на сегодняшний день, если врубить эти настройки. Я сам сначала не поверил, что это настолько помогает. 💄 Теперь только с него и сижу. 10 из 10. Они уменьшают дилей на ответ с сервера, увеличивают количество запросов единовременно. А еще отключает телеметрию и покет.

В поисковой строке пишете about:support > Папка профиля > pref.js. Закрываете Firefox, в конец файла pref.js вставляете этот код,сохраняете.


//Ускоряем загрузку страниц
user_pref("network.http.pipelining", true);
user_pref("network.http.proxy.pipelining", true);
user_pref("network.http.pipelining.maxrequests", 30);
user_pref("nglayout.initialpaint.delay", 0);
user_pref("nglayout.initialpaint.delay_in_oopif", 0);

// Отключаем Pocket
user_pref("extensions.pocket.api", "");
user_pref("extensions.pocket.enabled", false);
user_pref("extensions.pocket.site", "");
user_pref("extensions.pocket.oAuthConsumerKey", "");

//Отключаем анимацию открытия видео на фуллскин и подсказку "нажмите esc.."
user_pref("full-screen-api.transition-duration.enter", "0");
user_pref("full-screen-api.transition-duration.leave", "0");
user_pref("full-screen-api.warning.timeout", 0);

//Просим сайты не отслеживать Вас
user_pref("privacy.trackingprotection.enabled", true);
user_pref("privacy.donottrackheader.enabled", true);

//Отключаем телеметрию и отправку отчетов
user_pref("toolkit.telemetry.archive.enabled", false);
user_pref("toolkit.telemetry.bhrPing.enabled", false);
user_pref("toolkit.telemetry.cachedClientID", "");
user_pref("toolkit.telemetry.firstShutdownPing.enabled", false);
user_pref("toolkit.telemetry.hybridContent.enabled", false);
user_pref("toolkit.telemetry.newProfilePing.enabled", false);
user_pref("toolkit.telemetry.previousBuildID", "");
user_pref("toolkit.telemetry.reportingpolicy.firstRun", false);
user_pref("toolkit.telemetry.server", "");
user_pref("toolkit.telemetry.server_owner", "");
user_pref("toolkit.telemetry.shutdownPingSender.enabled", false);
user_pref("toolkit.telemetry.unified", false);
user_pref("toolkit.telemetry.updatePing.enabled", false);
user_pref("datareporting.healthreport.infoURL", "");
user_pref("datareporting.healthreport.uploadEnabled", false);
user_pref("datareporting.policy.dataSubmissionEnabled", false);
user_pref("datareporting.policy.firstRunURL", "");
user_pref("browser.tabs.crashReporting.sendReport", false);
user_pref("browser.tabs.crashReporting.email", false);
user_pref("browser.tabs.crashReporting.emailMe", false);
user_pref("breakpad.reportURL", "");
user_pref("security.ssl.errorReporting.automatic", false);
user_pref("toolkit.crashreporter.infoURL", "");
user_pref("network.allow-experiments", false);
user_pref("dom.ipc.plugins.reportCrashURL", false);
user_pref("dom.ipc.plugins.flash.subprocess.crashreporter.enabled", false);

//Тонкие вкладки и поисковая строка
user_pref("browser.uidensity", 1);
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3👍1😱1
😁2❤‍🔥1👍1🔥1😢1
Игра Виселица на Python 👩‍💻

Сегодня вечером мне было нечего делать и я решил снова покорять геймдев. 👨‍💻 С flet я не разобрался и пришлось делать все на PyQT. В общем моя новинка игропрома: Виселица. Эта классическая игра теперь может стать отличным примером для тех, кто хочет практиковать свои навыки программирования и работы с GUI на Python.

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

Реализацию я видел так:

1. Выбор слова: При запуске игры случайным образом выбирается слово из списка английских или русских слов. В зависимости от выбранного слова, на экране будут отображаться соответствующие кнопки с буквами (латинские или кириллические).
2. В окне игры есть несколько элементов:
Область для рисования виселицы и человечка.
Поле для отображения угаданного слова.
Поле с количеством оставшихся попыток.
Поле, которое показывает, на каком языке загадано слово.
Поле для отображения использованных букв.

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

Ну а дальше по классике, угадал — молодец, а нет... Ну сам понимаешь😊

Попробуйте реализовать этот проект самостоятельно! Отличная тренировка.
А если хотите поиграть, вот ➡️ ссылка ⬅️ на код

@debugblog
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍1🔥1