Forwarded from NEXTA Live
⚡️⚡️⚡️ Компания Baykar заявила, что передаст Украине три беспилотника Bayraktar, на которые собирали деньги всей страной, БЕСПЛАТНО.
👍49👎7🔥5🤡3❤2
Інструменти для Python-розробників
Хочу порадити ще один сайт, на якому я часто дивлюсь новини та просто різні статті про IT. Це напевно єдиний сайт, з якого я не відписався від розсилок на емейл, та дійсно переглядаю які там теми вони піднімають.
Ось це одна з статей, яка мені сьогодні прийшла, та вирішив, що є сенс поділитись. Тут зібрані рекомендації від Python розробників щодо корисних інструментів, які допомагають їм в роботі.
P.S. Ще в них є Youtube канал.
P.P.S. 🇷🇺🇺🇿🇰🇿🇧🇾 Сайт на украинском для украинцев, поєтому єтот пост тоже на украинском)
Хочу порадити ще один сайт, на якому я часто дивлюсь новини та просто різні статті про IT. Це напевно єдиний сайт, з якого я не відписався від розсилок на емейл, та дійсно переглядаю які там теми вони піднімають.
Ось це одна з статей, яка мені сьогодні прийшла, та вирішив, що є сенс поділитись. Тут зібрані рекомендації від Python розробників щодо корисних інструментів, які допомагають їм в роботі.
P.S. Ще в них є Youtube канал.
P.P.S. 🇷🇺🇺🇿🇰🇿🇧🇾 Сайт на украинском для украинцев, поєтому єтот пост тоже на украинском)
DOU
Корисні інструменти для Python-розробників. Українські програмісти — про те, що спрощує їм роботу
Якими інструментами користуються українські Python-розробники, в чому їх переваги та недоліки? Ми коротко поспілкувалися з українськими Python-девелоперами про те, які інструменти для них зручні та чому, як їх використання покращило процес розробки.
👍16👎9
🗄Уроки по SQL, PostgreSQL, Alembic, SQLAlchemy
Вміти(уметь) працювати (работать) з базами даних — навичка (навьік) , яку має (должен) мати (иметь) кожен (каждьій) розробник — в переважній більшості (большинстве) програм треба (необходимо) десь зберігати (сохранять) дані (данньіе) . Так само і в ботах, майже (почти) жодний (ни один) бот не обходиться без БД.
А якщо ви розробляєте на Python, та користуєтесь фреймворком aiogram, то найбільш популярними інструментами для роботи з БД являються саме ті, що я перерахував(перечислил) :
- PostgreSQL як СУБД,
- Alembic для міграцій (створення та змінювання бд)
- SQLAlchemy як бібліотека яка робить запити(запросьі) до БД максимально наближеними до звичного (привьічного) нам Python коду.
Незважаючи(несмотря) на те, що всі ці інструменти мають насамперед (прежде всего) дуже гарні (хорошие) туторіали від їх розробників, я вирішив (решил) все ж таки все об'єднати та зробити (сделать) низку (ряд) уроків, які допоможуть (помогут) розробникам ботів увійти в тему БД якомога (как можно) швидше (бьістрее) , та навчитись нормально використовувати ці просунуті (продвинутьіе) інструменти в своїх ботах.
В мене вже були уроки по роботі з БД в моєму курсі, але я продовжую навчатись, та прислуховуватись до порад інших розробників, та тому цей матеріал буде більш продуманий та якісний.
Зараз я опублікував всього декілька(несколько) уроків, про самі примітивні речі (вещи) , але згодом (со временем) буду додавати ще, поки ми не зв'яжемо (свяжем) БД з ботом, використовуючи ці інструменти.
На наступному тижні(след. неделе) вже буде +2 уроки: про 1) більш детально про (довольно) детально про типи
Всім, хто полюбляє(любит) мій стиль оповідання (повествования) має сподобатись (понравиться) і це:)
P.S. Є ще текстова версія для тих, хто не хоче чекати(ждать) на відео, та якщо в вас будуть поради стосовно неї — залишайте (оставляйте) тут в коментах, або робіть PR!
Вміти
А якщо ви розробляєте на Python, та користуєтесь фреймворком aiogram, то найбільш популярними інструментами для роботи з БД являються саме ті, що я перерахував
- PostgreSQL як СУБД,
- Alembic для міграцій (створення та змінювання бд)
- SQLAlchemy як бібліотека яка робить запити
Незважаючи
В мене вже були уроки по роботі з БД в моєму курсі, але я продовжую навчатись, та прислуховуватись до порад інших розробників, та тому цей матеріал буде більш продуманий та якісний.
Зараз я опублікував всього декілька
На наступному тижні
SELECT, та 2) доволі JOIN, FOREIGN KEY, зв'язків OneToMany/ManyToMany та ін.Всім, хто полюбляє
P.S. Є ще текстова версія для тих, хто не хоче чекати
YouTube
SQL в ботах
Share your videos with friends, family, and the world
👍27👎12🔥7👏3😁3
Продовження уроків по SQL
Нарешті випускаю це відео, про зв'язки між таблицями, про JOIN`и, та ін.
Уроків в плейлисті вже більше, хто ще не бачив, та цікавиться цією темою — дивиться та залишайте коменти та критику)
P.S. напоминаю, уроки все еще записьіваю на русском :D
Нарешті випускаю це відео, про зв'язки між таблицями, про JOIN`и, та ін.
Уроків в плейлисті вже більше, хто ще не бачив, та цікавиться цією темою — дивиться та залишайте коменти та критику)
P.S. напоминаю, уроки все еще записьіваю на русском :D
👍40👎15❤9🔥1
Шукаєте якісь канал, щоб подивиться корисну інфу на якусь цікаву вам тему? Можливо є якісь питання з приводу якогось популярного фреймворку, але не можете знайти відповідне ком'юніті? Спробуйте пошукати тут:
P.S. Я не помер, постів буде більше)
#полезное #корисне
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤5👎2
Никакой паники нет. В группу зашли только телеботерьі. Сейчас в группу идут ♂Senior Python Developers♂. Работает Magic-Filter и Middleware-артиллерия. Активно работает FSM. Речи о глубоком деплое на прод нет. Ситуация + - как с контрнаступлением Pull Request в ветку kherson-master .
👍39🔥11😁5👎3
Хочу поділитись з вами одним дуууже крутим сервісом для малювання будь чого із допомогою штучного інтелекту!
Раніше вже був представлений варіант DALL-E, та один від російського Сбербанку.
Але я наткнувся на саме Midjorney, та просто ошаленів від того, яка якість цих малюнків, та яка безліч можливостей відкривається завдяки нейромережам, вже черговий раз! Професія дизайнера незабаром перетвориться на інженера запитів для нейромереж, або дизайнери будуть кліпати ідеї, а потім просто доводити їх до кінця.
Як приведено в статті вище, і не тільки:
- Фото-иллюстрации для статей, копирайтинга, рекламы
- Иллюстрации, свободные от лицензии фотостоков
- Визуализации дизайна интерьеров
- Соединений различных признаков и абстракций
- Логотипи компаній, продуктів, тощо
- Аватарки для акаунтів, ботів, тощо
- Шпалери для екрану телефона/комп'ютера
- Безкоштовна підписка, якої вистачає на малу кількість картинок
- $10 / місяць — вистачає на приблизно 200 картинок в місяць
- $30 / місяць — вистачає на стільки картинок, скільки захочете, але не можна створювати більше 3 генерацій одночасово.
/settings, та оберіть ці параметри. Ця версія дуже гарно малює фотореалістичні картинки. Для логотипів краще брати MJ-3А дописом нижче я надішлю варіанти того, що він мені видав на запит "telegram bot avatar logo, drawing, minimalism".
#корисне #полезное
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5🤡3👍2
До посту вище.
"telegram bot avatar logo, drawing, minimalism"
(На жаль, він занадто багато уваги приділяє саме слову Telegram)
"telegram bot avatar logo, drawing, minimalism"
(На жаль, він занадто багато уваги приділяє саме слову Telegram)
👍16🕊2🔥1
Частина 1.
🇷🇺 Версия в комментариях
Привіт! Реліз нової версії аіограму вже зовсім близько (джерела повідомляють, що вийде десь восени в березні місяці), та багато хто замислюється над переходом з 2 версії. Тим часом наді мною пролітав іранський бойовий дрон, випущений країною-терористом рф.
Особисто я вже остаточно на неї перейшов, та всіх нових ботів пишу тільки на неї, та вирішив зробити низку невеличких дописів на тему переходу. В цілому, ви можете звернутись і до посібника від Groosha
Якщо раніше в нас був загальний об'єкт Dispatcher, яким ми реєстрували хендлери, та який обробляв об'єкти Update, що надходять до бота, а потім доставляв їх до цих хендлерів, то в нової версії той диспетчер розділили.
Тепер можна робити інші міні-диспетчери, які будуть додаватись до головного диспетчеру. Можете собі уявити таку ієрархічну структуру, де як по дереву від стовбуру (головний диспетчер) розростаються гілки (роутери).
По іншому, ще говорять, що тепер диспетчер — це головний роутер, а до нього можна вкласти інші роутери. А до тих роутерів — можна вкласти інші роутери.
Тобто, тепер можна зробити організацію логики в боті завдяки структурі роутерів, і застосовувати фільтри на цілий роутер. Це супер зручно, коли в вас є деякі хендлери, в яких застосовується однаковий фільтр. Тепер ви можете просто вивести їх в окремий роутер, та навісити фільтр на всі хендлери, зареєстровані до нього.
Наприклад, ситуація з фільтром для адмінів, коли перевірка йде по конкретним айдішникам:
Створюємо фільтр:
from aiogram.filters import BaseFilter
class AdminFilter(BaseFilter):
async def __call__(self, message, *args, **kwargs):
admins = await db_get_admins()
return message.from_user.id in admins
Створюємо наш роутер:admin_router = Router()
І реєструємо на тип Message наш фільтрadmin_router.message.filter(AdminFilter())
Тепер можемо зареєструвати наш хендлер (так, можна використати декоратор):@admin_router.message()
async def some_handler(message):
pass
Залишається тільки покласти цей роутер в диспетчер (це вже треба робити в іншому файлі):dp.include_router(admin_router)
Загалом:bot.py, де в мене є доступ до dp = Dispatcher(), куди і буде входити роутер.#корисне #полезное
Please open Telegram to view this post
VIEW IN TELEGRAM
mastergroosha.github.io
Пишем Telegram-ботов с aiogram 3.x
Знакомство с aiogram
❤🔥16👍13🤡12🥰2👏1
Частина 2.
⬅️Читати частину 1 про Роутери.
Російська Версия в комментариях
Продовжую розповідати про фічі третьої версії, та одна з них — це оновлена фабрика для роботи з інлайн-кнопками.
Взагалі, створення інлайн-кнопок в нової версії теж трохи перероблено, тепер в нас додатково є крутий
InlineKeyboardBuilder, та про все це детальніше можна почитати знову в посібнику від Groosha🔗Документація
Коли ви створюєте інлайн-кнопки, то вони часто можуть мати дуже схожий набір даних. Наприклад, коли ми працюємо з меню керування чимось, то в вас кнопки будуть розрізнятись тільки аргументом необхідної дії (
edit/add/delete), а менюшка буде мати спільну назву, наприклад manage. Тоді ці кнопки треба якось зручно упакувати.callback_data замість простого тексту ви послуговуєтесь пітоновськими об'єктами, завдяки чому:callback_query.data.split()[-1] і подібне, а ви в хендлер отримуєте вже створений словник з даними, які були передані в кнопки. Дуже зручно їх діставати по ключах, зрозуміло виглядає код!.filter(), тоді aiogram точно не переплутає з іншими хендлерами.Отже! Тепер створення фабрики виглядає трохи по іншому, та можливо більш зрозуміло буде, плюс ви можете додавати опціональні поля, та пропускати їх і, нарешті, наші дані приходять правильного типу! А ще, тепер нам доступні підказки (тайпіхнти) для аргументів з класу фабрики.
Пам'ятаєте приблизно як створювати об'єкт
@dataclass? Тепер ми створюємо об'єкт колбек-дати як окремий клас (а не екземпляр). Давайте зробимо на прикладі меню зміни товарів.from aiogram.filters.callback_data import CallbackDataaction — дія (додати, змінити, вилучити товар).
class ManageItems(CallbackData, prefix='manage_items'):
action: str
item_id: item_id
disabled: Optional[bool]
item_id — ідентифікатор товару.
disabled — додатковий аргумент, якщо ми хочемо заборонити конкретному користувачу якусь дію з товаром.
Тепер залишилось передати в
callback_data методом pack():InlineKeyboardButton(text='Змінити', callback_data=ManageItems(action='edit', item_id=item_id).pack())
Після чого, в нас доступний до використання фільтр для хендлеру:from aiogram import FЯк бачите, можемо тут використовувати нову фічу aiogram3 — MagicFilter (про нього пізніше).
@menu_router.callback_query(ManageItems.filter(F.action='edit'))
Та в хендлер ми можемо прийняти вже сформований (вже не словник) об'єкт
ManageItems:async def edit_some_item(call: CallbackQuery, callback_data: ManageItems):
item_id = callback_data.item_id
if callback_data.disabled:
# Відхилити дію
return
# Щось робимо
#корисне #полезноеPlease open Telegram to view this post
VIEW IN TELEGRAM
Telegram
🇺🇦Розробка Телеграм ботів на Python
⚙️ Перехід до aiogram v3.
Частина 1.
🇷🇺 Версия в комментариях
Привіт! Реліз нової версії аіограму вже зовсім близько (джерела повідомляють, що вийде десь восени в березні місяці), та багато хто замислюється над переходом з 2 версії. Тим часом наді мною…
Частина 1.
🇷🇺 Версия в комментариях
Привіт! Реліз нової версії аіограму вже зовсім близько (джерела повідомляють, що вийде десь восени в березні місяці), та багато хто замислюється над переходом з 2 версії. Тим часом наді мною…
👍12💩6
Vibecoding Haven (BotfatherDEV)
Продовження уроків по SQL Нарешті випускаю це відео, про зв'язки між таблицями, про JOIN`и, та ін. Уроків в плейлисті вже більше, хто ще не бачив, та цікавиться цією темою — дивиться та залишайте коменти та критику) P.S. напоминаю, уроки все еще записьіваю…
Тепер ми розберемо тему підзапитів (запит в запиті), та навчимось відображати таблицю лідерів серед юзерів!
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
SQL. Урок 5 - Subquery, RANK(), DENSE_RANK(), ROW_NUMBER()
В цьому відео ви дізнаєтесь про те, як і де можна використовувати Підзапити (SubQuery), та вивести таблицю лідерів по якомусь параметру.
Вихідникі до уроків тут: https://github.com/Latand/SQL-Tutorial
Курс по розробці ботів є тут: https://botfather.dev…
Вихідникі до уроків тут: https://github.com/Latand/SQL-Tutorial
Курс по розробці ботів є тут: https://botfather.dev…
❤🔥9👍7🤡2❤1💩1
Російська версія в коментарях
Нарешті!) Дочекались! Сайт був повністю переписаний з нуля, відповідно первинному дизайну. Тепер старих багів зі входом на сайт вже не буде (але можуть бути і нові баги
Що оновлено:
P.S. Темна тема теж в профілю налаштовується
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16💩4👎3❤🔥2🔥1
