Pull to refresh
37
0
Сергей Козырев @taksebe

Был менеджером, всё надоело, и я программист

Send message

Выкуси, Telegram Premium — бот-конвертер голосовых сообщений для обхода ограничений (Java, Spring, вебхуки, ffmpeg)

Reading time17 min
Views13K

Это третья статья в моей серии "для самых маленьких" - первая была посвящена "классическому" Telegram-боту, наследуемому от TelegramLongPollingBot, вторая - боту на вебхуках на Spring с блекджеком и ш БД Redis и клавиатурами.

Для кого написано

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

Я пытаюсь писать как для себя, а не сразу для умных — надеюсь, кому-нибудь это поможет быстрее въехать в тему.

Предыстория

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

Большинство преимуществ Telegram Premium не вызывают никаких вопросов, но запрет на отправку себе голосовых сообщений - это низко, Telegram.

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

На дно!
Total votes 15: ↑15 and ↓0+15
Comments21

Telegram-бот на вебхуках — Java+Spring, Redis, клавиатуры и деплой на Heroku — снова для самых маленьких

Reading time20 min
Views57K


В предыдущих сериях


Это вторая статья в моей серии «для самых маленьких» — предыдущая была посвящена «классическому» Telegram-боту, наследуемому от TelegramLongPollingBot.

Для кого написано


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

Я пытаюсь писать как для себя, а не сразу для умных — надеюсь, кому-нибудь это поможет быстрее въехать в тему.

Предыстория


Учить словарные слова — занятие довольно скучное, а если делать это в лоб, ещё и малоэффективное, поэтому я решил разработать для дочери задания такого вида:



Ребёнок сначала выбирает правильный вариант, а затем закрепляет его написанием. По ощущениям, запоминание идёт неплохо. Дело оставалось за малым — написать бота и составить словари неправильных написаний.
Читать дальше →
Total votes 6: ↑6 and ↓0+6
Comments7

Поговорим про собеседование?

Reading time2 min
Views9.1K

Шестьдесят четвёртый выпуск подкаста “В бесконечность и далее”, мы назвали “Собеседование”. В нём (начиная с 8-й минуты) мы обсуждаем личный опыт прохождения и проведения собеседований. Хотели обсудить “в целом”, но получилось про собеседования в IT.

Обсуждение темы можно послушать в Youtube, на Яндекс музыка, в Google подкастах, на устройствах Apple и Android, на нашем сайте, на сайте-хостинге подкаста, в VK и много где ещё.

Ниже выжимка нашего диалога. 

Читать далее
Total votes 43: ↑1 and ↓42-41
Comments7

Хорошее публичное выступление: 11 простых советов

Reading time5 min
Views45K

Дисклеймер


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

1. Структура доклада


Парадоксально, но многие докладчики даже на крутых конференциях зачастую не делят своё выступление на три основные части – формулировка проблемы, предпринятые шаги, выводы. Структура может быть сложнее, но базовая она почти всегда такая, даже если вывод – «у нас ничего не получилось».

Ключевая проблема для слушателя – отсутствие вводной части. Выводы он может сделать и сам, а вот стартовать с опозданием сложно и неприятно. Он ещё не понял, что вы будете про пищеварение, а уже нужно вникать в строение эпителия тонкого кишечника. Результат – ваш доклад попадает в слушателя не на все 100%, а имеет шансы и вовсе пролететь мимо.
Читать дальше →
Total votes 67: ↑64 and ↓3+61
Comments36

Удалённая работа у здорового (?) работодателя

Reading time7 min
Views32K
В 2019 году удаленная работа в ИТ уже давно никого не удивляет — она ​​воспринимается как один из доступных способов организации команды. Почитать об этом можно в восторженных отзывах работников, слегка хвастливых рассказах работодателей, скучных аналитических статьях рекрутеров и даже в совершенно неожиданных местах (Cosmopolitan не даст соврать). Однако найти информацию о причинах, побудивших конкретного работодателя начать экспериментировать, и честных результатах уже гораздо сложнее — а ведь именно на эти данные хочется опереться, раздумывая над внедрением нововведений в свою команду. Эта статья призвана попытаться заполнить этот пробел.
Читать дальше →
Total votes 78: ↑77 and ↓1+76
Comments140

