Pull to refresh
-22
@taras_82read⁠-⁠only

User

Send message

Разработка Telegram-бота для управления файлами и заметками с помощью Aiogram 3 и асинхронной SQLAlchemy

Level of difficultyMedium
Reading time32 min
Views4.5K

Привет, друзья! Сегодня я представляю вам новую практическую статью, посвященную разработке телеграм‑ботов с использованием фреймворка Aiogram 3. В этот раз мы сосредоточимся на практической стороне вопроса и уже к концу статьи напишем своего, достаточно функционального, бота.

Для полного погружения желательно, чтобы вы уже имели базовые знания Python, были знакомы с фреймворком Aiogram 3 (на моем Хабре уже есть около 15 публикаций, в которых я подробно разбираю создание телеграм‑ботов с нуля на этом фреймворке), а также имели общее представление о базах данных, в частности SQLite, и их интеграции с Python.

Что мы будем делать сегодня?

Сегодня мы создадим телеграм-бота для хранения заметок и файлов. Мы будем использовать фреймворк Aiogram 3 для разработки, а базу данных SQLite с асинхронным движком aiosqlite для хранения данных. Наш бот будет иметь следующий функционал:

Читать далее
Total votes 14: ↑13 and ↓1+18
Comments7

Почти все, что вы хотели бы знать про Docker

Level of difficultyEasy
Reading time11 min
Views59K

В этой статье мы расскажем про базовые техники работы с Docker, а также погрузим читателя в основы докеризации приложений.

Предполагается, что читатель что-то слышал про Docker и хотел бы начать знакомство с технологией. Мы постараемся упростить этот процесс.

Читать далее
Total votes 65: ↑60 and ↓5+65
Comments57

Telegram Боты на Aiogram 3.x: Message handler и трюки с текстом

Level of difficultyEasy
Reading time12 min
Views9.4K

Приветствую! Благодарю за подписки, лайки и прочий позитивный отклик на мою деятельность. Продолжим.

Мы уже обсудили:

Текстовые клавиатуры

Инлайн клавиатуры

Командное меню

Встроенные фильтры и магические фильтры

Собственные фильтры

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

Читать далее
Total votes 9: ↑7 and ↓2+5
Comments3

Telegram Боты на Aiogram 3.x: Текстовая клавиатура и Командное меню

Level of difficultyMedium
Reading time9 min
Views10K

Привет! Продолжаем разбор темы разработки Telegram ботов с помощью Aiogram 3. В прошлой статье мы рассмотрели:

Магические фильтры (кратко)

Фильтры Command и CommandStart

Роутеры и диспетчер

Создание токена бота через BotFather

Выполнили первый запуск бота

Работали в рамках структуры, разработанной мной

Если вы новичок, предлагаю следовать моей структуре бота, но дальше – на ваше усмотрение.

О чём сегодня пойдёт речь:

Читать далее
Total votes 10: ↑9 and ↓1+8
Comments12

Рыбачим в эфире: данные с метеостанции, номер борта, соседский звонок и другие интересные находки

Level of difficultyEasy
Reading time6 min
Views18K

Широкополосный радиоприемник – штука полезная. Можно получить информацию с соседского уличного термометра или авто на частоте 433 МГц, либо определить бортовой номер пролетающего самолета.

Под рукой был контроллер на Linux, мы решили собрать систему анализа популярных радиочастот с минимальным бюджетом и получать с него информацию через MQTT.

В статье мы расскажем о подключении «USB-свистка» RTL-SDR к контроллеру Wiren Board. С помощью софта мы переведем полученную информацию в удобные топики MQTT, затем обработаем данные.

Интересно? Ныряйте под кат

Читать далее
Total votes 53: ↑53 and ↓0+53
Comments17

Передача данных по радиоканалу

Reading time4 min
Views18K

Идея для этой статьи зародилась, когда мы проводили анализ защищенности в удаленном районе в условиях отсутствия Интернета и любых средств связи. У нас были только рации, через которые мы переговаривались. Но нам также нужно было удаленно обмениваться небольшими файлами. Так у нас появилась идея проверить, возможно ли передавать информацию с одного ноутбука на второй, используя рации.

Важно! Здесь не будет информации о юридических особенностях использования радиосвязи, а также о частотах, мощности передачи, позывных и т. п. Применение радиосвязи имеет ограничения и регулируется Федеральным законом N 126-ФЗ «О связи».

Читать далее
Total votes 36: ↑36 and ↓0+36
Comments63

Самый простой способ обхода блокировок доступа к сайтам любых стран

Level of difficultyEasy
Reading time4 min
Views126K

Я понимаю, что пока, за использования VPN, аннонимайзеров и/или tor не применяют уголовные статьи, поэтому гораздо проще скачать какое нибудь приложение из магазина приложений и бесплатно воспользоваться им. Но где гарантия, что завтра они будут работать?

Я понимаю (программисты, сисадмины, DevOps'ы и т.д.) данный способ нельзя назвать уникальным, оптимальным и вообще, так лучше не делать, но согласитесь - это достаточно простой способ туннелирования трафика, который позволяет обойти (если не все), то огромное количество разнообразных сетевых блокировок.

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

Так же, этот способ - достаточно дешевый (меньше чашки кофе в день) и очень быстрый с точки зрения реализации (буквально 5 минут).

Интересно?

Читать далее
Total votes 90: ↑61 and ↓29+49
Comments412

Прокачиваем навыки в сфере ML — что изучать в 2024-м

Level of difficultyEasy
Reading time6 min
Views16K

Бизнесу нужны технологии, способные обрабатывать огромные объемы данных, предоставлять релевантные рекомендации, оценивать финансовую надежность клиентов и обеспечивать эффективный поиск информации. Ключевым элементом для автоматизации рутинных задач и создании бизнес-решений на основе данных становится ML.

Ритейл, банки, технологические предприятия, компании-разработчики и все те, кто собирает большие массивы неструктурированных данных, для запуска сложных моделей могут использовать вычислительные ресурсы облака. Например, строить нейросети с помощью ML-платформы или использовать объектное хранилище для обработки Big Data.

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

Читать далее
Total votes 18: ↑15 and ↓3+17
Comments0

GOST: швейцарский нож для туннелирования и обхода блокировок

Level of difficultyMedium
Reading time13 min
Views113K

Начиная со вчера Роскмонадзор запрещает писать про инструменты для обхода блокировок, и это событие мы отметим очередной статьей про инструменты для обхода блокировок. Ибо не им указывать, на какие темы мне писать или не писать, пусть идут строем нафиг.

Сегодня я расскажу о замечательном инструменте под названием GOST. Не пугайтесь, он не имеет никакого отношения к ГОСТ-шифрованию или чему-то подобному, на самом деле это Go Simple Tunnel. Он действительно simple (простой) в использовании и настройке, но при этом невероятно мощный, поскольку поддерживает огромное количество протоколов и транспортов, из которых вы при желании сможете построить самые упоротые и бронебойные комбинации, а именно...

Читать далее
Total votes 145: ↑142 and ↓3+174
Comments114

Вкатываемся в Machine Learning с нуля за ноль рублей: что, где, в какой последовательности изучить

Level of difficultyEasy
Reading time26 min
Views218K

Всем доброго времени суток. Я давно обещала выложить сюда подробный гайд на тему того, как можно изучать Machine Learning самостоятельно, не тратя деньги на платные курсы, и, наконец, выполняю свое обещание. Надеюсь, этот гайд станет подсказкой, которая поможет найти правильное направление новичкам, которые хотят погрузиться в нашу область.

Читать далее
Total votes 129: ↑127 and ↓2+155
Comments51

Квантовые компьютеры. С точки зрения традиционного программиста-математика. Часть 7 — Заключительная

Level of difficultyMedium
Reading time11 min
Views9.8K

Алгоритм Шора

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

Читать далее
Total votes 19: ↑19 and ↓0+19
Comments8

Как открыть счет и карту в банках Армении россиянину в 2024 году?

Reading time9 min
Views168K

Как открыть счет в банках Армении россиянину в 2022 году? | Сравниваем Банки

Доброго вечера! Не хочу сильно останавливаться на том, почему в 2022 году открывать счет в зарубежном банке стало актуальным, скажу лишь, что Армения привлекает дружественностью одновременно с РФ и Европой, возможностью разговаривать практически с любым сотрудником банка и гос. учреждения по-русски, ну и, конечно же, количеством вариантов открыть счет в рублях, чего не предложит, например Грузия. Покатался по ряду стран СНГ, кое-что открыл, кое-что получил. Сегодня про банки и про Армению.

Поток релоцирующихся в Армению очень и очень высок. Помимо IT, фриланса, которым нужно как-то получать зарплату в валюте от зарубежных контрагентов, а также делать "proof of residence" для платежных систем, банков, площадок для работы, к потоку добавилась огромная толпа карточных туристов и людей, которые бегут уводить рубль для последующей конвертации в инвалюту в Армянские банки с последующим транзитом в третьи страны. Банки, с одной стороны, рады потоку потенциальных клиентов, с другой стороны, в этом потоке куча серого материала, сложного в обработке. В результате, банки Армении с марта месяца, стали выставлять более чем суровые требования для открытия счета и выставлять лимиты на перевод денежных средств в третьи страны. Люди, которые переехали в Армению по-настоящему, по-серьeзному с этими требованиями кое-как справляются, карточным туристам же становится все сложнее и сложнее.

Сравниваем банки от самого простого до самого сложного. Заранее, на вопрос, можно ли открыть счет в банке Армении удаленно или под ключ, по доверенности — ответ— нельзя! В Грузии можно, в Казахстане — еще можно, в Армении — невозможно. По доверенности счета не открывают ни физ. ни юр. лицам. Говорят, что дистанционно можно открыть счет в IDBank, но это не так. Есть всего лишь опция дистанционной подачи на предварительную заявку.

Читать далее
Total votes 26: ↑26 and ↓0+26
Comments27

Ультимативный гайд по HTTP. Cookies и CORS

Level of difficultyEasy
Reading time7 min
Views40K

Привет! Меня зовут Ивасюта Алексей, я техлид команды Bricks в Авито в кластере Architecture, а это мой цикл статей о протоколе HTTP. В первой части мы уже познакомились с версией протокола 1.0 и поговорили о структуре ответов и запросов. Теперь пришло время узнать, что такое Cookies и для чего нужен CORS.

Читать далее
Total votes 18: ↑17 and ↓1+18
Comments2

Пишем простой ML веб-сервис на FastAPI

Level of difficultyEasy
Reading time9 min
Views17K

Данный туториал пошагово разбирает процесс создания веб-приложения для определения тональности текста на основе NLP-модели.

Мы будем использовать модель из библиотеки Hugging Face Hub, но описанный подход подойдет для любой задачи машинного обучения.

План:

1. Загрузка и подготовка модели машинного обучения для использования в веб-сервисе.

2. Создание веб-сервиса с помощью FastAPI.

3. Изучение пользовательского интерфейса FastAPI для удобного ручного тестирования и демонстрации работы приложения.

4. Написание автоматических тестов с помощью библиотеки pytest.

5. Запуск приложения в Docker-контейнере.

Код доступен на GitHub.

Читать далее
Total votes 7: ↑7 and ↓0+7
Comments3

Какого провайдера VPS выбрать для собственного сервера в 2023 году. Платим за всё российской картой

Level of difficultyEasy
Reading time7 min
Views268K

Иметь свой VPS для VPN довольно выгодно. Нет ограничений по количеству клиентов, можно обеспечить VPN подключением всех своих родных, друзей и знакомых. При этом можно за это платить 160-300 рублей в месяц. И если общедоступные VPN вовсю банятся по DNS и IP, то личные VPN пока что избегают этой участи.

Минусы есть, это администрирование сервера и отсутствие разнообразия географии.

Для VPN нужен зарубежный сервер, а с зарубежными сервисами в России уже больше года есть проблемы с оплатой. Но есть российские компании, которые предоставляют зарубежные сервера и при этом им можно платить с помощью российской карточки.
Я зарегистрировался в дюжине провайдеров, до покупки VPS дошёл у пяти. А после тестов остались только трое.

Читать далее
Total votes 61: ↑61 and ↓0+61
Comments200

Реверс инжиниринг для самых маленьких на практике

Reading time11 min
Views40K

Скомпилированное приложение является «чёрным ящиком». Чтобы туда заглянуть, восстановить алгоритм работы применяется реверс‑инжиниринг. Это непростой навык с высоким порогом входа. В статье мы попробуем взять дизассемблер, несложную задачку и пойдём в бой. Материал будет полезен тем, кому хочется с чего-то начать и погрузиться в тему реверса.

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

Читать далее
Total votes 47: ↑47 and ↓0+47
Comments19

Основы PyCharm

Level of difficultyEasy
Reading time9 min
Views87K

Сегодня я расскажу новичкам про полезные и удобные функции PyCharm. Эта статья предназначена для тех, кто только знакомится с PyCharm и написал свои первые программы. Затронем основной функционал пайчарма, который поможет упростить и ускорить вашу работу и узнаем, как запускать сервер и тесты Django в один клик. А ещё, я поделюсь подборкой полезных плагинов и горячих клавиш.

Читать далее
Total votes 18: ↑13 and ↓5+12
Comments22

Как при помощи Rust в 150 раз ускорить код на Python

Level of difficultyEasy
Reading time6 min
Views30K

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


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


Обзор


Проблему решим в 6 шагов:


  1. Решим вопрос о том, почему функция медленная.
  2. Подготовим проект.
  3. Перепишем функцию в Rust.
  4. Скомпилируем код на Rust и разместим его в пакете Python.
  5. Импортируем пакет Python в проект.
  6. Выполним бенчмарк чистого Python и функции на Rust.

Пакет maturin скомпилирует Rust-код и преобразует его в готовый к работе пакет Python.


1. Решим вопрос о том, почему функция медленная


Важно понять, почему функция работает медленно. Давайте представим, что проекту требуется функция подсчёта количества простых чисел в диапазоне между двумя другими числами:

Читать дальше →
Total votes 36: ↑21 and ↓15+12
Comments43

Руководство по реализации отзывчивого дизайна в 2023 году

Level of difficultyMedium
Reading time17 min
Views35K

Сегодня построение отзывчивых макетов уже не основывается на контрольных точках (breakpoints) с фиксированной шириной. Вместо этого современные макеты должны работать на устройствах практически любого размера. Однако, к своему удивлению, я всё ещё встречаю сайты, где используется паттерн отзывчивого дизайна – когда присутствует контейнер, получающий новое значение max-width в соответствии с шириной области просмотра.

Термин «отзывчивый» сегодня отражает уже очень многое. У нас есть медиа-запросы, которые проверяют пользовательские настройки, а также современные возможности CSS, которые помогают создавать отзывчивые макеты вообще без использования медиа-запросов. Отзывчивость нынче изменилась, и мы живём в поистине прекрасное время.
Читать дальше →
Total votes 48: ↑44 and ↓4+57
Comments27

Условные выражения в CSS

Level of difficultyMedium
Reading time10 min
Views26K

Мне нравится думать о CSS как о языке дизайна с условными выражениями. На протяжении многих лет CSS был известен как способ стилизации веб-страниц. Однако сегодня этот язык эволюционировал настолько, что в нём уже есть правила условных выражений. Любопытно то, что эти правила реализуются не напрямую (например, в CSS всё ещё нет if/else).

Инструменты дизайна наподобие Figma, Sketch и Adobe XD сильно облегчили жизнь дизайнеров, однако им всё равно не хватает той гибкости, которая есть у CSS.

В этой статье я расскажу о некоторых возможностях CSS, которые мы используем каждый день, и покажу, насколько они условны. Кроме того, я приведу несколько примеров, в которых CSS гораздо мощнее, чем инструменты дизайна.
Читать дальше →
Total votes 48: ↑46 and ↓2+64
Comments4
1

Information

Rating
Does not participate
Registered
Activity