11:00:11 От Vyacheslav.Sitnikov : Добрый утр 11:00:21 От Mike Deruygin : доброго 11:00:25 От Nikolay Yakubitskiy : всем привет! 11:00:44 От Dmitry Pavlov : Доброе утро 11:00:54 От Mikhail : утро доброе! 11:01:00 От Dmitry Pavlov : + 11:01:05 От Mikhail : + 11:01:10 От Nikolay Yakubitskiy : + 11:01:11 От Eugene Klimov : + 11:01:12 От Vyacheslav.Sitnikov : + 11:01:26 От Mike Deruygin : + 11:01:31 От andrei : + 11:01:38 От Mike Deruygin : звук отличный 11:02:05 От andrei : c добрым утром всех 11:02:20 От Mike Deruygin : db connect 11:02:23 От andrei : + 11:02:26 От Vyacheslav.Sitnikov : Yfcnhjqrb hfpyst 11:02:29 От Mike Deruygin : secret keys 11:02:31 От Vyacheslav.Sitnikov : Настройки разные 11:02:33 От Nikolay Yakubitskiy : уровень логирования 11:02:37 От Dmitry Pavlov : сольки для хешей 11:02:50 От andrei : серты 11:02:53 От andrei : пути 11:03:07 От Vyacheslav.Sitnikov : Все, начиная от данных и заканчивая правилами обработки давнных 11:03:15 От Dmitry Pavlov : урлы до сервисов 11:04:50 От andrei : вижу 11:05:25 От andrei : более гибко 11:05:28 От Dmitry Pavlov : проще менять 11:05:29 От Vyacheslav.Sitnikov : изменять легко, хранить в гите 11:07:12 От Vyacheslav.Sitnikov : Это минус, если хранить данные для подключения, но если это настройки, описывающие какие-то правила, то плюс. Нарпимер, если это шаблон для сбора данных мониторинга 11:07:48 От Nikolay Yakubitskiy : не размаршалится 11:07:51 От Vyacheslav.Sitnikov : обращенпия с другого пакета? 11:07:51 От Dmitry Pavlov : разспарсинг библиотека не увидит 11:08:20 От Eugene Klimov : рефлект видит только экспортируемые 11:08:34 От andrei : скорость 11:08:36 От andrei : ошгибка 11:08:38 От Vyacheslav.Sitnikov : скорость работы 11:08:51 От Mike Deruygin : рефлекия неприятна 11:09:23 От Vyacheslav.Sitnikov : yaml умеет сразу с файла анмаршалить 11:09:29 От Mikhail : + 11:09:29 От Mike Deruygin : + 11:09:30 От andrei : + 11:09:30 От Dmitry Pavlov : ++ 11:09:31 От Vyacheslav.Sitnikov : + 11:09:34 От Nikolay Yakubitskiy : + 11:11:03 От Mike Deruygin : она останавливает процесс 11:11:04 От Dmitry Pavlov : ну выходит, если не перехватит 11:11:07 От Vyacheslav.Sitnikov : завершает все defer и выход 11:11:31 От Vyacheslav.Sitnikov : да 11:11:38 От Dmitry Pavlov : вроде должны уметь 11:11:45 От Vyacheslav.Sitnikov : можем, можем 11:12:16 От Vyacheslav.Sitnikov : Внутри горутины почему нельзя перехватить? 11:13:01 От Vyacheslav.Sitnikov : а, ну да, а зачем? Нужно перехват сделать внутри :) 11:14:44 От andrei : + 11:14:45 От Mike Deruygin : + 11:14:46 От Dmitry Pavlov : + 11:15:28 От Vyacheslav.Sitnikov : - 11:15:31 От Dmitry Pavlov : не 11:15:32 От Grigoriy Zavodov : - 11:15:35 От Mike Deruygin : +- 11:16:58 От andrei : security против? 11:17:01 От Vyacheslav.Sitnikov : они э памяти 11:17:07 От Mike Deruygin : я вот храню в окружении и вижу только плюсы по сравнению с файлами 11:17:12 От Dmitry Pavlov : ну типа сложно запомнить) 11:17:22 От Vyacheslav.Sitnikov : А как их туда вносят? 11:17:26 От Vyacheslav.Sitnikov : в это окружение? 11:17:29 От Mike Deruygin : да, удобно ложиться на ci cd 11:17:37 От Mike Deruygin : удобно не возиться с файлами 11:17:37 От Dmitry Pavlov : ну где-то хранить надо все равно 11:17:46 От Mike Deruygin : достаточно одной строки в конфигурации goland 11:18:02 От Vyacheslav.Sitnikov : я имею в виду, где они хранятся перед тем, как их внесут 11:18:12 От andrei : .env 11:18:14 От Vyacheslav.Sitnikov : на жиске? 11:18:17 От Vyacheslav.Sitnikov : *диске? 11:18:40 От Vyacheslav.Sitnikov : Несукурно тогда 11:19:02 От Eugene Klimov : но если они хранятся на диске, зачем их еще дублировать в env? 11:19:07 От Grigoriy Zavodov : разделение между многими сервисами? 11:20:29 От Dmitry Pavlov : никто не угадал ответ) 11:20:44 От Dmitry Pavlov : а почему минусы-то? 11:21:23 От Dmitry Pavlov : ну да, вы задали вопрос, но ответ не дали) 11:22:11 От Dmitry Pavlov : ясно 11:23:25 От OTUS Онлайн-образование : SHORTENER_PORT=3000 SHORTENER_HOST=test.test go run src/env/main.go 11:24:06 От Mike Deruygin : звездочки на гитхабе, отзывы 11:24:08 От Vyacheslav.Sitnikov : stackoverflow 11:24:24 От Dmitry Pavlov : гуглю что на первом месте) 11:24:32 От Dmitry Pavlov : да 11:24:56 От Mikhail : я еще обычно внутренности просматриваю :) 11:25:01 От OTUS Онлайн-образование : https://github.com/avelino/awesome-go 11:25:47 От OTUS Онлайн-образование : https://go.libhunt.com/categories/463-con 11:26:09 От OTUS Онлайн-образование : https://go.libhunt.com/categories/463-con 11:26:13 От Dmitry Pavlov : нет 11:26:31 От Mike Deruygin : нормально открывается 11:26:38 От Dmitry Pavlov : открылось 11:28:58 От OTUS Онлайн-образование : {Home:/Users/a.zheltak Port:3000 IsProduction:true Hosts:[host1 host2 host3] Duration:1s TempFolder:${HOME}/tmp} 11:29:15 От OTUS Онлайн-образование : PRODUCTION=true HOSTS="host1:host2:host3" DURATION=1s go run ./caarlos-env/main.go 11:29:38 От Dmitry Pavlov : да 11:29:39 От Mike Deruygin : + 11:29:43 От Mikhail : Когда валидация значений делается? Отдельный метод пишется? 11:29:45 От Vyacheslav.Sitnikov : да 11:29:46 От Vyacheslav.Sitnikov : нет 11:29:51 От Mike Deruygin : - 11:30:05 От Vyacheslav.Sitnikov : да, понятно, нет - нет вопросов 11:30:24 От Mikhail : скажем номер порта 0-65535 11:31:07 От Mikhail : я думаю что это уже аварийная ситуация которая неизвестно когда случится 11:32:27 От Mikhail : да 11:32:47 От Dmitry Pavlov : goland 11:32:47 От Nikolay Yakubitskiy : goland 11:32:50 От Vyacheslav.Sitnikov : квадрат малевиса 11:32:54 От Vyacheslav.Sitnikov : ч 11:32:59 От Mikhail : + 11:33:00 От Dmitry Pavlov : да 11:33:00 От Mike Deruygin : + 11:33:01 От Vyacheslav.Sitnikov : да 11:35:04 От Dmitry Pavlov : что такое etcd? 11:35:08 От Dmitry Pavlov : вкратце 11:35:39 От Mike Deruygin : кворум для БД, насколько я помню 11:35:47 От Vyacheslav.Sitnikov : это хранилище ключей 11:36:21 От Dmitry Pavlov : нет 11:36:23 От andrei : нет 11:36:25 От Mike Deruygin : нет 11:37:27 От Vyacheslav.Sitnikov : подробнее можно 11:38:37 От Vyacheslav.Sitnikov : нас про горутины уже объясняли, и там про контект ничего не говорили 11:39:00 От Dmitry Pavlov : я так понимаю это более высокоуровневая обертка 11:40:02 От Mike Deruygin : + 11:40:03 От Dmitry Pavlov : + 11:40:06 От andrei : + 11:41:05 От Dmitry Pavlov : про контекст 11:41:06 От Vyacheslav.Sitnikov : То есть они перетирают только то, что есть в следующем? То чего нет - остаётся? 11:41:33 От Dmitry Pavlov : с каналами внутри 11:42:16 От Dmitry Pavlov : нам говорил, что через закрытие каналов можно сделать броадкаст, ну вот это видимо про это 11:42:17 От Mike Deruygin : интересная штука 11:43:12 От Dmitry Pavlov : нет 11:43:14 От Mike Deruygin : - 11:43:32 От andrei : от кобры 11:43:56 От andrei : ошибки 11:43:58 От andrei : падения 11:44:12 От Vyacheslav.Sitnikov : Положить можно уже работающее приложение при неправильных данных 11:44:22 От Grigoriy Zavodov : разные горутины работают с разными настройками? 11:45:33 От Vyacheslav.Sitnikov : при появлении нового конфига, убить горутины и запустить зангого с новыми настройкми 11:46:49 От Grigoriy Zavodov : у нас кооперативная многозадачность убить может быть сложно 11:47:02 От Vyacheslav.Sitnikov : Ну да, у нас бул урок, как им сообщить, что всё, пора заканчивать работу 11:48:17 От Vyacheslav.Sitnikov : Так нельзя. Вдруг микросервис считывает с кролика и кладёт в БД, его нельзя убивать когда он считал данные, но ещё не записал 11:48:57 От Mikhail : Когда использовать Viper, когда Confita? 11:49:28 От Mike Deruygin : когда надоест caarlos0) 11:49:51 От Vyacheslav.Sitnikov : автоматический ask 11:50:06 От Nikolay Yakubitskiy : кролику вернется в очередь 11:50:15 От Nikolay Yakubitskiy : да 11:50:31 От Mike Deruygin : + 11:50:31 От andrei : + 11:50:37 От Vyacheslav.Sitnikov : - 11:52:06 От Vyacheslav.Sitnikov : ye nfr gjxtve njulf chfpe dfqgth yt bcgjkmpjdfnm& 11:52:17 От Vyacheslav.Sitnikov : Ну почему тогда сразу вайпер не использовать? 11:54:43 От andrei : а дефолт 11:55:02 От andrei : ок 11:55:11 От Mike Deruygin : а если убрать FO_ он поймет , что надо добавить префикс в setenv? 11:55:38 От Mike Deruygin : а, точно, понял 11:55:41 От Mike Deruygin : спасибо 11:55:51 От andrei : - 11:55:52 От Mike Deruygin : - 11:55:52 От Dmitry Pavlov : Нет 11:55:53 От Mikhail : - 11:55:54 От Vyacheslav.Sitnikov : - 11:57:26 От Vyacheslav.Sitnikov : он сам определит json э 11:57:32 От Vyacheslav.Sitnikov : то или yaml 11:58:18 От Vyacheslav.Sitnikov : а давайте из него yaml cltkftv 11:58:20 От Mike Deruygin : + 11:58:24 От Vyacheslav.Sitnikov : сделаем 11:59:28 От Vyacheslav.Sitnikov : а ini файлы понимает? :) 11:59:50 От Mikhail : он toml умеет 12:00:43 От Vyacheslav.Sitnikov : [section] data=value 12:00:43 От Mikhail : [section] kay=value 12:01:16 От Vyacheslav.Sitnikov : а vault gjllth;bdftn& 12:01:23 От Vyacheslav.Sitnikov : поддерживает 12:01:25 От Vyacheslav.Sitnikov : ? 12:02:11 От Dmitry Pavlov : возможно у вайпера есть интерфейсы для кастомных парсеров и тогда можно сделать ini поддерживать 12:02:54 От Vyacheslav.Sitnikov : а ему можно задать значение по умолчанию для будевого значения? 12:03:36 От Mike Deruygin : я знаю, когда это удобно, можно сгенерировать конфиг песоцницы и передать его соседнему программеру 12:03:39 От Vyacheslav.Sitnikov : по умолдчанию, bool всегда false, поэтому есть проблема как по умолчанию задать true 12:04:23 От Vyacheslav.Sitnikov : А если это рекурсивное заполнение? 12:04:40 От Vyacheslav.Sitnikov : струкрута содержит саму себя 12:05:11 От Vyacheslav.Sitnikov : потому что я вложенности не знаю заранее 12:05:57 От Vyacheslav.Sitnikov : а не зная вложенности, я не могу выставить заранее переменные для каждой конфигурации в true 12:06:23 От Dmitry Pavlov : лучшке в слаке пример 12:06:37 От Dmitry Pavlov : приведите и задайте вопрсо 12:06:58 От Vyacheslav.Sitnikov : да в слаке уже есть пример, я хотел про вайбер узнать, может он такое или нет 12:07:09 От Mikhail : у viper есть SetDefault 12:08:33 От Mike Deruygin : - 12:08:33 От Mikhail : - 12:08:37 От Vyacheslav.Sitnikov : - 12:08:38 От Eugene Klimov : - 12:09:28 От andrei : анализировать ошмбки 12:09:29 От Dmitry Pavlov : понятно что произошло 12:09:30 От Mike Deruygin : если есть kebana, то придется в json , к сожалению 12:09:35 От Mike Deruygin : а не в текст 12:09:36 От Mikhail : анализировать 12:09:46 От Dmitry Pavlov : графики рисовать 12:10:12 От Mike Deruygin : да, было бы здорово, и как вы выпиливали логи кубера, которые клеются, блин)) 12:10:29 От Mike Deruygin : да, спасибо) 12:11:24 От Vyacheslav.Sitnikov : Почему логгер с задержкой выводит? 12:12:01 От Vyacheslav.Sitnikov : ПРи дебаге, если сделать Log и следом breakpoint поставить - при осмтавновке не будет вывода 12:12:32 От Vyacheslav.Sitnikov : ок, спасибо 12:13:55 От Vyacheslav.Sitnikov : разные кровни 12:13:58 От Vyacheslav.Sitnikov : уровни 12:14:07 От Nikolay Yakubitskiy : + 12:14:49 От Mike Deruygin : + структурирование по полю, типа дать логам метку один раз, а не каждый раз 12:15:17 От Mike Deruygin : да, 12:15:24 От Mike Deruygin : log 'update' 12:16:53 От Vyacheslav.Sitnikov : со стандартным только 12:16:53 От Mike Deruygin : logrus немного 12:17:07 От Dmitry Pavlov : стандартный 12:17:08 От Vyacheslav.Sitnikov : ds - 'nj rnj& 12:17:12 От Vyacheslav.Sitnikov : вы это кто? 12:17:12 От Mike Deruygin : в зависимости от задач 12:17:29 От Vyacheslav.Sitnikov : да откуда ж нам знать :) 12:17:47 От Dmitry Pavlov : угадай логгер) Новая телешоу) 12:18:46 От Dmitry Pavlov : печально 12:19:14 От Vyacheslav.Sitnikov : да навернео взяли первую ссылку из гугла... :) 12:20:48 От Vyacheslav.Sitnikov : а что за atomic ? 12:20:51 От Dmitry Pavlov : конкрурентно 12:20:55 От Dmitry Pavlov : безопасно 12:20:57 От Mike Deruygin : безопасно 12:21:00 От Mike Deruygin : неа 12:21:04 От Grigoriy Zavodov : было 12:21:04 От Dmitry Pavlov : касались) 12:21:36 От Vyacheslav.Sitnikov : Ну так Mutex есть 12:21:46 От Mike Deruygin : ожидаю, 1000, но так не будет 12:21:52 От Dmitry Pavlov : мы это проходили мютех более тяжелый 12:22:05 От Vyacheslav.Sitnikov : хрень там будет с большой степерью вероятности 12:22:07 От Vyacheslav.Sitnikov : и точно меньше 12:23:25 От Mike Deruygin : - 12:23:33 От Mike Deruygin : интересно, спасибо 12:23:33 От andrey : отличная дока , я читал 12:25:37 От Vyacheslav.Sitnikov : а как теперь отлаживать на проде ? :) 12:26:47 От Mike Deruygin : + 12:26:49 От Vyacheslav.Sitnikov : + 12:26:49 От Nikolay Yakubitskiy : + 12:26:50 От Mikhail : + 12:28:56 От Vyacheslav.Sitnikov : я могу дублировать лог? Один в palin text для того чтобы самому читать, второй в json для ELK ? 12:29:43 От Mike Deruygin : + 12:29:48 От Mikhail : + 12:30:40 От Vyacheslav.Sitnikov : а оно может само перехватывать панику? 12:31:54 От Vyacheslav.Sitnikov : например я хочу стектрейс в лог положить при падении 12:33:57 От OTUS Онлайн-образование : Oct 26 12:33:47 [INFO] zap4/main.go:14 This should have a syslog style timestamp 12:34:26 От OTUS Онлайн-образование : Oct 26 12:34:22 [info] zap4/main.go:14 This should have a syslog style timestamp 12:35:45 От Mike Deruygin : у меня есть вопрос про json логи 12:35:51 От Vyacheslav.Sitnikov : чего там за круглешки были на слайде? 12:35:57 От Mike Deruygin : и выпиливание кубер логов 12:35:58 От Dmitry Pavlov : что нибуть про инструменты анализова логов 12:36:32 От OTUS Онлайн-образование : https://otus.ru/polls/4903/ 12:37:26 От Vyacheslav.Sitnikov : - 12:37:27 От Mike Deruygin : - 12:37:30 От Dmitry Pavlov : - 12:37:49 От Vyacheslav.Sitnikov : d 'kfcnbrt njkmrj cj,hfnm 12:37:56 От Vyacheslav.Sitnikov : в эластике только собрать 12:37:59 От andrey : добавляем на входе заголовок и потом везде его учитываем 12:39:30 От andrey : это self-hosted сервис или saas ? 12:39:39 От Dmitry Pavlov : он сам по файлам проходит, или надо куда-то сообщать из кода? 12:40:15 От Dmitry Pavlov : ясно 12:41:45 От Mikhail : best pactice по журналированию и конфигурациям. например, журналирование - это зависимость. Как лучше всего ее добавлять в код? А если потом захочется его сменить? 12:41:50 От Mike Deruygin : куберлоги логи клеются к основным 12:42:31 От Vyacheslav.Sitnikov : а где про 12 факторов почитать можно человеческим языком? 12:42:48 От Vyacheslav.Sitnikov : ну я заранее подготовился бы 12:42:49 От Mike Deruygin : но я так-то не девопс, может это они там с архитектурой нахимичили и это не является стандартной вещей 12:43:15 От andrey : https://12factor.net/ru/ 12:43:25 От Mike Deruygin : тогда не суть,а как вы решали, что логи должны быть в текст, а кебана их принимает в json ? 12:43:30 От OTUS Онлайн-образование : https://12factor.net/ru/ 12:43:55 От OTUS Онлайн-образование : https://github.com/uber-go/guide/blob/master/style.md 12:44:14 От Mike Deruygin : а понятно, спаибо 12:44:58 От Vyacheslav.Sitnikov : - 12:45:05 От Mikhail : - 12:45:07 От Mike Deruygin : у менят, спасибо большое 12:45:16 От Nikolay Yakubitskiy : спасибо! 12:45:18 От OTUS Онлайн-образование : https://otus.ru/polls/4903/ 12:45:25 От Mike Deruygin : хорошего дня 12:45:27 От andrey : плка 12:45:28 От Mikhail : спасибо! 12:45:34 От andrey : пока, спасиюл