Telegram-бот на Java для самых маленьких — от старта до бесплатного размещения на heroku

Reading time15 min
Views159K


В следующих сериях


Это первая статья в моей серии «для самых маленьких» — следующая посвящена Telegram-боту на вебхуках на Spring с блекджеком и Redis и клавиатурами. Будут ещё:)

Для кого написано


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

Предыстория


Когда моя дочь начала изучать арифметику, я между делом накидал алгоритм генерации простых примеров на сложение и вычитание вида «5 + 7 =», чтобы не придумывать и не гуглить для неё задания.

И тут на глаза попалась новость, что Telegram выпустил новую версию Bot API 5.0. Ботов я раньше не писал, и потому решил попробовать поднять бота как интерфейс для своей поделки. Все примеры, которые мне удалось найти, показались либо совсем простыми (нужные мне функции не были представлены), либо очень сложными для новичка. Также мне не хватало объяснений, почему выбран тот или иной путь. В общем, написано было сразу для умных, а не для меня. Потому я решил описать свой опыт создания простого бота — надеюсь, кому-нибудь это поможет быстрее въехать в тему.
Читать дальше →
Total votes 11: ↑11 and ↓0+11
Comments17

Вечные

Reading time3 min
Views2.5K

Тридцать четвертый выпуск нашего подкаста “В бесконечность и далее”, мы назвали “Вечные" потому что в нём (начиная с 12й минуты) мы говорим о проблемах, а вернее даже, о последствиях возникновения бессмертия. Также в этом выпуске мы говорим об эльфах и орках, Станиславе Леме, колонизации других миров и многом-многом другом.


Наше обсуждение темы можно послушать (начиная с 11:55) в Youtube, на Яндекс музыка, в Google подкастах, на устройствах Apple и Android, на нашем сайте, на сайте-хостинге подкаста, в VK и много где ещё. А ниже краткая выжимка-стенограмма из нашего диалога.


image


  • 12:30 В деле достижения бессмертия человечество не было замечено в существенном прогрессе и это очень хорошо
  • 13:30 Сейчас растёт не максимальная продолжительность жизни, а средняя продолжительность. Современная медицина лечит болезни, а не продлевает жизнь
  • 17:30 Большой вопрос “что есть бессмертие”. Жить вечно в образе машины — бессмертие ли? А эльф как бы бессмертен, но если орк отрывает ему голову то он получается смертен, так что ли?
  • 21:30 В качестве аннотации
Читать дальше →
Total votes 17: ↑4 and ↓13-8
Comments20

Бремя белых воротничков (про дискриминацию в IT)

Reading time3 min
Views7.1K

Тридцать четвертый выпуск нашего подкаста “В бесконечность и далее”, мы назвали “Бремя белых воротничков" потому что в нём мы говорим о дискриминации на рынке труда в российском IT, а название выпуска является отсылкой к стихотворению Редьярда Киплинга “Бремя белого человека”. Также в этом выпуске мы говорим о гендерной дискриминации, возрастной дискриминации, дискриминацию по критерию “длительность работы в компании”. и многом-многом другом.


Наше обсуждение темы можно послушать в Youtube, на Яндекс музыка, в Google подкастах, на устройствах Apple и Android, на нашем сайте, на сайте-хостинге подкаста и много где ещё. А ниже краткая выжимка-стенограмма из нашего диалога.


image


  • 0:50 Если сравнивать с 17м веком и, например, конкретно с эпизодом охоты на салемских ведьм, то современный мир исключительно толерантен и чужд дискриминации. Хотя, конечно, в Саудовской Аравии по прежнему казнят за колдовство
  • 4:10 Мы говорим о понятии позитивной дискриминации и задаемся вопросом, является ли она формой дискриминации, с которой надо бороться?
  • 8:00 Есть несколько примеров (взятых из жизни) предвзятости как формы дискриминации. Например
