Pull to refresh
82
8
Дмитрий Синявский@r3code

SRE

Send message

Тема интересная, но перевод утерял множественное число много раз(поток вместо потоки, например). Выглядит как машинный перевод.

Спасибо. Попробуем у себя и вашу схему.
Это перевод habr.com/ru/post/440200, мне кажется продолжает эту тему
Спасибо. У меня вот в инструкциях осталось от советских времен… «категории 1-4 для программистов», написано что должна аттестовать комиссия. Но оба моих начальника сказали, забей, у нас тут нет людей чтоб вас аттестовать. А так действительно движения по лестнице на ФГУП нет, ты студентом придешь и будешь техником-программистом, а с дипломом будешь инженером-программистом, ну может вырастешь до руководителя группы, а потом до начальника бюро, но начальником отдела уже не станешь.
А с категориями было бы здорово, человек бы стремился к улучшению, зная о поощрении материальном если категорию открыл. Интересно, что на производстве это осталось для рабочих, например у работников ОТК и токарей есть разряды, они за них получают разные зарплаты. А программисты — так программисты. В итоге каждый ходит и лично выбивает себе ЗП, а мотивацию приходиться из энтузиазма личного черпать.
Извините, что через 10 лет спрашиваю ) Но можете указать на те самые методики применявшиеся в СССР и теперь объявленные «новыми». Хотелось бы изучить.
А есть пример проекта посмотреть как это в деле? Хочется знать ваш способ
А как бы сделали вы? Может у вас есть ссылка на метериал, как этого можно добиться иначе, или свой подход можете описать?
А подробнее? На что миграции накатываем? На пустую базу или на любую имеющуюся копию. Интересно расскажите подробнее.
Таблицы не переименовываются. Создается временная схема, в ней создается нужная таблица. Соединение работает на указанной схеме. Т.е. каждый тест работает со своей схемой, потому можно хоть два теста на одной таблице запустить, например проверку вставки, List и удаление — они будет независимы по данным.
Поясните пожалуйста. Непонятно — это возражение или предложение.
Я добавил последний раздел «Об авторе», чтобы люди сразу понимали про перевод )
Спасибо за ваши пояснения, это помогло мне немного привести все к общему знаменателю.
Спасибо за вашу точку зрения.
Мне ваше точка зрения понятна. Спасибо за пояснения.
«запись в лог является обработкой ошибки» — это утверждение, автора

Меня как раз интересовало, что думает по этому поводу читатель, т.к. у меня однозначного отношения к этому утверждению не сложилось.
Да мы вставляем этот код для логированния, но все равно мы не всегда пишем лог с уровнем DEBUG. Т.е. обычно для приложений, чтобы логи не раздувались лог ведется на уровне ERROR и при возникновении подозрения на ошибку пользователь выставляет лог на DEBUG и пытается повторить ошибку, после чего разработчик по потоку событий пытается понять, что произошло и почему. Конечно так не всегда, в некоторых приложениях обязательно каждый чих знать.

Короче я прихожу к выводу, что общеподходящего решения нет. Как сказал мне мой друг «У нас на проекте 5 разных реализаций логгеров, т.к. приходили разные разработчики и каждому нужно было что-то свое».

Где-то хватит и Debug, Info для приложения. А где-то нужно вести структурированные логи, где уровни могут быль лишь мелкой деталью.
Второй случай — это как исключение, которое отловил обработчик ошибок высшего уровня и выдал пользователю 500 Ошибка обслуживания, а для разработчика записал в лог подробности (стек).
Мы уведомляем клиента о всех сбоях в операциях, которые не удалось восстановить программе без помощи клиента и нужно его действие.
Т.е. есть разделение на публичные ошибки и приватные так сказать?
Я такое видел Gin-gonic, там автор предлагает пользователю отдавать ошибки помеченные как публичные, а приватные нет.
В вашем примере получается как бы «неважная ошибка», не та «важная», которую пользователю показать бы.
В логе их по смыслу только отличать получается можно, т.е. они все будут ERROR.
Мне кажется такая «неважная ошибка» должна быть вовсе не ошибка, a DEBUG сообщение, или Info, в котором видно прогресс операции, т.к. выходит для цельной операции это как бы не сбой, а нормальная ситуация, которую код обрабатывает. А если после 5 попыток не удалось, тогда это реально сбой операции и об этом нужно пользователя уведомить.

Information

Rating
727-th
Location
Россия
Date of birth
Registered
Activity

Specialization

Бэкенд разработчик, Site Reliability Engineer
Старший
SRE
Мониторинг
GitLab
Golang
Высоконагруженные системы
Проектирование архитектуры приложений