Pull to refresh
1
0.1
Send message

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

Level of difficultyEasy
Reading time11 min
Views42K

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

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

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

Telegram Боты на Aiogram 3.x: Все про FSM простыми словами

Level of difficultyMedium
Reading time17 min
Views2.8K

Друзья, приветствую! Сегодня мы коснемся важной и не такой уж сложной темы — реализации конечных автоматов состояний (FSM) в телеграм-ботах на Aiogram 3.x.

Для лучшего понимания рекомендую ознакомиться с моими предыдущими публикациями на тему Aiogram 3.x:

Читать далее
Total votes 8: ↑5 and ↓3+2
Comments2

Тестируем слой БД в Python с использованием pytest и testcontainers

Reading time15 min
Views15K

Несмотря на большую популярность testcontainers в мире java, информации по применению testcontainers в python в интернете практически нет. Даная статья - попытка ликвидировать этот пробел. Если тема показалась интересной, добро пожаловать под кат!

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

Библиотека программиста: книги о том, как построить карьеру в IT

Reading time5 min
Views6.7K

Успешная карьера разработчика — это не только навыки и знания, но и умение «продавать» себя, сохранять баланс между работой и личной жизнью, а также избегать выгорания. В этой подборке рассмотрим книги, которые помогут пройти путь от новичка до профессионала, оставаясь на гребне волны в быстро меняющейся IT-индустрии.

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

Telegram Боты на Aiogram 3.x: Магия фильтров

Level of difficultyMedium
Reading time12 min
Views3.1K

Привет, друзья!

Благодарю вас за позитивный отклик на мои статьи и за подписки — это бесценно. Продолжим.

К этому моменту мы с вами уже научились многому:

- Запустили своего бота на aiogram 3

- Поговорили про магические и встроенные фильтры

- Научились профессионально писать текстовые клавиатуры и узнали все про специальные текстовые кнопки (статья про текстовые клавиатуры)

- Разобрались с инлайн кнопками и CallData (статья про инлайн кнопки)

- Научились создавать инлайн кнопки-ссылки и инлайн кнопки с CallData

- Рассмотрели тему командного меню

- Познакомились с моим видением каркаса бота

- Научились писать хендлеры для текстовых сообщений и обработки CallData

- Даже сделали так, чтобы наш бот имитировал набор текста, и многое другое

Казалось бы, что еще может быть интересного в aiogram 3? Но поверьте, интересного еще на множество статей. Здесь, на Хабре, я планирую научить каждого писать телеграмм-ботов на уровне профессионалов, чтобы вас не пугала никакая задача от заказчика.

Как вы уже поняли из названия статьи, сегодня мы поговорим о фильтрах в aiogram 3. В этой статье мы обсудим:

Читать далее
Total votes 4: ↑3 and ↓1+3
Comments6

Telegram Боты на Aiogram 3.x: Инлайн кнопки и CallBack Дата

Level of difficultyMedium
Reading time14 min
Views3K

Приветствую все

Приветствую всех! В этой статье мы продолжим исследовать возможности библиотеки Aiogram 3 и рассмотрим тему инлайн кнопок и CallBack данных. На данный момент мы уже:

Определились со структурой бота;

Настроили нашего Telegram-бота на базе Aiogram 3;

Разобрались с командами, включая аргументы, командное меню и фильтры Command и CommandStart;

Освоили работу с текстовыми кнопками (в предыдущей публикации я максимально подробно разобрал эту тему);

Коснулись магических фильтров и обсудили прочие аспекты взаимодействия с ботом.

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

В данной статье мы рассмотрим:

Читать далее
Total votes 5: ↑3 and ↓2+3
Comments8

Telegram Боты на Aiogram 3.x: Первые Шаги

Level of difficultyEasy
Reading time12 min
Views6.5K

Привет, друзья!

За свою практику программирования я успел написать множество малых, средних и крупных проектов, преимущественно в формате Telegram-ботов. Моя история началась с популярной на то время версии aiogram 2.24 (тех, кто в теме, поймут), а сейчас я полностью перешел на версию 3.x, о чем нисколько не жалею.

В этом посте я хочу начать делиться с вами своим опытом разработки Telegram-ботов через библиотеку aiogram. Сейчас вы читаете вводный пост по этой обширной, но на самом деле не такой уж и сложной теме. Если я увижу положительный отклик, то пойму, что эта информация вам полезна, и мы будем углубляться в разработку ботов все дальше и дальше.

Сегодня мы научимся:

Читать далее
Total votes 11: ↑8 and ↓3+5
Comments13

Создание telegram-ботов с интерактивным меню

Level of difficultyMedium
Reading time15 min
Views41K

Однажды меня попросили провести ревью и рефакторинг одного telegram-бота. Увидев файл размером 2000 строк, рассчитанный только на обработку разных меню я понял, что это требует унификации и общих подходов. Так родилась библиотека aiogram-dialog

В этой статье я бы хотел обратить внимание на некоторые проблемы, которые мы встречаем при создании таких меню, предложить варианты их решения. А во второй половине статьи показать как это решается с помощью aiogram-dialog.

Мы не будем рассматривать архитектуру всего приложения, об этом вы можете прочитать у Фаулера или Мартина. Мы поговорим только про определенную часть UI ботов. Так же это не будет введением в разработку telegram-ботов с нуля. Я предполагаю, что читатель знаком с питоном, ООП и слышал о такой вещи как DRY.

Примеры выбраны так, чтобы проще было показать определенные проблемы, но это не единственные сценарии приводящие к ним.

Читать далее
Total votes 22: ↑21 and ↓1+23
Comments4

Крадущийся тигр, затаившийся SQLAlchemy. Основы

Reading time8 min
Views117K


Доброго дня.


Сегодня хочу рассказать про ORM SQLAlchemy. Поговорим о том, что это, про его возможности и гибкость, а также рассмотрим случаи, которые не всегда понятно описаны.


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

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

Основные принципы разработки (SOLID, KISS и т. д.)

Level of difficultyEasy
Reading time21 min
Views12K

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

В общем вас ждет теория, ещё теория, словесные примеры и даже примеры кода (он на С++, но написан понятно).

А еще это полезно знать на собесах :-)

Читать далее
Total votes 16: ↑13 and ↓3+15
Comments10

Народный измеритель ёмкости батареек BatteryTest

Level of difficultyEasy
Reading time6 min
Views29K
Я разработал дешёвый, точный и максимально простой в использовании прибор, с помощью которого можно измерить ёмкость практически любой батарейки (от микроскопических батареек для слуховых аппаратов до крупных батарей). Повторить мой прибор может любой желающий.



Читать дальше →
Total votes 213: ↑213 and ↓0+232
Comments52

Основы PyCharm

Level of difficultyEasy
Reading time9 min
Views77K

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

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

Хакаем CAN шину авто. Виртуальная панель приборов

Reading time14 min
Views216K


В первой статье «Хакаем CAN шину авто для голосового управления» я подключался непосредственно к CAN шине Comfort в двери своего авто и исследовал пролетающий траффик, это позволило определить команды управления стеклоподъемниками, центральным замком и др.

В этой статье я расскажу как собрать свою уникальную виртуальную или цифровую панель приборов и получить данные с любых датчиков в автомобилях группы VAG (Volkswagen, Audi, Seat, Skoda).

Мною был собран новый CAN сниффер и CAN шилд для Raspberry Pi на базе модуля MCP2515 TJA1050 Niren, полученные с их помощью данные я применил в разработке цифровой панели приборов с использованием 7″ дисплея для Raspberry Pi. Помимо простого отображения информации цифровая панель реагирует на кнопки подрулевого переключателя и другие события в машине.

В качестве фреймворка для рисования приборов отлично подошел Kivy для Python. Работает без Иксов и для вывода графики использует GL.

  1. CAN сниффер из Arduino Uno
  2. Подслушиваем запросы с помощью диагностической системы VAG-COM (VCDS)
  3. Разработка панели приборов на основе Raspberry Pi и 7″ дисплея
  4. Софт панели приборов на Python и Kivy (UI framework)
  5. Видео работы цифровой панели приборов на базе Raspberry Pi

Под катом полная реализация проекта, будет интересно!
Total votes 195: ↑192 and ↓3+189
Comments224

Сначала войдите через Телеграм

Reading time5 min
Views40K

Как-то мне понадобилось ограничить доступ к статическому сайту. Я написал сервер, который просит пользователей войти через Телеграм и пропускает только людей из белого списка. Ничего сложного, но вдруг кому-то понадобится.

Читать далее
Total votes 56: ↑53 and ↓3+61
Comments51

Лучшие практики для надёжной работы с RabbitMQ

Level of difficultyEasy
Reading time13 min
Views23K

Привет, Хабр! Я Женя, архитектор интеграционной платформы в Точке, отвечаю за асинхронный обмен сообщениями между внутренними сервисами, за ESB и за брокеры сообщений.

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

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

Следуй за белым кроликом
Total votes 58: ↑58 and ↓0+59
Comments16

Надежный обход блокировок в 2024: протоколы, клиенты и настройка сервера от простого к сложному

Level of difficultyMedium
Reading time45 min
Views155K

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

Вы, наверняка, помните отличный цикл статей на Хабре в прошлом году от пользователя MiraclePtr, который рассказывал о разных методах блокировок, о разных методах обхода блокировок, о разных клиентах и серверах для обходов блокировок, и о разных способах их настройки (раз, два, три, четыре, пять, шесть, семь, восемь, десять, десять, и вроде были еще другие), и можете спросить, а зачем еще одна? Есть две основные причины для этого.

Читать далее
Total votes 446: ↑438 and ↓8+490
Comments358

Шпаргалка: fixture в pytest

Level of difficultyMedium
Reading time15 min
Views20K

В данной статье представлены примеры использования фикстур (fixture) для фреймворка автоматического тестирования pytest. Фикстуры представляют собой функции, которые можно использовать для решения различных задач при проведении автоматизированного тестирования.

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

А давно ли вы измеряли радиацию у себя дома? Делаем дозиметр из Flipper

Reading time9 min
Views13K

У счастливых обладателей Флиппера, прекрасного тамагочи для больших мальчиков и девочек, часто возникает вопрос: что бы ещё к нему подключить? Сегодня расскажу про подключение модуля под названием RadSens для замера радиации. 

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

А тем, кто совсем не хочет ничего собирать, но хочет иметь классный попискивающий гаджет, рекомендую прочитать вот эту статью, я начал именно с этого устройства, но потом у меня появился Флиппер.

Читать далее
Total votes 66: ↑65 and ↓1+93
Comments36

Information

Rating
2,582-nd
Registered
Activity