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

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

Библиотека промтов: @takeit4
Download Telegram
А что, звучит хайпово

Youtube, Google всё
👎4
Jebus | AI Design pinned Deleted message
Начал делать приложение для помощи в обучении. Пока только для информатики, потому что для других предметов не придумал. Задача простая у него: преподавателем загружается задание в виде кода с ответом. Далее ученик сверяет свой ответ и свой код (по желанию). Поскольку ответ и код решения преподавателя зашифрованы, подглядеть не получится (на самом деле получится, если хитрый и понимаешь принцип работы)
3🔥2👍1
👩‍💻 Чтобы найти максимальный элемент в массиве на языке #Python, существует несколько способов:

1. Использование встроенной функции `max`:
   max_element = max(array)

Это самый простой и быстрый способ, поскольку max оптимизирован и написан на C.

2. Использование цикла `for`:
   max_element = array[0]
for element in array:
if element > max_element:
max_element = element

Это более явный способ, но он менее эффективен, чем встроенные функции.

3. Использование функции `reduce` из модуля `functools`:
   from functools import reduce
max_element = reduce(lambda x, y: x if x > y else y, array)

Этот способ также менее эффективен, чем встроенная функция max, но может быть полезен в определенных контекстах.

4. Использование библиотеки `numpy`:
   import numpy as np
max_element = np.max(array)

Если массив является объектом numpy, этот метод будет очень быстрым благодаря оптимизациям библиотеки.

5. Использование многопоточности:
Для огромных массивов можно разбить задачу на части и выполнить поиск максимума параллельно. Пример с использованием concurrent.futures:
   from concurrent.futures import ThreadPoolExecutor, as_completed

def find_max(sub_array):
return max(sub_array)

def parallel_max(array, num_threads):
chunk_size = len(array) // num_threads
futures = []
with ThreadPoolExecutor(max_workers=num_threads) as executor:
for i in range(num_threads):
sub_array = array[i*chunk_size:(i+1)*chunk_size]
futures.append(executor.submit(find_max, sub_array))
results = [future.result() for future in as_completed(futures)]
return max(results)

max_element = parallel_max(array, 4) # Например, с 4 потоками

Это может ускорить процесс для очень больших массивов на многопроцессорных системах.

Самый быстрый и рекомендуемый способ — это использование встроенной функции max для стандартных массивов Python, либо функции np.max для массивов numpy, так как они написаны на C и максимально оптимизированы для производительности.

@debugblog
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍2🔥1
Покоряем геймдев (снова) 😐

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

Инициализация Pygame:
Важно было настроить основное окно и задать его размеры. Решил сделать его 800x600 пикселей — идеальный размер для классического "Пинг-Понга". Определил размеры и начальные позиции для ракеток и мяча. Каждая ракетка управляется своей клавишей — W и S для левой, и стрелки для правой. Настроил движение мяча и ракеток, а также проверку столкновений. Это самая важная часть кода! Когда мяч сталкивается с ракеткой, он меняет направление.

👩‍💻 Код доступен по ссылке

Сейчас модно зазывать людей в айти под видом работы в геймдеве, но это все можно изучать самостоятельно 👨‍💻 Как раз можете попробовать создать какой-то такой простой проект. Или нужен подробный разбор библиотеки pygame?

@debugblog
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥21
Как найти медиану массива чисел на Python 👩‍💻

Медиана — это такое значение, которое делит массив на две равные части. Для нахождения медианы в массиве чисел существует несколько способов. Рассмотрим несколько из них.

1. Использование библиотеки statistics:
   import statistics

array = [3, 5, 1, 4, 2]
median = statistics.median(array)

Это самый простой и быстрый способ для небольших массивов, поскольку функция median из модуля statistics написана на C и оптимизирована для работы с числами.

2. Реализация вручную с сортировкой:
   array = [3, 5, 1, 4, 2]
sorted_array = sorted(array)
n = len(sorted_array)
mid = n // 2

if n % 2 == 0:
median = (sorted_array[mid - 1] + sorted_array[mid]) / 2
else:
median = sorted_array[mid]

Этот способ полезен, чтобы лучше понять, как вычисляется медиана. Он также дает возможность обработки нестандартных случаев.

3. Использование библиотеки numpy:
   import numpy as np

array = np.array([3, 5, 1, 4, 2])
median = np.median(array)

numpy — это мощная библиотека для научных вычислений в Python. Если массив представлен объектом numpy, этот метод будет очень быстрым и удобным.

4. Нахождение медианы для больших массивов (использование квантилей):
   import numpy as np

def find_median_large_array(array):
return np.percentile(array, 50)

large_array = np.random.randint(0, 1000, size=1000000) # Пример большого массива
median = find_median_large_array(large_array)

Этот метод полезен для очень больших массивов, так как numpy оптимизирован для работы с большими данными.

5. Использование библиотеки scipy для многомерных данных:
   from scipy import stats

array = [3, 5, 1, 4, 2]
median = stats.scoreatpercentile(array, 50)

scipy — еще одна мощная библиотека для научных и технических вычислений, которая предоставляет множество статистических функций.

Самый быстрый и простой способ — использовать функции median из модуля statistics для небольших массивов или np.median из библиотеки numpy для больших массивов, поскольку они оптимизированы и предоставляют удобные интерфейсы для вычислений.
@debugblog
Please open Telegram to view this post
VIEW IN TELEGRAM
4👍1🔥1
Вот и до Сибири дошло замедление, у вас все также плохо с ютубом?
😢3
Поиск самого длинного слова в предложении с помощью Python 👩‍💻

Когда вам нужно найти самое длинное слово в предложении, Python предоставляет элегантное и простое решение:
sentence = 'Python is an amazing programming language'
words = sentence.split()
longest_word = max(words, key=len)
print(longest_word)


Этот код работает, разбивая предложение на отдельные слова с помощью метода split(), затем используя функцию max() для нахождения самого длинного слова. Ключевая часть — это использование параметра key=len в функции max(), который говорит Python сравнивать слова по их длине.

В итоге, если вы запустите этот код, он выведет: programming.

Этот подход универсален и может быть использован для поиска самого длинного слова в любом тексте, просто заменив строку sentence на нужное вам предложение. 👨‍💻

#study | #inf
@debugblog
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
3🔥2👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Реверсирование слов в предложении с помощью Python 👩‍💻

Если вам нужно перевернуть каждое слово в предложении, Python предоставляет простое решение, используя списковые включения и строковые методы. Давайте рассмотрим, как это сделать с помощью небольшого скрипта.
sentence = 'Hello World from Python'
words = sentence.split()
reversed_words = [word[::-1] for word in words]
result = ' '.join(reversed_words)
print(result)


Вот что делает этот код:

1. Разделение предложения на слова: sentence.split() разделяет строку на список слов, используя пробелы в качестве разделителей.
2. Реверсирование каждого слова: [word[::-1] for word in words] — это списковое включение, которое проходит по каждому слову и реверсирует его с помощью среза [::-1].
3. Сборка строки из перевернутых слов: result = ' '.join(reversed_words) объединяет перевернутые слова обратно в одну строку, разделяя их пробелами.
4. Вывод результата: Используется print(), чтобы вывести финальную строку с перевернутыми словами.

Пример:
Если вы запустите этот код с исходным предложением 'Hello World from Python', результат будет таким:
olleH dlroW morf nohtyP


Этот подход полезен, когда нужно изменить порядок букв в каждом слове, сохраняя при этом их исходную последовательность. Пример можно расширить для работы с более сложными текстами или адаптировать для специфических нужд. 👨‍💻

#study | #inf
@debugblog
Please open Telegram to view this post
VIEW IN TELEGRAM
👍31🔥1
😁31🔥1
Jebus | AI Design
Вот не понимаю этой новой моды на Arc Browser 👩‍💻 Мне в рекомендациях на YouTube навалило много видео от айтишников, что это просто нечто, революция и глоток свежего воздуха... Но это просто очередной Google Chrome с вертикальными вкладками. В чем смысл?…
Микрообзоры браузеров - 2
Arc Browser
👩‍💻

Пробовал пользоваться этим браузером целую неделю, но так и не понял, для чего он нужен, кроме как для эстетики. Выглядит красиво, но на этом его плюсы заканчиваются. Настройки урезаны, работать с ним сложно. Менеджер паролей вроде есть, но какой-то странный и не синхронизируется между устройствами. С расширениями такая же история. Синхронизируются только закладки (или "папки", как тут их называют). Есть мультипрофиль, как в Chrome, но синхронизация тем работает плохо: если на одном устройстве светлая тема, на другом темная — выглядит всё странно. Скорость работы как у Chrome, но в целом браузер неудобный и недоработанный. На Android его нет и, скорее всего, не будет. Не нашел ни одной причины продолжать пользоваться им. Но зато внешне симпатичный, освежает по сравнению с другими браузерами.
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍1🔥1
👩‍💻 Вы когда-нибудь задумывались, почему в Python (и других языках программирования) простые арифметические операции с плавающей точкой могут давать неожиданные результаты? Например, попробуйте выполнить следующую операцию:

print(0.1 * 0.2)  # Ожидаемый результат: 0.02


Однако результат будет не 0.02, а что-то вроде 0.020000000000000004. Почему так происходит?

Дело в том, что числа с плавающей запятой в компьютере представляются в двоичной системе, которая не может точно представить некоторые десятичные дроби. Например, число 0.1 в двоичной системе имеет бесконечное представление, которое компьютер ограничивает до определённого количества знаков. Это приводит к тому, что математические операции с такими числами могут давать результаты с небольшой ошибкой.

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

import math

result = 0.1 * 0.2
is_equal = math.isclose(result, 0.02, rel_tol=1e-9)

print(is_equal) # True


Использование math.isclose помогает избежать ловушек точности при сравнении чисел с плавающей точкой.

Так что, если вы столкнулись с неожиданными результатами при работе с числами с плавающей точкой, не пугайтесь — это нормальное явление в мире программирования! 👨‍💻

@debugblog
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥41👍1
Какие существуют редакторы кода?

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

1. Visual Studio Code 👩‍💻
Один из самых популярных редакторов среди разработчиков. Бесплатный, кроссплатформенный и поддерживающий множество расширений. Он отлично подходит для работы с разными языками программирования, включая Python, JavaScript, C++, и даже работает с удалёнными репозиториями через встроенные плагины. Недавно я пересел на него, не шипко привык, но в целом пойдет. Благо есть опыт на VS studio 👩‍💻

2. Sublime Text 👩‍💻
Легковесный и быстрый редактор с поддержкой множества плагинов. Особенности Sublime Text включают подсветку синтаксиса, мультикурсорный режим, и широкий спектр возможностей для настройки под свои нужды. Бесплатный в базовой версии, но с возможностью покупки лицензии.

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

4. PyCharm 👩‍💻
Если вы работаете с Python, то PyCharm от JetBrains — отличный выбор. Это мощная IDE, предоставляющая профессиональные инструменты для рефакторинга кода, отладки и тестирования. Есть бесплатная версия Community и платная версия с расширенными возможностями. Штука крутая и мощная, очень удобно кодить в ней, но ток на питоне. Для всех языков нужно покупать лицензии.

5. IntelliJ IDEA 👩‍💻
Одна из лучших IDE для разработки на Java и других языках. Этот редактор от JetBrains предлагает мощные инструменты для анализа кода, рефакторинга и автоматизации задач. Также существует поддержка плагинов для расширения функционала. И опять же платно.

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

7. Emacs 👩‍💻
Еще один легендарный текстовый редактор, известный своей настраиваемостью и расширяемостью. Emacs поддерживает разнообразные языки программирования и конфигурируется через встроенный Lisp. Это мощный инструмент, особенно для пользователей, которые хотят иметь полный контроль над своим рабочим окружением.

8. Notepad++ 👩‍💻
Бесплатный редактор для Windows, который поддерживает широкий спектр языков программирования. Он легкий, быстрый и отлично подходит для выполнения простых задач или быстрого редактирования кода. Поддерживает плагины и расширения. Раньше сидел на нем. Но он не самое удобное, что можно найти. Зато знает все синтаксисы, которые придут тебе в голову.

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

⚡️ @debugblog
Please open Telegram to view this post
VIEW IN TELEGRAM
4👍1🔥1
Ладно
👍4😁2🔥1
😁4👍1🔥1
Нейронка по фильму Комната 👩‍💻

Хочу представить нейросеть, которую все мы заслужили. Теперь все культовые персонажи фильма "Комната" от Томми Вайсо — всегда у вас под рукой. 🏠

Расскажите ей о своих жизненных проблемах, и она подберет для вас идеальную цитату из этого шедевра. Больше никаких метаний и трудных решений. Эта нейросеть готова помочь вам взглянуть на жизнь иначе и сделать её чуточку лучше!

Скачать исходник можно по ➡️ ссылке ⬅️

Смотреть комнату на Ютубе 📹

#py | #room
⚡️ @debugblog
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥21
Пока небольшая передышка от питона сделал пак обоев при помощи нейронки ideogram 🌐
Все в высоком разрешении и качетсве, если интересна такая тема, могу делать подборки обоев.

Оригиналы в коментах 👇🏻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥31