Автоматизация контента: как я сделал умного Tg-бота для публикации видео из VK (очередь, дедупликация, NutsDB, yt-dlp)

Здравствуйте, коллеги! Хочу поделиться опытом проектирования и реализации production-ready Telegram-бота, который автоматически собирает и публикует свежий видеоконтент из паблика ВКонтакте — и делает это без дублей, с гарантией доставки и мемными подписями на базе OpenAI . В статье я покажу архитектуру, приведу примеры кода и расскажу о фишках, таких как очередь ссылок на видео (NutsDB), проверка на уникальность (deduplication), скачивание через yt-dlp и интеграция с OpenAI для генерации описаний.

https://habr.com/ru/articles/918186/

#Telegram_Bot #vk_api #go_golang #ytdlp #автоматизация #NutsDB #OpenAI_API #Генерация_мемов #Goroutine #Docker

Автоматизация контента: как я сделал умного Tg-бота для публикации видео из VK (очередь, дедупликация, NutsDB, yt-dlp)

Маскот проекта, стала уже традицией Здравствуйте, коллеги! Хочу поделиться опытом проектирования и реализации production-ready Telegram-бота, который автоматически собирает и публикует свежий...

Хабр

Секреты дедлоков

Как-то раз я допустил в своем коде дедлок и пока выкатывал пул реквест с его фиксом думал “ах как бы было хорошо, если дедлоки определялись на этапе компиляции”. Я решил немного разобраться в этом вопросе и вот что выяснил… Узнать больше

https://habr.com/ru/companies/ozonbank/articles/908978/

#go #goroutine #goroutines #panic #deadlock #deadlocks #timer #дедлок #горутина #горутины

Секреты дедлоков

Как-то раз я допустил в своем коде дедлок и пока выкатывал пул реквест с его фиксом думал “ах как бы было хорошо, если дедлоки определялись на этапе компиляции”. Я решил немного разобраться в этом...

Хабр

Разбираем конкурентность в Go: книги, блоги, выступления

Особенность Go — удобный механизм конкурентности. Создавать конкурентные задачи в парадигме языка можно буквально «бесплатно» и предельно просто: достаточно написать ключевое слово go перед вызовом функции — и она начнет выполняться в отдельном потоке. Я Владислав Белогрудов, эксперт по разработке ПО в YADRO. В свое время изучал различные источники и лучшие практики в поиске эффективных способов организации параллельных процессов в Go. Делюсь ими с вами. Пополнить библиотеку

https://habr.com/ru/companies/yadro/articles/892632/

#golang #go #goroutine #concurrency_patterns #functional_programming #channel

Разбираем конкурентность в Go: книги, блоги, выступления

Особенность Go — удобный механизм конкурентности. Создавать конкурентные задачи в парадигме языка можно буквально «бесплатно» и предельно просто: достаточно написать ключевое слово go перед вызовом...

Хабр

Как рождаются, живут и умирают горутины

Вы когда-нибудь, глядя на горутину, думали, что у неё под капотом? Я вот решил посмотреть. И сегодня расскажу о том, как рантайм Go создаёт и управляет горутинами, о статусах, которые у них есть, и некоторых хитростях, к которым прибегают создатели языка.

https://habr.com/ru/companies/ozonbank/articles/877242/

#go #runtime #garbage_collector #goroutine #internal #golang #source_code

Как рождаются, живут и умирают горутины

Жизненный цикл горутины Всем привет! Меня зовут Дима, я лид команды государственных интеграций в Ozon Банке и очень люблю ковыряться в сурс-коде Go. Это всегда очень интересно: никогда не знаешь, что...

Хабр

The WTF moment when you realise that #PHP with Fiber provides a kind of "goroutine". It is based on an event loop and can be used like a #goroutine thanks to the work of Frode Børli and his project phasync... including channels... but still within a single thread, too bad 🤷

I would still prefer #golang 💙 But hey! Nice work PHP

So I've been learning some basics of #golang since my team has started building most our services with that language. Got to the section on #go concurrency and was ready to strap in and learn all about thread pools, etc. Come to find out simply putting the word `go` in front of a function will create a #goroutine that will then run concurrently. What!?! Mind blown. 💥