Обновить
82
Дмитрий Синявский@r3code

SRE

Отправить сообщение
Когда вся программа накрылась, код возврата говорит лишь о том, что случилась ошибка, причину ошибки логично поместить в лог с уровнем fatal.

Автор об этом случае пишет так:
Если возникает ошибка, которая не может быть обработана, она должна появиться в main.main там, где программа завершается. Незначительные неудобства, связанные с необходимостью вставки префикса FATAL перед окончательным сообщением журнала или записи непосредственно в os.Stderr с помощью fmt.Fprintf, не является достаточным основанием для расширения пакета матодом log.Fatal.


Лично мне больше нравится подход logr и go-kit-log, там тоже есть интерфейс логгера сильно ограниченный. В logr есть вывод с уровнем важности, V(verboseLevel int), чем больше verboseLevel тем ниже важность сообщения и больше сообщений у вас в логе.
В go-kit-log никто не запрещает вам указывать название уровней для записи журнала, но вы это передаете как параметр вызова.
Интерфейс тут такой:
type Logger interface {
	Log(keyvals ...interface{}) error
}

Ваша реализация сама разберется как это записать в хранилище.
И кстати тут автор не уточняет какова должна быть реализации, а вот некоторые разработчики пошли по его идеям. Автор github.com/go-log/log сделал интерфейс, как пишет Дейв.
Конечно автор идет на пролом к идеальному, но по факту в реализации разработчики понимают эту идею, как намеренное сокращение интерфейса в угоду слабой связанности.
Посмотрите на реализацию логера в Go Kit, описанную в данной презентации speakerdeck.com/chrishines/go-kit-log-package возможно это внесет больше ясности.
Заметьте автор — Дейв Чини, достаточно опытный разработчик, много его пакетов используется большинством разработчиков, например, github.com/pkg/errors. Думаю, он имеет причины к такому подходу.

Товарищи, не забывайте — это перевод. Прошу вас минусы аргументировать, мне это важно, чтобы пронять как люди относятся к данной идее Дейва Чини (автор известного модуля github.com/pkg/errors).

Какое то перечисление технологий и все. Нудно. А выставка рекламы в начале просто как бельмо.

Больше доверяешь человеку, чем непонятой вывеске. Если человек выставил свое имя, то он отвечает больше чем просто за непонятное название.
Про само ПО нет на сайте НИИ Масштаб информации кроме новостей, есть только сервера mashtab.org/products/aves
Откуда это? из личного? Я вот спинку вообще почти теперь не использую, наклон вперед чуток да помогает осанку держать. Есть конкретные варианты?

А если отбросить евангелистическую подачу материала, то о solid можно и не говорить вовсе. Лучше бы на примере показали как этому следовать в go. Я вот форк https://github.com/r3code/clean-go сделал от clean-go чтобы посмотреть инверсию зависимости, тут как раз есть части solid.

Отлично когда человек смог решить проблему в поставленных рамках. Большинство комментариев тут выглядят как комментарии на форумах по программированию, когда человек спрашивает "как такое сделать на таком то языке", а в ответ получает "лучше возьми вот этот язык он круче и лучше и быстро сделай".

И все таки "если компания не может их реализоваться" — без "ся" глаза колоть не будет.

По моему «грабли» лучше заменить на «подводные камни». И было бы вроде «Подводные камни в Go о которых мы должны помнить». Для меня это кажется, более наглядно и обыденно, т.к. подводные камни как раз то что вы описали — то чего не видно на поверхности и может причинить неприятности, если не знать, где они. И да — о них всегда узнаешь впервые, когда уже напоролся.
Очень часто материал подается с точки зрения «ух ты посмотри как тут много винтиков, гаек, планок и отвертка с ключом!», но не приводится примера задачи куда это применить можно. Многие думают, что полиморфизм это свойство исключительно ООП.
А мне нравится, что Delphi вызывает холивар — значит он до сих пор интересен людям и многие о нем знают. Некоторые и споривших даже пробуют Delphi, чтобы действительно понять.
Вообще в этих спорах нет смысла. Решая поставленную задачу соревнуешься только с самим собой и предыдущей решенной тобой задачей. Только сделав вторую можно понять можно ли было решить первую лучше.
Советую автору анкеты переделать ее, чтобы в каждом варианте было только 4 возможных выбора, а не 5 — это заставит заполняющих подумать перед ответом, а не ставить стандартное среднее «наверно/незнаю».
Иначе большинство результатов будет усреднено, среднее решение — не то ни другое дает право на лень при выборе, ни хорошо, ни плохо.
Отступ прямо таки идеален, как и линия текста. Наш такое палил.
Мы на работу с месяц назад получили кресла оператора Амиго Плюс, производство Юнитекс, Россия.
www.unitex.ru/chairs/16769.html
В общем для цены в 5700р. кресло хорошее, есть регулировка высоты спинки, регулировка глубины сидения за счет спинки, свободная регулировка угла наклона спинки с фиксайией, регулировка подлоконтиков по высоте, регулировка высоты сидения.
Сборка правда на 4-, т.к. одно кресло по устройству отличалось от других. Видимо они фурнитуру меняли. Например на одном не было надписей на ручках регулировки, но зато в спинке на кожухе сверху был вделан крючок.
Сидеть достаточно удобано, особенно понравились регулируемые подлокотники.

кресло оператора Амиго Плюс, производство Юнитекс, Россия

Информация

В рейтинге
6 843-й
Откуда
Россия
Дата рождения
Зарегистрирован
Активность

Специализация

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