Чем больше кода, тем больше багов. Проект ogen генерирует код по OpenAPI спецификации, избавляя от сотен (или даже тысяч) строк скучного шаблонного кода на Go, который приходится писать вручную с риском допустить опечатку или ошибку.
Генератор пишет клиент и сервер, а разработчику остаётся только реализовать интерфейс для сервера. И никаких interface{} и рефлексии, только строгая типизация и кодогенерация.
Я расскажу, чем ogen отличается от существующих решений и почему стоит его попробовать.
Мы бекапим важные для нас данные, но почему бы не забекапить гифки из Телеграма?
Официальные клиенты такое не умеют, но открытый API позволит нам
автоматизировать это дело, избавив от необходимости скачивать гифки по одной.
В статье я расскажу, как это сделать на Go с помощью клиента gotd,
а для нетерпеливых дам сразу ссылку на готовую утилиту.
В предыдущей части были описаны подходы, примененные при написании парсера для схемы MTProto. Статья получилась чуть более общей, чем я рассчитывал, на этот раз я постараюсь рассказать больше про специфику Telegram.
Клиент на Go продолжает развиваться, а мы вернемся в прошлое и вспомним, как писался для него сериализатор и десериализатор протокола.
Желание написать качественный клиент для любимого мессенджера на go возникало давно, но только месяц назад я решил, что время пришло и у меня есть достаточная квалификация для этого.
Разработа все еще в процессе, но уже пройден увлекательный путь от полного непонимания протокола до относительного стабильного клиента. В серии статей я расскажу, с какими сложностями я столкнулся и как с ними боролся.
Так получилось, что с работы мне довольно часто надо получить ssh доступ к своему домашнему компьютеру, а провайдер выдает белый, но динамически меняющийся ip адрес. Разумеется, выбор пал на динамический dns и я взял первого попавшегося бесплатного провайдера no-ip. Их демон прекрасно справлялся с задачей, меняя dns-запись на бесплатном домене третьего уровня от сервиса, а на моем домене был прописан CNAME на их домен.
Все это прекрасно работало до того момента, как я купил себе Zyxel Keenetic Giga. Он дружит с no-ip из коробки, но почему-то с моего домена теперь зайти не получалось. Эту проблему можно было бы решить покупкой статического ip у провайдера, записью в конфигурации ssh по прекрасному гайду от amarao, но так же не интересно! Итак, пришло время написать свой сервис!