Как стать автором
Обновить
4
0.1
Ермаков Алексей @Solgo

Разработчик

Отправить сообщение

5 советов разработчику перед стартом своего стартапа. Опыт после 750 000 рублей

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров24K

Всем привет! Меня зовут Ростислав, я full-stack разработчик. Последние 3 года у меня есть хобби - доведение пет-проектов до стадии финансово рентабельных IT продуктов. Сейчас я хочу поделиться своими советами о запуске проекта, исходя из своего опыта.

Читать далее
Всего голосов 45: ↑41 и ↓4+42
Комментарии42

Python + PIL + Pyrogram = Кастомные эмодзи для Telegram

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров6.5K

Телеграм — один из самых популярных, если не самый популярный мессенджер в рунете. Многие ведут в нём личные каналы или группы, а для кого‑то это платформа для предоставления различных услуг. Очень часто, для создания своего стиля авторы используют смайлики и другие символы, а с появлением подписки Telegram‑премиум стало возможным создавать и добавлять свои собственные эмодзи.

Сегодня мы рассмотрим, как из обычного шрифта, сделать уникальный набор эмозди и добавить его в телеграм.

Читать далее
Всего голосов 5: ↑5 и ↓0+5
Комментарии2

Архитектура высоконагруженных телеграм-ботов на Python

Уровень сложностиСредний
Время на прочтение22 мин
Количество просмотров31K


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

Мессенджеры стали нашими неотъемлемыми спутниками, а их потенциал не ограничивается простым обменом сообщениями. Боты обеспечивают автоматические решения задач, которые ранее требовали участия человека. Они работают как виртуальные ассистенты, способные отвечать на вопросы, предоставлять информацию, обрабатывать заказы, делать рекомендации и многое другое.
Читать дальше →
Всего голосов 15: ↑14 и ↓1+15
Комментарии14

Windows — причина медленного интернета

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров112K

Если вы столкнулись с «особой» проблемой медленного интернета и никакие танцы с бубном вам не помогают, то это статья для вас.

Провайдер, роутер, интернет-кабели, rg-45, обжимка, cat5e, порты, драйвера, программы уменьшающие скорость, утилиты, вирусы, настройки сетевого адаптера — это не какие-то страшные слова, на самом деле это всё не причина замедления интернета. В случае, если вы прошли всю эту цепочку и ничего не изменилось, тогда читайте дальше.

В этой статье я поделюсь своим «интересным» опытом, как я искал решение проблемы и о том, что Windows можно починить и не переустанавливать.

Читать далее
Всего голосов 138: ↑132 и ↓6+155
Комментарии316

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

Уровень сложностиСредний
Время на прочтение15 мин
Количество просмотров48K

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

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

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

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

Читать далее
Всего голосов 22: ↑21 и ↓1+23
Комментарии4

Видеокарта VGA для микроконтроллера

Уровень сложностиСредний
Время на прочтение17 мин
Количество просмотров15K
image

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

В то же время есть огромный парк старых ЖК мониторов. Модели с диагональю 15-19 дюймов можно приобрести в рабочем состоянии за 200 – 500 руб. Особенно это касается моделей с немодным сейчас соотношением сторон 4:3. Эти модели достаточно надежные. Лампы CCFL, используемые для подсветки, конечно, теряют яркость за годы эксплуатации и их спектр свечения уходит в неприятный красноватый оттенок, но благодаря большому количеству таких мониторов всегда есть возможность выбрать более-менее живой экземпляр. Кроме того, лампы CCFL относительно несложно заменить обычной светодиодной лентой, подключив ее напрямую к источнику питания 12 В монитора. Однако при этом обычно необходимо заблокировать цепи обратной связи от микросхемы управления подсветкой к контроллеру самого монитора, иначе монитор будет думать что подсветка неисправна и просто выключится. Также придется пожертвовать функцией регулировки яркости. Однако, этой функцией мало кто пользуется. Обычно яркость монитора настраивается один раз в жизни, сразу после его покупки и потом никогда не меняется.
Читать дальше →
Всего голосов 51: ↑50 и ↓1+67
Комментарии76

VPS cheatsheet

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров15K

Базовая настройка vps

В этом туториале я кратко распишу базовую настройку безопасного vps сервера для личного пользования (например, pet проектов) на ubuntu 22.04.

Читать далее
Всего голосов 8: ↑3 и ↓50
Комментарии45

Стейты, БД и логи — разбираем шаблон диалогового Телеграм бота

Уровень сложностиСредний
Время на прочтение16 мин
Количество просмотров9.6K

В предыдущих статьях я рассказала, как быстро создать инфраструктуру для диалогового бота на основе Yandex Serverless Functions и базы данных YDB, а также показала, как реализовать новые команды, добавив код в шаблон. В качестве примера использовался примитивный бот, реализованный в моём репозитории ydb_serverless_telegram_bot.

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

/start
Всего голосов 6: ↑4 и ↓2+2
Комментарии1

DIY-программатор ST-Link V2.1

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров26K

Привет, Хабр!

Предлагаю вашему вниманию самодельный программатор ST-Link V2.1.

Особенности: интерфейс SWD, функция виртуального COM-порта, поддержка SWO, функция MSC (mass storage class), низкая цена.

Перейти к статье
Всего голосов 33: ↑33 и ↓0+33
Комментарии47

За секунды: полировка металлов электричеством

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров20K

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

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

