Pull to refresh

Кто будет после нас

Level of difficultyEasy
Reading time3 min
Views7.8K

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

В связи с этим у меня появился вопрос - а что нынешнее школьное образование может предложить?

Мой сын изучает Python в школе. Как организован процесс обучения? Небольшие вводные уроки и выполнение большого количества примеров из Яндекс контекст - https://official.contest.yandex.ru/contest.

Задачи суховаты для подростков и не увлекают поколение, выросшее на красивых картинках Tick-tock и You Tube (как бы мы отрицательно к этому не относились - но это факт). Как следствие - дети не горят желанием выполнять задания и, что самое плохое, не получают удовольствия от выполненной работы. А как бы было здорово, если бы написанный код приносил радость и результатами труда можно было бы поделиться со сверстниками.

Вспомните свои эмоции, когда Ваша программа попала в топ, или пользователь написал Вам о том, что Ваше творение помогло ему в чем-либо?

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

Робот Вася
Робот Вася

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

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

Простой поиск site:habr.com python telegram bot, вернет Вам и "Самый полный стартовый гайд по ботам Telegram" и "Полный гайд по разработке Telegram ботов" и "Простой Telegram-бот на Python за 30 минут" и еще много других ссылок.

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

Надеюсь, что мне это удалось!

Вот ссылка на Telegram бот - https://t.me/school_schedule_1502_bot , если у Вас есть замечания или предложения, пишите - обратная связь только приветствуются.

Облачные сервисы
Облачные сервисы

После реализации основного функционала, встал вопрос: "где можно развернуть приложение?". Первоначально, в качестве "сервера" выступал ноутбук сына. Естественно, это не удобно по многим причинам и потребовалось найти виртуальный хостинг, с минимальной стоимостью. После долгих поисков и сравнений был выбран Amvera Cloud, так-как он позволяет устанавливать обновления простым коммитом с помощью push в Git. Выбран минимальный тариф - Пробный.

При регистрации было начислено 120 рублей, что позволило протестировать круглосуточную работу бота и начать распространять ссылку на приложение среди учеников класса. Развертывание приложения Amvera Cloud осуществляется простой отправкой обновления в Git-репозиторий.

При развертывании я столкнулся с двумя проблемами:

  1. Исходный код проекта содержится на GitHub, в ветке main, а amvera создает репозиторий с именем master по умолчанию. Поэтому вместо команды git push amvera master нужно выполнять git push amvera main:master.

  2. Ключ Telegram бота хранится в переменной окружения. Для Windows, где проходила разработка, название переменной может быть как в верхнем, так и нижнем регистре  - переменная одна. Для Linux - это не так. Поэтому первый запуск бота в  Amvera Cloud завершился с ошибкой - не возможно запустить бот без TOKEN ключа.

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

Уверен, что те, кто будут после нас - обязательно будут лучше нас.

Tags:
Hubs:
Total votes 23: ↑12 and ↓11+4
Comments16

Articles