Читать дальше →
Total votes 37: ↑6 and ↓31-25
Comments16

А хочу жениться

Reading time3 min
Views3K

Девятнадцатый выпуск нашего подкаста “В бесконечность и далее”, мы назвали "А хочу жениться!" потому что в нём (начиная с 16й минуты) мы обсуждаем как правильно учиться и поговорка “Не хочу учиться, а хочу жениться” подходит для слогана выпуска как нельзя более лучше. Также в этом выпуске мы говорим о гуманитарном складе ума, обсуждаем вопросы группового и индивидуального обучения, а также о многом-многом другом.


Наше обсуждение темы можно послушать (начиная с 15:05) в Youtube, на Яндекс музыка, в Google подкастах, на устройствах Apple и Android, на нашем сайте, на сайте-хостинге подкаста и много где ещё. А ниже краткая выжимка-стенограмма из нашего диалога.


image


  • 15:05 Новая информация может вас захватить врасплох и мы обсуждаем это на примерах из личного опыта
  • 19:40 Обучение и образование это близкие вещи, но не идентичные
  • 21:00 Наш мозг это машина, которая умеет учиться и часто она
Читать дальше →
Total votes 7: ↑2 and ↓5-1
Comments0

Крылья, ноги и хвосты

Reading time3 min
Views1.4K

Двадцать пятый выпуск нашего подкаста “В бесконечность и далее”, мы назвали "Крылья, ноги и хвосты" потому что в нём (начиная с 4й минуты) мы обсуждаем настоящее и будущее городского транспорта и это обсуждение нам очень напоминает одноимённый советский мультфильм. Также, в этом выпуске мы говорим о дирижаблях как об объектах городской инфраструктуры, бионических осликах, вертолетах и, конечно, о сухогрузах. А также о многом другом.


Наше обсуждение темы можно послушать (начиная с 3:30) в Youtube, на Яндекс музыка, в Google подкастах, на устройствах Apple и Android, на нашем сайте, на сайте-хостинге подкаста и много где ещё. А ниже краткая выжимка-стенограмма из нашего диалога.


image


  • 3:30 Велосипед, как средство городского транспорта, вещь сомнительная, хотя иногда удобная. Мимоходом мы обсуждаем из чего сделан велосипед, а также говорим о варфоломеевской самокатной ночи
  • 8:00 Мы обсуждаем эксперимент с электросамокатами в Аделаиде
  • 9:00 Пара историй из жизни про то, какие казусы может вызвать “умная сигнализация”, установленная на
Читать дальше →
Total votes 10: ↑4 and ↓60
Comments4

За бесконечность

Reading time3 min
Views1.8K

Пятый выпуск нашего подкаста “В бесконечность и далее”, который мы выпустили почти 1,5 года назад, мы назвали "За бесконечность" потому что в нём (начиная с 4й минуты) мы обсуждаем место освоения космоса в современном мире. Также, в этом выпуске мы говорим о том, когда высохнут океаны на Земле, о сложностях колонизации Марса, об отсутствии необходимости начинать космическую экспансию, а также о многом другом.


Наше обсуждение темы можно послушать (начиная с 3:30) в Youtube, в Яндекс музыка, в Google подкастах, на устройствах Apple и Android, на нашем сайте, на сайте-хостинге подкаста и много где ещё. А ниже краткая выжимка-стенограмма из нашего диалога.


image


  • 4:10 У человечества есть как минимум три пути: самоуничтожение; адаптация планеты Земля под себя и себя под условия планеты; космическая экспансия
  • 5:10 Через миллиард лет на Земле не останется океанов. Мы кратко обсуждаем куда денется вода и почему
  • 6:40 А зачем человечеству космос? Один из вероятных ответов — незачем.
Читать дальше →
Total votes 5: ↑2 and ↓3+1
Comments0

DDoS от кофеварки

Reading time3 min
Views2.2K

