Pull to refresh
14
0
Александр Разумов @cy-ernado

Руковожу разработкой

Send message

ogen: OpenAPI v3 генератор для Go

Reading time8 min
Views11K

Чем больше кода, тем больше багов. Проект ogen генерирует код по OpenAPI спецификации, избавляя от сотен (или даже тысяч) строк скучного шаблонного кода на Go, который приходится писать вручную с риском допустить опечатку или ошибку.


Генератор пишет клиент и сервер, а разработчику остаётся только реализовать интерфейс для сервера. И никаких interface{} и рефлексии, только строгая типизация и кодогенерация.


Я расскажу, чем ogen отличается от существующих решений и почему стоит его попробовать.

Читать дальше →
Total votes 16: ↑16 and ↓0+16
Comments6

Telegram на go, часть 2: бинарный протокол

Reading time6 min
Views5.6K

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


Клиент на Go продолжает развиваться, а мы вернемся в прошлое и вспомним, как писался для него сериализатор и десериализатор протокола.

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

Telegram на go: часть 1, парсим схему

Reading time6 min
Views13K

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

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

А начнём мы со схемы (TL) протокола
Total votes 18: ↑16 and ↓2+14
Comments9

Свой dynamic dns на Go с помощью Cloudflare

Reading time8 min
Views14K

Зачем вообще это нужно?


Так получилось, что с работы мне довольно часто надо получить ssh доступ к своему домашнему компьютеру, а провайдер выдает белый, но динамически меняющийся ip адрес. Разумеется, выбор пал на динамический dns и я взял первого попавшегося бесплатного провайдера no-ip. Их демон прекрасно справлялся с задачей, меняя dns-запись на бесплатном домене третьего уровня от сервиса, а на моем домене был прописан CNAME на их домен.

Все это прекрасно работало до того момента, как я купил себе Zyxel Keenetic Giga. Он дружит с no-ip из коробки, но почему-то с моего домена теперь зайти не получалось. Эту проблему можно было бы решить покупкой статического ip у провайдера, записью в конфигурации ssh по прекрасному гайду от amarao, но так же не интересно! Итак, пришло время написать свой сервис!
Читать дальше →
Total votes 11: ↑11 and ↓0+11
Comments25

Information

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