Вроде бы проблему обратной совместимости хорошо решают протоколы с именованными полями, такие как protobuf, flatbuffers, messagepack: там приёмник умеет игнорировать новые поля без ошибок, а значит, в ограниченном смысле, имеет обратную совместимость :)
А здесь в режиме resilient игнорятся целые блоки. Получается, для идеальной обратной совместимости нужно под каждое поле выделять блок? :)
Глупый вопрос: а чем такая цельная плата лучше, чем две "простые", соединённые шлейфом: через коннектор или даже припаянным? В каких ситуациях надёжности этого контакта не хватает?
Я не понял зачем нужен enum
TLSMode: ведь он, по сути, сводится кtrue/false:)Но — да: для
boolнужно подбирать не значение, а имя.Вообще, конечно, жаль что в Go нету keyword arguments или default values. Это было бы прям удобно)
Ух ты, класс!
Респект за перфекционизм и стремление к красоте :)
Нравится подход тем, что он очень читаемый. Условностей крайне мало. Только вот, с
boolполями не очень красиво получилось :)Есть два типа родителей:
Одни стараются не напрягать других своими детьми.
А другие считают, что их детьми все должны заниматься :)
Что делать, если ребёнок будет плакать без соски?
Быть родителем. Вам, а не организаторам мероприятия
Заголовок неудачный)
Автор как раз имеет в виду, что "не доверять красивому коду" очень важно. В тексте это хорошо читается.
А в заголовке он имел в виду "Внимание! Опасно! Ворненг!" :)
#яжбать 😁
Спасибо что копнули глубже, к основам и впечатлениям автора!)
Вот это вы заморочились, респект :)
А как насчёт просто экспортировать метрики для Prometheus и смотреть всё там?
Какая сокровищница! Спасибо!
Какая-то магия! Наблюдаю с восторгом, как малыш за папиной работой! может быть когда-нибудь дорасту 😁
Уух! Вот это инженер! Ему отключили свет — и он решил сделать процессор и всю к нему обвязку :) класс!
Роскошная история, спасибо за рассказ!
Вроде бы проблему обратной совместимости хорошо решают протоколы с именованными полями, такие как protobuf, flatbuffers, messagepack: там приёмник умеет игнорировать новые поля без ошибок, а значит, в ограниченном смысле, имеет обратную совместимость :)
А здесь в режиме resilient игнорятся целые блоки. Получается, для идеальной обратной совместимости нужно под каждое поле выделять блок? :)
Спасибо! Очень интересно было про паттерн lease
Класс!!
Глупый вопрос: а чем такая цельная плата лучше, чем две "простые", соединённые шлейфом: через коннектор или даже припаянным? В каких ситуациях надёжности этого контакта не хватает?
Захватывающее чтение! Спасибо!
Интересно читать, спасибо!
Нравится ваш подход с рассмотрением трёх альтернатив) спасибо!
Это гениальная идея! Браво!!))
Как думаете, а можно это ввести тимлиду на уровне компании? Или люди привыкнут и будут удалять маркеры непроверенног кода?)
Спасибо за статью! Сам я не мобильный разработчик — но интересно узнать, как такие штуки реализуются.
Знаю outbox на бэкенде, а во фронте, оказывается, свой outbox 😁
Спасибо, было очень интересно прочитать!