Почти пилотный, второй выпуск нашего подкаста “В бесконечность и далее”, который вышел более 1,5 лет тому назад, мы назвали "DDoS от кофеварки". Мы назвали его так, потому что в нём (начиная с 1й минуты) мы обсуждаем интернет вещей, и первое что мы вспомнили — история про DDos-атаку на DNS-серверы хостинговой компании Dyn. Участниками этой атаки, предположительно, были устройства бытовой техники, в том числе, видимо, и кофеварки. Также, в этом выпуске мы говорим о пиксельной скорости; об адвокате, который застрял в шлюзе в Бутырской тюрьме; о том, как нас обманывают датчики (и органы чувств) и к чему это приводит, а также о многом другом.


Наше обсуждение темы можно послушать (начиная с 20:20) в Youtube, в Яндекс музыка, в Google подкастах, на устройствах Apple и Android, на нашем сайте, на сайте-хостинге подкаста и много где ещё. А ниже краткая выжимка-стенограмма из нашего диалога.


image
  • 00:30 Обсуждаем как “кофеварки заDDoSили половину интернета”
  • 03:00 Немного про дыры в безопасности у конференции по безопасности
  • 05:30 История про то, как адвокат застрял в турникете в Бутырке
  • 10:40 Как только интернет вещей станет массовым явлением
Читать дальше →
Total votes 5: ↑2 and ↓3+1
Comments0

Глушитель для гаубицы

Reading time3 min
Views2.5K

Двадцать второй выпуск нашего подкаста “В бесконечность и далее” мы назвали "Глушитель для гаубицы" потому что в нём (начиная с 21й минуты) мы обсуждаем армию, как неиссякаемый источник менеджерского опыта, но в какой то момент отвлекаемся и мимоходом обсуждаем такое устройство как "глушитель для гаубицы". Также, в этом выпуске мы говорим об управлении персоналом в широких терминах, PMBOK, преемственности опыта в армии, причинах ротации прапорщиков, самоорганизующиеся команды и многое другое.


Наше обсуждение темы можно послушать (начиная с 20:20) в Youtube, в Яндекс музыка, в Google подкастах, на устройствах Apple и Android, на нашем сайте, на сайте-хостинге подкаста и много где ещё. А ниже краткая выжимка-стенограмма из нашего диалога.


image
  • 20:20 Армия это не только неиссякаемый источник шуток и грустных поучительных историй, но также и источник вдохновения для поиска новых менеджерских решений
  • 25:45 Говорим про глушитель для гаубицы. Выглядит эта штуковина вот так
  • 26:35 Армия это место в котором, с точки зрения управления, случалось всё, что теоретически могло случиться
Читать дальше →
Total votes 9: ↑4 and ↓5+2
Comments0

Эльфы на p-n переходах

Reading time4 min
Views2.8K

Пятнадцатый выпуск нашего подкаста “В бесконечность и далее” мы назвали “Эльфы на p-n переходах”, потому что в нём (начиная с 12й минуты) мы обсуждаем тему смерти в цифровом мире. Ведь, как известно, эльфы бессмертны, хотя могут быть убиты в бою. С другой стороны, компьютер нельзя убить, но он смертен, потому что любой p-n переход (т.е. транзистор) со временем деградирует и перестаёт работать. Также, в этом выпуске мы говорим о цифровом наследии; о соцсетях, как об электронных мемориальных досках; смеёмся над фильмом “Матрица”, но совершенно серьезно говорим о возможности, что вся наша вселенная — часть симуляции.


Наше обсуждение темы можно послушать (начиная с 11:02) в Youtube, в Яндекс музыка, в Google подкастах, на устройствах Apple и Android, на нашем сайте, на сайте-хостинге подкаста и много где ещё. А ниже краткая выжимка-стенограмма из нашего диалога.


image


  • 12:57 Мы формулируем тему. Что делать с цифровым наследием человека после смерти самого человека, а также происходит ли автономная жизнь цифрового наследия в сети после смерти индивидуума?


  • 14:00 Пример: умер дедушка. Деньги и прочие активы

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

