1️⃣ Код без версий. Файлы «main_final_final_really.py» выглядят забавно, пока не надо откатиться на рабочий вариант. Git спасает нервы и проекты.
2️⃣ «Запустилось - значит работает». Отсутствие юнит-тестов делает рефакторинг лотереей, а баги - постоянными спутниками.
3️⃣ Копипаст без понимания. Стек-Оверфлоу (а сейчас - нейросети) решает задачу моментально, но чужой фрагмент приносит чужие же баги и дыры в безопасности.
4️⃣ Преждевременная оптимизация. Тратить часы на микро-ускорение цикла, не измерив, где реально узкое место, - самый быстрый способ потерять мотивацию.
5️⃣ Игнор читаемости. Завтра «temp2» и «x1» забудете даже вы сами. Говорящие имена и чистые функции - не украшение, а страховка.
6️⃣ Страх вопросов. Сеньоры помнят свои первые commit-ы. Чем раньше спросите, тем меньше технического долга наживёте.
7️⃣ Отсутствие системного обучения. Туториалы вдохновляют, но только книги (частный случай) и доки (всегда!) формируют фундамент и учат думать шире конкретного фреймворка.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤29🤣4🤬3🔥1😁1🤪1😡1
Camera.rar
16.3 KB
В ТикТоке еще не показывал, сначала решил кинуть сюда. Интересный, как мне кажется, проект, который делает из Вашей веб-камеры камеру видео-наблюдения, которая отправляет уведомления в Телеграм.
Применение придумаете сами. Хочу сюда еще прицепить распознавание лиц. Тогда можно будет цеплять к электронному замку из Али и вешать в подъезде, чтобы открывать двери в квартиру. Но пока так.
В боте через инлайн-кнопки можно включать/выключать мониторинг, а также выбирать режим: фото или видео. Фото делает фото с камеры раз в 30 секунд, если обнаруежает в кадре человека/собаку (у меня есть пес, поэтому прицепил для прикола). Правда, собака распознается по принципу "не человек = пес". Точное определение можно докрутить, если нужно. Видео же пишется с момента, как человек попал в кадр, до момента как вышел. Само собой, распознается количество людей/собак в кадре.
Берите, допиливайте под свои нужды, знакомьтесь :)
Применение придумаете сами. Хочу сюда еще прицепить распознавание лиц. Тогда можно будет цеплять к электронному замку из Али и вешать в подъезде, чтобы открывать двери в квартиру. Но пока так.
В боте через инлайн-кнопки можно включать/выключать мониторинг, а также выбирать режим: фото или видео. Фото делает фото с камеры раз в 30 секунд, если обнаруежает в кадре человека/собаку (у меня есть пес, поэтому прицепил для прикола). Правда, собака распознается по принципу "не человек = пес". Точное определение можно докрутить, если нужно. Видео же пишется с момента, как человек попал в кадр, до момента как вышел. Само собой, распознается количество людей/собак в кадре.
Берите, допиливайте под свои нужды, знакомьтесь :)
😡25❤🔥10🤨7❤4🤬4🔥1🥰1💘1
Этот проект предлагает готовое ("Plug & Play") решение для пользователей Windows, столкнувшихся с проблемами доступа к Discord и YouTube. Мои знакомые рекомендовали как лучший обход из имеющихся (и это не реклама, челы)
Что умеет? 🛠
- восстановление доступа к Discord и YouTube;
- не замедляет другие сервисы;
- использование WinDivert для перехвата и фильтрации сетевого трафика, что и позволяет обходить ограничения;
- в комплекте идут .bat файлы для запуска с разными настройками, управления обходом Cloudflare и службами;
- пользователи могут сами расширять списки адресов для обхода, добавляя их в специальные файлы (list-general.txt, list-discord.txt);
На страничке репозитория есть информация по решению частых проблем. Естественно - фулл бесплатно. Автор старается поддерживать актуальность инструмента.
P.S. не знаю, насколько актуально. Вероятно, все кто хотел обойти - уже обошли. Но на всякий.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤31🤬11😨7👍5❤🔥2💔1🍓1💋1
Время на такой 40-секундный ролик, около 2-х минут. То есть, серию Берсерка за час обработать получится. Если у вас по-более VRAM, и карта ПОТУЖНЕЕ, то и результат будет лучше. У меня 2070 Super.
Как вам результат
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤56🔥17👍6🤬6🗿2🎉1
🚀 Скоро выложу вам ReelsMaker свой (собранный в .exe), с фикшенными багами, редизайном, возможность качать видосы с YouTube для обработки прямо в программе, поддежкой кодеков для обработки через видеокарты AMD/nVidia.
Также добавлена область предпросмотра, чтобы вы могли видеть, какое видео у вас получится в итоге, со всеми эффектами, обрезками, наложенным баннером и далее.
Обновил и темную, и светлую тему - теперь не колхоз.
Еще будет "частная версия", с авто-постингом по расписанию в YouTube, YT-reels, TikTok.
Также добавлена область предпросмотра, чтобы вы могли видеть, какое видео у вас получится в итоге, со всеми эффектами, обрезками, наложенным баннером и далее.
Обновил и темную, и светлую тему - теперь не колхоз.
Еще будет "частная версия", с авто-постингом по расписанию в YouTube, YT-reels, TikTok.
❤64🔥22👍4🤬4👏2❤🔥1💘1
Так вот, полный список команд с объяснениями (Linux!!!):
1) Установка и проверка:
# Обновляем список пакетов
sudo apt update
# Устанавливаем Docker
sudo apt install -y docker.io
# Запускаем и добавляем Docker в автозагрузку
sudo systemctl start docker
sudo systemctl enable docker
# Устанавливаем Docker Compose
sudo apt install -y docker-compose
Чтобы проверить, что все сделали четко:
docker --version
docker-compose --version
Должно показать версии Docker и Docker-compose.
2) Разворачивание, запуск контейнера.
После того, как вы установили это все (делать нужно 1 раз(!!!)), нужно перейти в директорию с файлами проекта (где лежат Dockerfile, docker-compose.yml).
Пример:
cd /root/dialog_bot/
После этого, пишите команду:
sudo docker-compose up --build -d
Если сделали все четко, контейнер соберется и сразу же будет в работе.
Вот что делают "флажки":
- up: Создает и запускает контейнеры.
- --build: Принудительно пересобирает образ перед запуском. Это полезно, если ты внес изменения в Dockerfile или файлы проекта.
- -d: Запускает контейнеры в фоновом (detached) режиме.
Просмотреть логи с контейнера после можно по команде:
sudo docker-compose logs -f
3) А что на Windows?
Чтобы запустить на Win 10, 11, нужно:
1. Перейдите на официальный сайт Docker и скачай установщик для Windows.
2. Установите Docker Desktop:
- Запустите скачанный установщик.
- Следуйте инструкциям на экране. Очень важно: убедитесь, что выбрана опция "Use WSL 2 instead of Hyper-V" (Использовать WSL 2 вместо Hyper-V), если она доступна и твой Windows 10 это поддерживает (версия 2004 и выше, сборка 19041 и - выше). WSL 2 обеспечивает лучшую производительность. Если опции нет или твоя система старее, Docker Desktop может использовать Hyper-V.
- Установка может потребовать включения функций "Контейнеры" и "Подсистема Windows для Linux" (WSL). Установщик обычно предлагает сделать это автоматически или дает инструкции.
3. Запусти Docker Desktop после установки. Иконка кита появится в системном трее. При первом запуске может потребоваться некоторое время на инициализацию. Убедись, что Docker Desktop показывает, что он запущен (иконка кита в трее статична и не анимирована).
Важно: каждый раз, когда захотите собрать контейнер на Win 10, 11, нужно запускать Docker Desktop!
Дальше можете прямо в IDE, в папке с проектом в консоли писать:
docker-compose up --build -d
И все. Команды тут те же, что и на Linux.
Полезно?
Please open Telegram to view this post
VIEW IN TELEGRAM
💋20🔥10🤬5❤1
Для работы использовал FFMPEG.
Как легкий пример для поста выше.
Как легкий пример для поста выше.
import os
import ffmpeg
class VideoToGifConverter:
def __init__(self, source_dir="video", target_dir="gif", frame_rate=2):
self.source_dir = source_dir
self.target_dir = target_dir
self.frame_rate = frame_rate
os.makedirs(self.source_dir, exist_ok=True)
os.makedirs(self.target_dir, exist_ok=True)
def get_video_files(self):
return [
file_name
for file_name in os.listdir(self.source_dir)
if file_name.lower().endswith(".mp4")
]
def convert_videos_to_gif(self):
video_files = self.get_video_files()
for video_file in video_files:
base_name = os.path.splitext(video_file)[0]
gif_file_name = base_name + ".gif"
input_path = os.path.join(self.source_dir, video_file)
output_path = os.path.join(self.target_dir, gif_file_name)
stream = ffmpeg.input(input_path)
stream = stream.filter("fps", fps=self.frame_rate)
stream = ffmpeg.output(stream, output_path)
ffmpeg.run(stream)
def main():
converter = VideoToGifConverter(source_dir="video", target_dir="gif", frame_rate=2)
converter.convert_videos_to_gif()
if __name__ == "__main__":
main()
❤14🤬9😁2👍1
- авто-комент новых видео на указанных каналах;
- учитывается контекст видео, т.к. производится его загрузка и транскрибация;
- учитывается пользовательский промпт - можно рекламировать что угодно;
- мульти-аккаунт;
- поддержка прокси.
P.S. сегодня делаем стрим с отбором заявок, чи шо?
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥35❤9🥰3🤬2
1) Поможет скачать последнюю актуальную версию IDE под ОС пользователя;
2) А также Python из последних актуальных релизов.
Будут и рекомендации по правильной установке.
Страничку с choco я еще заполню командами. Сейчас там уже есть вкладки (медиа, разработка, веб-разработка и т.д.) с командами для экспресс-установки рабочих инструментов. В одну строчку можно установить все те же IDE, Python, Node JS, драйвера, кодеки и даже Steam :D
Пока что так. .exe под Windows мб дам сюда сегодня-завтра.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🤬20👍13🥰8❤4🫡2❤🔥1🔥1🤣1
ReelsMaker.rar
146.7 MB
Кстати, код прикола для создания Reel'сов и видосов для ТикТака, с наложением баннеров, эффектов, очисткой мета-данных, форматом под 9:16 и авто-размытием фона.
Посмотрите, кому интересно. Еще буду дорабатывать.
Посмотрите, кому интересно. Еще буду дорабатывать.
❤🔥31🔥8😢4🙈3👍2🤔1🤯1🤪1
Время на такой 40-секундный ролик, около 2-х минут. То есть, серию Берсерка за час обработать получится. Если у вас по-более VRAM, и карта ПОТУЖНЕЕ, то и результат будет лучше. У меня 2070 Super.
Как вам результат
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤42🤬18🔥10
Поэтому потратил вечер и написал свой собственный десктопный конвертер медиафайлов. Полностью на Python + PyQt6, в качестве ядра - FFMPEG.
Главная цель была — сделать быстро, удобно и без рекламы. Никаких подписок (только на мой канал
- кидаешь файлы пачкой (batch processing);
- удобный Drag & Drop;
- фото к фото, видео к видео — без путаницы;
- работает офлайн, никакой интернет не нужен.
Как и сказал, под капотом трудится всеядный FFmpeg, так что на входе можно "скармливать" ему почти всё что угодно, от старых .flv до профессиональных .mov.
😜 Скачать код тут. Много реакций и соберу в .exe с FFMPEG внутри для обычных, не шарящих работяг.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍80🔥13👏13❤5🤯3👾1
two_claps_open-main.rar
7.4 KB
В проекте две реализации:
- открытие ДОТЫ2;
- запуск голосового ассистена Gemini (нужен API-ключ).
Забавно, можно найти применение.
⚙️ Как это работает:
В основе всего лежит технология обнаружения хлопков в реальном времени. Этот процесс реализован как в Python-скриптах, так и в прототипах на MATLAB:
- захват аудио: скрипты непрерывно слушают аудиопоток с микрофона с частотой дискретизации 44100 Гц. Аудио делится на короткие фрагменты (фреймы) длительностью 20 мс;
- фильтрация: хлопок имеет характерный частотный спектр. Чтобы отсеять посторонние шумы (голос, музыку, звуки улицы), каждый фрейм проходит через полосовой фильтр Баттерворта. Фильтр пропускает только частоты в диапазоне от 1400 Гц до 1800 Гц. К фреймам применяется оконная функция Ханна для сглаживания и уменьшения спектральных искажений;
- детекция пиков: в отфильтрованном сигнале скрипт ищет резкие всплески амплитуды (пики), которые превышают заданный порог (например, 0.2);
- защита от ложных срабатываний: Чтобы один громкий хлопок не был засчитан как два, установлена минимальная задержка между обнаруженными пиками — 0.2 секунды.
Please open Telegram to view this post
VIEW IN TELEGRAM
🥰19❤13🗿5😁3🤬2💘1
И главный вопрос:
Что лучше для автоматизации — использовать готовый инструмент типа n8n или писать все с нуля, то есть заниматься ручной разработкой?
n8n — это платформа для визуальной автоматизации. Вы соединяете кубики-«ноды» (приложения и сервисы) между собой, чтобы они обменивались данными и выполняли задачи без вашего участия. Гибко, наглядно и не всегда требует навыков программирования.
Что же выбрать: n8n или код? 🤔
- Скорость — главный приоритет. Собрать рабочий сценарий в n8n можно за минуты, а не за дни или недели;
- Бюджет ограничен. Использование готовых интеграций и визуального конструктора значительно дешевле, чем оплата часов разработчика;
- Задача типовая. Нужно связать популярные сервисы (Telegram, Google Sheets, CRM, Trello)? В n8n для этого уже все готово;
- Нужна гибкость без хардкора. Вы не программист, но хотите иметь возможность легко менять логику процесса.
- Нужна 100% кастомизация. У вас уникальная бизнес-логика, нестандартные API или требования к интерфейсу;
- Требуется максимальная производительность. Для высоконагруженных систем, обрабатывающих тысячи запросов в секунду, кастомный код, написанный под конкретную задачу, будет эффективнее;
- Интеграция очень специфична. Нужно подключить редкий или внутренний корпоративный софт, для которого нет готовых «нод»;
- Полный контроль над кодом и окружением является критически важным в серьезных проектах.
Итог таков: не стоит противопоставлять эти два подхода. Это инструменты для разных задач. Для 60% стандартных кейсов автоматизации n8n будет быстрее, дешевле и проще в поддержке. Например, бот для записи на маникюр, в больницу и т.д.
Для масштабных же проектов, рассчитанных на тысячи пользователей, n8n - это шутка. Где нужна уникальная логика и высокая производительность, — без ручной разработки не обойтись.
#automation #n8n #dev #nocode #tools
Please open Telegram to view this post
VIEW IN TELEGRAM
🤬10👏7❤1👍1😁1
import qrcode
from PIL import Image
def generate_qr_code(data, filename="qr_code.png"):
qr = qrcode.QRCode(
version=1,
error_correction=qrcode.constants.ERROR_CORRECT_L,
box_size=10,
border=4,
)
qr.add_data(data)
qr.make(fit=True)
img = qr.make_image(fill_color="black", back_color="white")
img.save(filename)
return filename
if __name__ == "__main__":
print("Генератор QR-кодов")
input_data = input("Введите текст или ссылку для кодирования в QR-код: ")
output_filename = input("Введите имя файла для сохранения QR-кода (например, my_qr.png) или нажмите Enter для 'qr_code.png': ")
if not output_filename:
output_filename = "qr_code.png"
elif not output_filename.lower().endswith(('.png', '.jpg', '.jpeg', '.bmp', '.gif')):
output_filename += ".png"
saved_file = generate_qr_code(input_data, output_filename)
print(f"QR-код успешно создан и сохранен как '{saved_file}'")
Ниже зависимости:
pip install qrcode Pillow
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣20🔥8🤬4🤪3❤2👍2❤🔥1