Дальше мы обзорно поговорим о ней, а желающие смогут задуматься о применении её в своих проектах.
Читать дальше →
Всего голосов 79: ↑79 и ↓0+79
Комментарии32

Неизвестный UART: микросхемы

Уровень сложностиСредний
Время на прочтение23 мин
Количество просмотров19K

Как было сказано в предыдущей статье, UART не является формализованным стандартом и, следовательно, при его использовании имеет смысл опираться на практику реализаций данного протокола в различных микросхемах. В данной статье будут рассмотрены микросхемы мостов USB‑UART различных производителей как с точки зрения особенностей поддержки протокола, так и с точки зрения временных/электрических характеристик, а также иных, в том числе не‑электронных соображений.

Запаять SSOP-20
Всего голосов 58: ↑57 и ↓1+74
Комментарии57

Асинхронные микросервисы на Python

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров15K

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

Почему асинхронность так важна для наших микросервисов? Представьте себе множество людей, ожидающих в лифте – каждый из них хочет двигаться своим темпом, и никто не хочет ждать, когда лифт подойдет к нужному этажу. Так и в мире микросервисов – каждый сервис может заниматься своей задачей, не блокируя другие. Асинхронность позволяет нам этим заниматься: вместо того чтобы ждать ответа от одного сервиса, мы можем отправить запрос другому и эффективно использовать время, пока ждем ответа.

Читать далее
Всего голосов 13: ↑9 и ↓4+8
Комментарии12

Чат-боты на все случаи жизни. 7 инструкций по созданию мини-приложений в Telegram

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров38K

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

В подборке под катом — семь инструкций по созданию Telegram-ботов с разной функциональностью. Сохраняйте статью в закладки: пригодится как начинающим, так и опытным разработчикам.

Выберите интересующего вас бота:

Паттерны взаимодействия с ботами
Веб-приложение на Node.js и React
Платежная система с Payments
Карманный ChatGPT, которому можно отправлять голосовые сообщения
Бот для генерации сложных паролей
Бот для создания стикеров из сообщений
Бот для мониторинга погоды на Python
Читать дальше →
Всего голосов 35: ↑32 и ↓3+40
Комментарии13

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

Время на прочтение11 мин
Количество просмотров37K

В 2023 году по прежнему сохраняется спрос на открытие банковских карт за рубежом. После массовой волны в 2022 году требования от зарубежных банков стали ужесточаться, возможности перевода средств из/в РФ снижаться.

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

Читать далее
Всего голосов 24: ↑18 и ↓6+19
Комментарии66

Автоматизация обеспечения качества кода на языке Python

Уровень сложностиПростой
Время на прочтение17 мин
Количество просмотров12K

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

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

Читать далее
Всего голосов 12: ↑11 и ↓1+13
Комментарии10

Python декораторы на максималках. Универсальный рецепт по написанию и аннотированию от мала до велика

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров42K

Декорирование функций - это, наверное, самая сложная среди базовых и самая простая среди продвинутых фич языка Python. С декораторами, наверное, знакомы все джуны (хотя бы в рамках подготовки к собеседованиям). Однако, крайне мало разработчиков пишут их правильно. Особенно принимая во внимания тенденции последних нескольких лет к аннотированию всего и вся. Даже популярные open-source проекты (если основная часть их кода была написана до 2018 года) вряд ли дадут вам примеры декораторов, отвечающих всем современным требованиям к коду.

Так давайте разбираться!

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

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

Давайте разбираться
Всего голосов 43: ↑43 и ↓0+43
Комментарии9

Развлекаемся с электрофоретическими дисплеями

Уровень сложностиПростой
Время на прочтение21 мин
Количество просмотров26K

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

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

Читать далее
Всего голосов 176: ↑176 и ↓0+176
Комментарии32

Такой дозиметр может сделать каждый

Уровень сложностиПростой
Время на прочтение16 мин
Количество просмотров18K

Хомяки приветствуют вас друзья!

Сегодняшний пост будет посвящен радиометру Atom-Scan, универсальному самодельному прибору, который может работать c разными счетчиками Гейгера включая слюдяные, а так же детектировать альфа, бета и гамма излучение. В ходе поста посмотрим как собрать такое устройство, где достать дефицитные радиокомпоненты и как правильно настроить схему чтобы все работало. По традиции смоделируем и напечатаем корпус на фотополимерном 3D принтере, проведем сравнительный тест счётчиков, а так же попытаемся разобраться какой дозиметр на сегодняшний день самый лучший.

Читать далее
Всего голосов 53: ↑47 и ↓6+56
Комментарии28

Оказание первой помощи. Практическая часть

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров9.6K

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

Итак, необходимо придерживаться четырёх шагов при оказании первой помощи.

Читать далее
Всего голосов 50: ↑47 и ↓3+56
Комментарии23

Алгоритмы программы для дозиметра на счетчике Гейгера

Уровень сложностиПростой
Время на прочтение17 мин
Количество просмотров7.1K

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

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

Будет полезна радиолюбителям, разработчикам и программистам для аналогичных задач.

Читать далее
Всего голосов 22: ↑22 и ↓0+22
Комментарии29

Информация

В рейтинге
3 580-й
Откуда
Нижний Новгород, Нижегородская обл., Россия
Дата рождения
Зарегистрирован
Активность

Специализация

Разработчик РЭА
Middle
От 200 000 ₽
Circuitry
Development of printed circuit board
Electronics Development
PCB design
Verilog HDL
FPGA
Cortex-M3
Pic Microcontroller
STM32