Shut up and take my money

Reading time3 min
Views2.7K

Семнадцатый выпуск нашего подкаста “В бесконечность и далее” мы назвали “Shut up and take my money!”, потому что в нём (начиная с 11й минуты) мы обсуждаем подходы к организации идеальных IT-тендеров. Мы стараемся не концентрироваться на закупке физических объектов (например, ноутбуки, сервера и т.п.), а больше обсуждаем закупки нематериальных ценностей (например, заказную разработку программного обеспечения). Мы обсуждаем процессы организации закупок в госах, в корпорациях и в малых предприятиях. Также, мы ставим под сомнение абсолютную ценность формализации процесса закупки (тендеры, процедуры, сверка критериев и т.п.), потому что, в некоторых случаях, стоимость содержания регламентированных процедур может быть дороже чем финансовый вред от потенциальной коррупции.



Наше обсуждение темы можно послушать (начиная с 10:15) в Youtube, в Яндекс музыка, в Google подкастах, на устройствах Apple и Android, на нашем сайте и много где ещё. А ниже выжимка-стенограмма из нашего диалога:


  • 11:10 — Взгляд на тендеры снаружи и то как они выглядят изнутри — это две разные вещи
  • 12:07 — Заказ любого изделия, подобранного по
Читать дальше →
Total votes 4: ↑4 and ↓0+4
Comments1

Ролевые игры

Reading time4 min
Views2K

Тринадцатый выпуск нашего подкаста “В бесконечность и далее” мы назвали “Ролевые игры”, потому что в нём (начиная с 14й минуты) мы моделируем жизнь и действия менеджера, на которого неожиданно свалился IT проект по заказной разработке ПО, а сам менеджер и его команда к этому проекту не готовы. Ситуацию усугубляет то, что


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

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


Описание ситуация: есть большая компания-заказчик численностью 5 000 сотрудников интеллектуального и полуинтеллектуального труда. В настоящий момент компания-заказчик находится на стадии лоскутной автоматизации, т.е. у неё есть много старых информационных систем, которые автоматизируют бизнес процессы по принципу “так исторически сложилось”. Заказчик наняла две конкурирующие IT компании переписать весь этот зоопарк имеющееся IT наследие на современных технологиях. Сферы ответственности между подрядчиками изначально жестко разделены Заказчиком, но если кто-то из Подрядчиков не будет справляться — Заказчик может перераспределить и деньги, и работы, и, даже, привлечь новых Подрядчиков.



Наше обсуждение темы можно послушать (начиная с 13:45) в Youtube, в Яндекс музыка, на устройствах Apple и Android и много где ещё. А ниже выжимка-стенограмма из нашего диалога.


  1. Первый шаг — это попаниковать первые 5-7 минут, а потом начать методично работать
  2. Мы задаемся
Читать дальше →
Total votes 3: ↑2 and ↓1+3
Comments0

Как выучить иностранный язык

Reading time10 min
Views115K

Я расскажу о том, как изучать иностранный язык и буду это делать на примере личного опыта изучения английского языка. Английский я начал учить в 36 лет, а уже сейчас у меня свободный английский язык (как письменный, так и устный), подтверждённый официальными сертификатами. Чтобы не быть голословным: у меня есть сертификат IELTS 7.5 баллов (это С1 level) и сертификат переводчика NAATI. Короче, я знаю о чем говорю.


Оглавление:


  1. Отступление про умных людей и прочих полиглотов
  2. Первый шаг
  3. Какой преподаватель нужен (уровень преподавателя)
  4. Где искать преподавателя
  5. Развитие навыков: слушание
  6. Развитие навыков: чтение
  7. Развитие навыков: письмо
  8. Развитие навыков: разговор: произношение
  9. Развитие навыков: разговор: языковой барьер
  10. Словарный запас
  11. Самое главное


Итак, вопрос: “Как выучить английский язык?”.

Читать дальше →
Total votes 97: ↑92 and ↓5+87
Comments158

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity